Added download progress indicator

This commit is contained in:
Katboi01 2023-12-03 19:42:12 +01:00
parent 30adab4978
commit 3b4ec2ba92
11 changed files with 676 additions and 65 deletions

View File

@ -1852,6 +1852,41 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 168637574} m_GameObject: {fileID: 168637574}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &168833443
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 168833444}
m_Layer: 5
m_Name: Handle Slide Area
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &168833444
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 168833443}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 834154608}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -20, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &175956194 --- !u!1 &175956194
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -2376,6 +2411,81 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 240971854} m_GameObject: {fileID: 240971854}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &252697933
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 252697934}
- component: {fileID: 252697936}
- component: {fileID: 252697935}
m_Layer: 5
m_Name: Background
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &252697934
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 252697933}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 834154608}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.25}
m_AnchorMax: {x: 1, y: 0.75}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &252697935
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 252697933}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &252697936
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 252697933}
m_CullTransparentMesh: 1
--- !u!1 &255280555 --- !u!1 &255280555
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -3667,6 +3777,81 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 322154411} m_GameObject: {fileID: 322154411}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &358173615
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 358173616}
- component: {fileID: 358173618}
- component: {fileID: 358173617}
m_Layer: 5
m_Name: Fill
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &358173616
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 358173615}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 815202162}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &358173617
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 358173615}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &358173618
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 358173615}
m_CullTransparentMesh: 1
--- !u!1 &393246413 --- !u!1 &393246413
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -13679,6 +13864,42 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 814772307} m_GameObject: {fileID: 814772307}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &815202161
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 815202162}
m_Layer: 5
m_Name: Fill Area
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &815202162
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 815202161}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 358173616}
m_Father: {fileID: 834154608}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.25}
m_AnchorMax: {x: 1, y: 0.75}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &817349587 --- !u!1 &817349587
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -14160,6 +14381,96 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 829969186} m_GameObject: {fileID: 829969186}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &834154607
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 834154608}
- component: {fileID: 834154609}
m_Layer: 5
m_Name: Slider
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &834154608
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 834154607}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 252697934}
- {fileID: 815202162}
- {fileID: 168833444}
m_Father: {fileID: 923374609}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: -40, y: 80}
m_Pivot: {x: 0.5, y: 0}
--- !u!114 &834154609
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 834154607}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 67db9e8f0e2ae9c40bc1e2b64352a6b4, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 0}
m_FillRect: {fileID: 358173616}
m_HandleRect: {fileID: 0}
m_Direction: 0
m_MinValue: 0
m_MaxValue: 1
m_WholeNumbers: 0
m_Value: 0
m_OnValueChanged:
m_PersistentCalls:
m_Calls: []
--- !u!1 &835771903 --- !u!1 &835771903
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -15166,6 +15477,98 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 922663354} m_GameObject: {fileID: 922663354}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &923374608
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 923374609}
- component: {fileID: 923374611}
- component: {fileID: 923374610}
- component: {fileID: 923374612}
m_Layer: 5
m_Name: DownloadProgress
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &923374609
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 923374608}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 834154608}
- {fileID: 1345195447}
m_Father: {fileID: 1795849913}
m_RootOrder: 10
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 0}
m_AnchoredPosition: {x: 0, y: 110}
m_SizeDelta: {x: 800, y: 140}
m_Pivot: {x: 0.5, y: 0}
--- !u!114 &923374610
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 923374608}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0.392}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &923374611
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 923374608}
m_CullTransparentMesh: 1
--- !u!114 &923374612
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 923374608}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 69eb9a32154d0fb47a8cead9419d7a24, type: 3}
m_Name:
m_EditorClassIdentifier:
ProgressLabel: {fileID: 1345195448}
ProgressSlider: {fileID: 834154609}
--- !u!1 &925091078 --- !u!1 &925091078
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -19785,6 +20188,140 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1340416476} m_GameObject: {fileID: 1340416476}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &1345195446
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1345195447}
- component: {fileID: 1345195449}
- component: {fileID: 1345195448}
m_Layer: 5
m_Name: Text (TMP)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1345195447
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1345195446}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 923374609}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 40}
m_SizeDelta: {x: 0, y: -80}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1345195448
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1345195446}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: 'Downloading: <filename>'
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 38f9c70d045080845a18307715f00e15, type: 2}
m_sharedMaterial: {fileID: 3861585161733349673, guid: 38f9c70d045080845a18307715f00e15, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4281479730
m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 1024
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!222 &1345195449
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1345195446}
m_CullTransparentMesh: 1
--- !u!1 &1347856242 --- !u!1 &1347856242
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -22715,6 +23252,7 @@ MonoBehaviour:
LoadedCharaButton: {fileID: 6579709008394472268} LoadedCharaButton: {fileID: 6579709008394472268}
BackgroundDropdown: {fileID: 1464018681} BackgroundDropdown: {fileID: 1464018681}
BodyAnimationDropdown: {fileID: 2082327791} BodyAnimationDropdown: {fileID: 2082327791}
DownloadProgress: {fileID: 923374612}
MeshesListContent: {fileID: 6144536939855760294} MeshesListContent: {fileID: 6144536939855760294}
ServantList: {fileID: 5584442607537429347} ServantList: {fileID: 5584442607537429347}
EnemiesList: {fileID: 1924500984} EnemiesList: {fileID: 1924500984}
@ -24520,6 +25058,7 @@ RectTransform:
- {fileID: 1030230481} - {fileID: 1030230481}
- {fileID: 83053481} - {fileID: 83053481}
- {fileID: 922663355} - {fileID: 922663355}
- {fileID: 923374609}
m_Father: {fileID: 1269587798} m_Father: {fileID: 1269587798}
m_RootOrder: 1 m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@ -31,10 +31,18 @@ public class FateAssetManager : MonoBehaviour
callback(outTex); callback(outTex);
} }
public static IEnumerator DownloadText(string url, System.Action<string> callback) public static IEnumerator DownloadText(string url, System.Action<string> callback, System.Action<float> onProgress = null)
{ {
UnityWebRequest www = UnityWebRequest.Get(url); UnityWebRequest www = UnityWebRequest.Get(url);
yield return www.SendWebRequest();
var request = www.SendWebRequest();
while (!request.isDone)
{
onProgress?.Invoke(request.progress);
yield return 0;
}
if (www.result != UnityWebRequest.Result.Success) if (www.result != UnityWebRequest.Result.Success)
{ {
Debug.Log(url); Debug.Log(url);
@ -48,22 +56,29 @@ public class FateAssetManager : MonoBehaviour
} }
} }
public static IEnumerator DownloadBundle(string url, System.Action<AssetBundle> callback) public static IEnumerator DownloadBundle(string url, System.Action<AssetBundle> callback, System.Action<float> onProgress = null)
{ {
Error.Log(Color.green, $"Downloading bundle from {url}"); Error.Log(Color.green, $"Downloading bundle from {url}");
UnityWebRequest www = UnityWebRequestAssetBundle.GetAssetBundle(url); UnityWebRequest www = UnityWebRequest.Get(url);
yield return www.SendWebRequest();
AssetBundle bundlea = null; var request = www.SendWebRequest();
while (!request.isDone)
{
onProgress?.Invoke(request.progress);
yield return 0;
}
if (www.result != UnityWebRequest.Result.Success) if (www.result != UnityWebRequest.Result.Success)
{ {
Error.Log(Color.red, www.error); Debug.Log(url);
Debug.Log(www.error);
callback(null);
} }
else else
{ {
bundlea = DownloadHandlerAssetBundle.GetContent(www); var bytes = www.downloadHandler.data;
callback(AssetBundle.LoadFromMemory(bytes));
} }
callback(bundlea);
} }
} }

View File

@ -53,10 +53,17 @@ public class FateModelBuilder : MonoBehaviour
AssetBundle assetBundle = null; AssetBundle assetBundle = null;
string url = $"{urlBase}/{idNum}"; string url = $"{urlBase}/{idNum}";
yield return FateAssetManager.DownloadBundle(url, (cb) => yield return FateAssetManager.DownloadBundle(url,
{ (cb) =>
assetBundle = cb; {
}); assetBundle = cb;
UIController.Instance.DownloadProgress.SetProgress($"", 1);
},
(progress) =>
{
UIController.Instance.DownloadProgress.SetProgress($"Servants/{idNum}", progress);
}
);
if (assetBundle == null) if (assetBundle == null)
{ {

View File

@ -161,23 +161,30 @@ public class FateViewerMain : MonoBehaviour
{ {
url = $"{AAAPI}NA/basic_servant.json"; url = $"{AAAPI}NA/basic_servant.json";
} }
yield return FateAssetManager.DownloadText(url, (txt) => yield return FateAssetManager.DownloadText(url,
{ (txt) =>
txt = $"{{\"Entries\": {txt} }}";
Servants = Newtonsoft.Json.JsonConvert.DeserializeObject<BasicServant>(txt);
foreach (var servant in Servants.Entries)
{ {
servant.costumes = servant.costume.Select(c => c.Value).ToList(); txt = $"{{\"Entries\": {txt} }}";
if (servant.costumes.FirstOrDefault(c => c.battleCharaId == servant.id) == null) Servants = Newtonsoft.Json.JsonConvert.DeserializeObject<BasicServant>(txt);
servant.costumes.Insert(0, new BasicServant.Costume() foreach (var servant in Servants.Entries)
{ {
battleCharaId = servant.id, servant.costumes = servant.costume.Select(c => c.Value).ToList();
id = 0, if (servant.costumes.FirstOrDefault(c => c.battleCharaId == servant.id) == null)
shortName = servant.name, servant.costumes.Insert(0, new BasicServant.Costume()
}); {
battleCharaId = servant.id,
id = 0,
shortName = servant.name,
});
}
Servants.Entries = Servants.Entries.OrderBy(e => e.collectionNo).ToList();
UIController.Instance.DownloadProgress.SetProgress("", 1);
},
(progress) =>
{
UIController.Instance.DownloadProgress.SetProgress("servant list", progress);
} }
Servants.Entries = Servants.Entries.OrderBy(e => e.collectionNo).ToList(); );
});
if (Servants.Entries.Count > 0) if (Servants.Entries.Count > 0)
{ {
@ -201,36 +208,43 @@ public class FateViewerMain : MonoBehaviour
{ {
string url = $"{AAAPI}JP/basic_svt_lang_en.json"; string url = $"{AAAPI}JP/basic_svt_lang_en.json";
Dictionary<string, List<BasicServant.Costume>> entries = new Dictionary<string, List<BasicServant.Costume>>(); Dictionary<string, List<BasicServant.Costume>> entries = new Dictionary<string, List<BasicServant.Costume>>();
yield return FateAssetManager.DownloadText(url, (txt) => yield return FateAssetManager.DownloadText(url,
{ (txt) =>
txt = $"{{\"Entries\": {txt} }}";
Enemies = Newtonsoft.Json.JsonConvert.DeserializeObject<BasicServant>(txt);
Enemies.Entries = Enemies.Entries.Where(e => e.type == "enemy").ToList();
Enemies.Entries = Enemies.Entries.OrderBy(e => e.name).ToList();
foreach (var enemy in Enemies.Entries)
{ {
enemy.costumes = enemy.costume.Select(c => c.Value).ToList(); txt = $"{{\"Entries\": {txt} }}";
foreach (var costume in enemy.costumes) Enemies = Newtonsoft.Json.JsonConvert.DeserializeObject<BasicServant>(txt);
Enemies.Entries = Enemies.Entries.Where(e => e.type == "enemy").ToList();
Enemies.Entries = Enemies.Entries.OrderBy(e => e.name).ToList();
foreach (var enemy in Enemies.Entries)
{ {
var cos = new BasicServant.Costume() enemy.costumes = enemy.costume.Select(c => c.Value).ToList();
foreach (var costume in enemy.costumes)
{ {
name = costume.name, var cos = new BasicServant.Costume()
shortName = costume.shortName, {
id = costume.id, name = costume.name,
battleCharaId = costume.battleCharaId shortName = costume.shortName,
}; id = costume.id,
if (entries.ContainsKey(enemy.name)) battleCharaId = costume.battleCharaId
{ };
if (!entries[enemy.name].Any(c => c.battleCharaId == costume.battleCharaId)) if (entries.ContainsKey(enemy.name))
entries[enemy.name].Add(cos); {
} if (!entries[enemy.name].Any(c => c.battleCharaId == costume.battleCharaId))
else entries[enemy.name].Add(cos);
{ }
entries[enemy.name] = new List<BasicServant.Costume>() { cos }; else
{
entries[enemy.name] = new List<BasicServant.Costume>() { cos };
}
} }
} }
UIController.Instance.DownloadProgress.SetProgress("", 1);
},
(progress) =>
{
UIController.Instance.DownloadProgress.SetProgress("enemy list", progress);
} }
}); );
if (entries.Count() > 0) if (entries.Count() > 0)
{ {

View File

@ -15,6 +15,7 @@ public class UIController : MonoBehaviour
public GameObject LoadedCharaButton; public GameObject LoadedCharaButton;
public Dropdown BackgroundDropdown; public Dropdown BackgroundDropdown;
public Dropdown BodyAnimationDropdown; public Dropdown BodyAnimationDropdown;
public UIDownloadProgress DownloadProgress;
public Transform MeshesListContent; public Transform MeshesListContent;
public ScrollRect ServantList; public ScrollRect ServantList;
public ScrollRect EnemiesList; public ScrollRect EnemiesList;

View File

@ -0,0 +1,22 @@
using UnityEngine;
using UnityEngine.UI;
public class UIDownloadProgress : MonoBehaviour
{
public TMPro.TMP_Text ProgressLabel;
public Slider ProgressSlider;
public void SetProgress(string itemName, float progress)
{
if(progress == 1)
{
gameObject.SetActive(false);
}
else
{
gameObject.SetActive(true);
ProgressLabel.text = "Downloading: " + itemName;
ProgressSlider.value = progress;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 69eb9a32154d0fb47a8cead9419d7a24
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,10 +1,10 @@
{ {
"dependencies": { "dependencies": {
"com.unity.collab-proxy": "1.17.0", "com.unity.collab-proxy": "1.17.6",
"com.unity.ide.rider": "2.0.7", "com.unity.ide.rider": "3.0.16",
"com.unity.ide.visualstudio": "2.0.16", "com.unity.ide.visualstudio": "2.0.16",
"com.unity.ide.vscode": "1.2.5", "com.unity.ide.vscode": "1.2.5",
"com.unity.test-framework": "1.1.31", "com.unity.test-framework": "1.1.33",
"com.unity.textmeshpro": "3.0.6", "com.unity.textmeshpro": "3.0.6",
"com.unity.timeline": "1.4.8", "com.unity.timeline": "1.4.8",
"com.unity.ugui": "1.0.0", "com.unity.ugui": "1.0.0",

View File

@ -1,7 +1,7 @@
{ {
"dependencies": { "dependencies": {
"com.unity.collab-proxy": { "com.unity.collab-proxy": {
"version": "1.17.0", "version": "1.17.6",
"depth": 0, "depth": 0,
"source": "registry", "source": "registry",
"dependencies": { "dependencies": {
@ -17,11 +17,11 @@
"url": "https://packages.unity.com" "url": "https://packages.unity.com"
}, },
"com.unity.ide.rider": { "com.unity.ide.rider": {
"version": "2.0.7", "version": "3.0.16",
"depth": 0, "depth": 0,
"source": "registry", "source": "registry",
"dependencies": { "dependencies": {
"com.unity.test-framework": "1.1.1" "com.unity.ext.nunit": "1.0.6"
}, },
"url": "https://packages.unity.com" "url": "https://packages.unity.com"
}, },
@ -51,7 +51,7 @@
"url": "https://packages.unity.com" "url": "https://packages.unity.com"
}, },
"com.unity.test-framework": { "com.unity.test-framework": {
"version": "1.1.31", "version": "1.1.33",
"depth": 0, "depth": 0,
"source": "registry", "source": "registry",
"dependencies": { "dependencies": {

View File

@ -3,7 +3,7 @@
--- !u!129 &1 --- !u!129 &1
PlayerSettings: PlayerSettings:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
serializedVersion: 22 serializedVersion: 23
productGUID: 6b0381207982d8f4d9fbf1024de2a6af productGUID: 6b0381207982d8f4d9fbf1024de2a6af
AndroidProfiler: 0 AndroidProfiler: 0
AndroidFilterTouchesWhenObscured: 0 AndroidFilterTouchesWhenObscured: 0
@ -134,7 +134,7 @@ PlayerSettings:
16:10: 1 16:10: 1
16:9: 1 16:9: 1
Others: 1 Others: 1
bundleVersion: 2.4.2 bundleVersion: 2.4.3
preloadedAssets: [] preloadedAssets: []
metroInputSource: 0 metroInputSource: 0
wsaTransparentSwapchain: 0 wsaTransparentSwapchain: 0
@ -532,6 +532,7 @@ PlayerSettings:
switchNetworkInterfaceManagerInitializeEnabled: 1 switchNetworkInterfaceManagerInitializeEnabled: 1
switchPlayerConnectionEnabled: 1 switchPlayerConnectionEnabled: 1
switchUseNewStyleFilepaths: 0 switchUseNewStyleFilepaths: 0
switchUseLegacyFmodPriorities: 1
switchUseMicroSleepForYield: 1 switchUseMicroSleepForYield: 1
switchEnableRamDiskSupport: 0 switchEnableRamDiskSupport: 0
switchMicroSleepForYieldTime: 25 switchMicroSleepForYieldTime: 25
@ -724,6 +725,7 @@ PlayerSettings:
m_VersionName: m_VersionName:
apiCompatibilityLevel: 6 apiCompatibilityLevel: 6
activeInputHandler: 0 activeInputHandler: 0
windowsGamepadBackendHint: 0
cloudProjectId: cloudProjectId:
framebufferDepthMemorylessMode: 0 framebufferDepthMemorylessMode: 0
qualitySettingsNames: [] qualitySettingsNames: []

View File

@ -1,2 +1,2 @@
m_EditorVersion: 2020.3.37f1 m_EditorVersion: 2020.3.42f1
m_EditorVersionWithRevision: 2020.3.37f1 (8c66806a0c04) m_EditorVersionWithRevision: 2020.3.42f1 (7ade1201f527)