From 1670ee29ade29d5ff5da8af949b697b5c0efc0c7 Mon Sep 17 00:00:00 2001 From: minenice55 Date: Sat, 9 Dec 2023 22:18:47 -0500 Subject: [PATCH] epilogue screen --- .../RemixProperties/RemixFlavour.prefab | 19 + .../UI/Ratings/Animation/Canvas.controller | 101 +++ .../Ratings/Animation/Canvas.controller.meta | 8 + .../UI/Ratings/Animation/EpilogueOpen.anim | 413 ++++++++++++ .../Ratings/Animation/EpilogueOpen.anim.meta | 8 + .../Sprites/UI/Ratings/Animation/NoPose.anim | 53 ++ .../UI/Ratings/Animation/NoPose.anim.meta | 8 + Assets/Scenes/Editor.unity | 604 +++++++++++++++++- Assets/Scenes/Judgement.unity | 519 +++++++++++++-- Assets/Scenes/Opening.unity | 2 +- Assets/Scripts/Conductor.cs | 7 +- Assets/Scripts/JudgementManager.cs | 90 ++- .../ImageChartResourcePrefab.cs | 125 ++++ .../ImageChartResourcePrefab.cs.meta | 11 + .../RemixPropertiesDialog.cs | 1 + .../Tabs/ChartInfoProperties.cs | 16 + Assets/Scripts/Minigames.cs | 19 + Assets/Scripts/Util/EntityTypes.cs | 21 + Packages/packages-lock.json | 2 +- 19 files changed, 1950 insertions(+), 77 deletions(-) create mode 100644 Assets/Resources/Sprites/UI/Ratings/Animation/Canvas.controller create mode 100644 Assets/Resources/Sprites/UI/Ratings/Animation/Canvas.controller.meta create mode 100644 Assets/Resources/Sprites/UI/Ratings/Animation/EpilogueOpen.anim create mode 100644 Assets/Resources/Sprites/UI/Ratings/Animation/EpilogueOpen.anim.meta create mode 100644 Assets/Resources/Sprites/UI/Ratings/Animation/NoPose.anim create mode 100644 Assets/Resources/Sprites/UI/Ratings/Animation/NoPose.anim.meta create mode 100644 Assets/Scripts/LevelEditor/RemixPropertiesDialog/PropertyPrefabs/ImageChartResourcePrefab.cs create mode 100644 Assets/Scripts/LevelEditor/RemixPropertiesDialog/PropertyPrefabs/ImageChartResourcePrefab.cs.meta diff --git a/Assets/Resources/Prefabs/Editor/RemixProperties/RemixFlavour.prefab b/Assets/Resources/Prefabs/Editor/RemixProperties/RemixFlavour.prefab index 2cdcec20f..9ac0699cd 100644 --- a/Assets/Resources/Prefabs/Editor/RemixProperties/RemixFlavour.prefab +++ b/Assets/Resources/Prefabs/Editor/RemixProperties/RemixFlavour.prefab @@ -830,6 +830,7 @@ MonoBehaviour: DropdownP: {fileID: 0} ColorP: {fileID: 0} StringP: {fileID: 0} + ImageP: {fileID: 0} DividerP: {fileID: 0} HeaderP: {fileID: 0} SubHeaderP: {fileID: 0} @@ -852,3 +853,21 @@ MonoBehaviour: - tag: resultcommon_ng label: Try Again Message isReadOnly: 0 + - tag: epilogue_hi + label: Superb Epilogue Caption + isReadOnly: 0 + - tag: epilogue_ok + label: OK Epilogue Caption + isReadOnly: 0 + - tag: epilogue_ng + label: Try Again Epilogue Caption + isReadOnly: 0 + - tag: epilogue_hi_res + label: Superb Epilogue Image + isReadOnly: 0 + - tag: epilogue_ok_res + label: OK Epilogue Image + isReadOnly: 0 + - tag: epilogue_ng_res + label: Try Again Epilogue Image + isReadOnly: 0 diff --git a/Assets/Resources/Sprites/UI/Ratings/Animation/Canvas.controller b/Assets/Resources/Sprites/UI/Ratings/Animation/Canvas.controller new file mode 100644 index 000000000..88c942030 --- /dev/null +++ b/Assets/Resources/Sprites/UI/Ratings/Animation/Canvas.controller @@ -0,0 +1,101 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1107 &-2857926500380383112 +AnimatorStateMachine: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Base Layer + m_ChildStates: + - serializedVersion: 1 + m_State: {fileID: 1032036711794021443} + m_Position: {x: 200, y: 0, z: 0} + - serializedVersion: 1 + m_State: {fileID: 80061501014025919} + m_Position: {x: 235, y: 65, z: 0} + m_ChildStateMachines: [] + m_AnyStateTransitions: [] + m_EntryTransitions: [] + m_StateMachineTransitions: {} + m_StateMachineBehaviours: [] + m_AnyStatePosition: {x: 50, y: 20, z: 0} + m_EntryPosition: {x: 50, y: 120, z: 0} + m_ExitPosition: {x: 800, y: 120, z: 0} + m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} + m_DefaultState: {fileID: 80061501014025919} +--- !u!91 &9100000 +AnimatorController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Canvas + serializedVersion: 5 + m_AnimatorParameters: [] + m_AnimatorLayers: + - serializedVersion: 5 + m_Name: Base Layer + m_StateMachine: {fileID: -2857926500380383112} + m_Mask: {fileID: 0} + m_Motions: [] + m_Behaviours: [] + m_BlendingMode: 0 + m_SyncedLayerIndex: -1 + m_DefaultWeight: 0 + m_IKPass: 0 + m_SyncedLayerAffectsTiming: 0 + m_Controller: {fileID: 9100000} +--- !u!1102 &80061501014025919 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: NoPose + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: 0c1085644b4c92142a3817b7482d590e, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: +--- !u!1102 &1032036711794021443 +AnimatorState: + serializedVersion: 6 + m_ObjectHideFlags: 1 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: EpilogueOpen + m_Speed: 1 + m_CycleOffset: 0 + m_Transitions: [] + m_StateMachineBehaviours: [] + m_Position: {x: 50, y: 50, z: 0} + m_IKOnFeet: 0 + m_WriteDefaultValues: 1 + m_Mirror: 0 + m_SpeedParameterActive: 0 + m_MirrorParameterActive: 0 + m_CycleOffsetParameterActive: 0 + m_TimeParameterActive: 0 + m_Motion: {fileID: 7400000, guid: e33f2cb592953c04e9c8684dda5695e8, type: 2} + m_Tag: + m_SpeedParameter: + m_MirrorParameter: + m_CycleOffsetParameter: + m_TimeParameter: diff --git a/Assets/Resources/Sprites/UI/Ratings/Animation/Canvas.controller.meta b/Assets/Resources/Sprites/UI/Ratings/Animation/Canvas.controller.meta new file mode 100644 index 000000000..33df74978 --- /dev/null +++ b/Assets/Resources/Sprites/UI/Ratings/Animation/Canvas.controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a1df355505604ac45a20d993c3c93bd6 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 9100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/UI/Ratings/Animation/EpilogueOpen.anim b/Assets/Resources/Sprites/UI/Ratings/Animation/EpilogueOpen.anim new file mode 100644 index 000000000..e911ebec5 --- /dev/null +++ b/Assets/Resources/Sprites/UI/Ratings/Animation/EpilogueOpen.anim @@ -0,0 +1,413 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: EpilogueOpen + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.16666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.06657879 + - serializedVersion: 3 + time: 0.6666667 + value: 3768 + inSlope: 10104.835 + outSlope: 10104.835 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.03990352 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 3768 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_SizeDelta.y + path: Epilogue/EpilogueMask + classID: 224 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.16666667 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: Epilogue + classID: 1 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.r + path: Epilogue/EpilogueMask/TraCover + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.g + path: Epilogue/EpilogueMask/TraCover + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.b + path: Epilogue/EpilogueMask/TraCover + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: -1.5 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.6666667 + value: 0 + inSlope: -1.5 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: Epilogue/EpilogueMask/TraCover + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: + - serializedVersion: 2 + path: 322187374 + attribute: 38095219 + script: {fileID: 0} + typeID: 224 + customType: 28 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 3661833601 + attribute: 2086281974 + script: {fileID: 0} + typeID: 1 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2426085374 + attribute: 304273561 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + typeID: 114 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2426085374 + attribute: 2526845255 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + typeID: 114 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2426085374 + attribute: 4215373228 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + typeID: 114 + customType: 0 + isPPtrCurve: 0 + - serializedVersion: 2 + path: 2426085374 + attribute: 2334886179 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + typeID: 114 + customType: 0 + isPPtrCurve: 0 + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.16666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.06657879 + - serializedVersion: 3 + time: 0.6666667 + value: 3768 + inSlope: 10104.835 + outSlope: 10104.835 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.03990352 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 3768 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_SizeDelta.y + path: Epilogue/EpilogueMask + classID: 224 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0.16666667 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 1 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: Epilogue + classID: 1 + script: {fileID: 0} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.r + path: Epilogue/EpilogueMask/TraCover + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.g + path: Epilogue/EpilogueMask/TraCover + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.b + path: Epilogue/EpilogueMask/TraCover + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + - curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: -1.5 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 0.6666667 + value: 0 + inSlope: -1.5 + outSlope: 0 + tangentMode: 69 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_Color.a + path: Epilogue/EpilogueMask/TraCover + classID: 114 + script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/UI/Ratings/Animation/EpilogueOpen.anim.meta b/Assets/Resources/Sprites/UI/Ratings/Animation/EpilogueOpen.anim.meta new file mode 100644 index 000000000..f529c86b9 --- /dev/null +++ b/Assets/Resources/Sprites/UI/Ratings/Animation/EpilogueOpen.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e33f2cb592953c04e9c8684dda5695e8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Sprites/UI/Ratings/Animation/NoPose.anim b/Assets/Resources/Sprites/UI/Ratings/Animation/NoPose.anim new file mode 100644 index 000000000..1ba860fa1 --- /dev/null +++ b/Assets/Resources/Sprites/UI/Ratings/Animation/NoPose.anim @@ -0,0 +1,53 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!74 &7400000 +AnimationClip: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: NoPose + serializedVersion: 6 + m_Legacy: 0 + m_Compressed: 0 + m_UseHighQualityCurve: 1 + m_RotationCurves: [] + m_CompressedRotationCurves: [] + m_EulerCurves: [] + m_PositionCurves: [] + m_ScaleCurves: [] + m_FloatCurves: [] + m_PPtrCurves: [] + m_SampleRate: 60 + m_WrapMode: 0 + m_Bounds: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0, y: 0, z: 0} + m_ClipBindingConstant: + genericBindings: [] + pptrCurveMapping: [] + m_AnimationClipSettings: + serializedVersion: 2 + m_AdditiveReferencePoseClip: {fileID: 0} + m_AdditiveReferencePoseTime: 0 + m_StartTime: 0 + m_StopTime: 1 + m_OrientationOffsetY: 0 + m_Level: 0 + m_CycleOffset: 0 + m_HasAdditiveReferencePose: 0 + m_LoopTime: 0 + m_LoopBlend: 0 + m_LoopBlendOrientation: 0 + m_LoopBlendPositionY: 0 + m_LoopBlendPositionXZ: 0 + m_KeepOriginalOrientation: 0 + m_KeepOriginalPositionY: 1 + m_KeepOriginalPositionXZ: 0 + m_HeightFromFeet: 0 + m_Mirror: 0 + m_EditorCurves: [] + m_EulerEditorCurves: [] + m_HasGenericRootTransform: 0 + m_HasMotionFloatCurves: 0 + m_Events: [] diff --git a/Assets/Resources/Sprites/UI/Ratings/Animation/NoPose.anim.meta b/Assets/Resources/Sprites/UI/Ratings/Animation/NoPose.anim.meta new file mode 100644 index 000000000..632acd1f3 --- /dev/null +++ b/Assets/Resources/Sprites/UI/Ratings/Animation/NoPose.anim.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0c1085644b4c92142a3817b7482d590e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 7400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Editor.unity b/Assets/Scenes/Editor.unity index 80bb8bc9e..b72bb8606 100644 --- a/Assets/Scenes/Editor.unity +++ b/Assets/Scenes/Editor.unity @@ -371,9 +371,9 @@ RectTransform: m_Father: {fileID: 574002313} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: -21} m_SizeDelta: {x: 32, y: 32} m_Pivot: {x: 0, y: 0.5} --- !u!114 &9435782 @@ -3538,9 +3538,9 @@ RectTransform: m_Father: {fileID: 539838476} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 32, y: -21} m_SizeDelta: {x: 32, y: 32} m_Pivot: {x: 1, y: 0.5} --- !u!114 &121871281 @@ -3683,9 +3683,9 @@ RectTransform: m_Father: {fileID: 539838476} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 72, y: -21} m_SizeDelta: {x: 32, y: 32} m_Pivot: {x: 1, y: 0.5} --- !u!114 &129013734 @@ -3805,9 +3805,9 @@ RectTransform: m_Father: {fileID: 539838476} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 112, y: -21} m_SizeDelta: {x: 32, y: 32} m_Pivot: {x: 1, y: 0.5} --- !u!114 &151246938 @@ -5947,6 +5947,143 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 233055005} m_CullTransparentMesh: 1 +--- !u!1 &234009497 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 234009498} + - component: {fileID: 234009500} + - component: {fileID: 234009499} + 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 &234009498 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 234009497} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 849339576} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: -100} + m_SizeDelta: {x: 134, y: 120} + m_Pivot: {x: 0, y: 0.5} +--- !u!114 &234009499 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 234009497} + 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: Image Resource + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} + m_sharedMaterial: {fileID: 5250768452915780979, guid: 78e7291cdeccdfc4fa61249845605144, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, 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: 31.75 + m_fontSizeBase: 20 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 3 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 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 &234009500 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 234009497} + m_CullTransparentMesh: 1 --- !u!1 &236484355 GameObject: m_ObjectHideFlags: 0 @@ -10505,7 +10642,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 177.66988, y: -60.01} + m_AnchoredPosition: {x: 177.66989, y: -60.01} m_SizeDelta: {x: 42, y: 42} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &449176922 @@ -10993,6 +11130,143 @@ RectTransform: m_AnchoredPosition: {x: -1, y: 0} m_SizeDelta: {x: -26, y: -28} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &483187227 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 483187228} + - component: {fileID: 483187230} + - component: {fileID: 483187229} + 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 &483187228 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 483187227} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1227102294} + m_RootOrder: 0 + 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: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &483187229 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 483187227} + 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: Upload + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8597c35f18a008c428fc5870aec75766, type: 2} + m_sharedMaterial: {fileID: -6562250930271150993, guid: 8597c35f18a008c428fc5870aec75766, 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: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 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 &483187230 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 483187227} + m_CullTransparentMesh: 1 --- !u!1 &490421832 GameObject: m_ObjectHideFlags: 0 @@ -13393,8 +13667,8 @@ RectTransform: m_GameObject: {fileID: 572765321} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1.0000167, y: 1.0000167, z: 1.0000167} - m_ConstrainProportionsScale: 0 + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 1 m_Children: [] m_Father: {fileID: 529992456} m_RootOrder: 4 @@ -17562,6 +17836,82 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 708484803} m_CullTransparentMesh: 1 +--- !u!1 &712160260 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 712160261} + - component: {fileID: 712160263} + - component: {fileID: 712160262} + m_Layer: 5 + m_Name: Preview + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &712160261 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 712160260} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 849339576} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 464, y: -100} + m_SizeDelta: {x: 320, y: 180} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &712160262 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 712160260} + 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: 0} + m_Type: 0 + 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 &712160263 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 712160260} + m_CullTransparentMesh: 1 --- !u!1 &714669376 GameObject: m_ObjectHideFlags: 0 @@ -20880,6 +21230,90 @@ RectTransform: m_AnchoredPosition: {x: -0.0024414062, y: -14.7400055} m_SizeDelta: {x: -0.01, y: -36.71} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &849339575 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 849339576} + - component: {fileID: 849339578} + - component: {fileID: 849339577} + m_Layer: 5 + m_Name: ImageResource + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &849339576 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 849339575} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.9998665, y: 0.9998665, z: 0.9998665} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 234009498} + - {fileID: 1227102294} + - {fileID: 712160261} + m_Father: {fileID: 1776319213} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 41.500122, y: 107.81357} + m_SizeDelta: {x: 1165, y: 200} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &849339577 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 849339575} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1543b6414667350478cffeb9243f308c, type: 3} + m_Name: + m_EditorClassIdentifier: + caption: {fileID: 234009499} + parameterManager: {fileID: 0} + propertyName: + uploadButton: {fileID: 1227102295} + imagePreview: {fileID: 712160262} +--- !u!114 &849339578 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 849339575} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 3 + m_Spacing: 5 + m_ChildForceExpandWidth: 0 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &856705695 GameObject: m_ObjectHideFlags: 0 @@ -21587,7 +22021,7 @@ MonoBehaviour: m_HandleRect: {fileID: 1589389271} m_Direction: 2 m_Value: 1 - m_Size: 0.99880904 + m_Size: 1 m_NumberOfSteps: 0 m_OnValueChanged: m_PersistentCalls: @@ -26152,7 +26586,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.5} m_AnchorMax: {x: 1, y: 0.5} - m_AnchoredPosition: {x: 0, y: 180.69379} + m_AnchoredPosition: {x: 0, y: 180.6937} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 1} --- !u!222 &1154875945 @@ -27560,6 +27994,128 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1220118243} m_CullTransparentMesh: 1 +--- !u!1 &1227102293 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1227102294} + - component: {fileID: 1227102297} + - component: {fileID: 1227102296} + - component: {fileID: 1227102295} + m_Layer: 5 + m_Name: UploadBtn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1227102294 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1227102293} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 483187228} + m_Father: {fileID: 849339576} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 219, y: -100} + m_SizeDelta: {x: 160, y: 48} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1227102295 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1227102293} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, 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: 1227102296} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1227102296 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1227102293} + 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 &1227102297 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1227102293} + m_CullTransparentMesh: 1 --- !u!1 &1231936948 GameObject: m_ObjectHideFlags: 0 @@ -30012,6 +30568,7 @@ MonoBehaviour: DropdownP: {fileID: 728113665} ColorP: {fileID: 1651196874} StringP: {fileID: 937032842} + ImageP: {fileID: 849339575} DividerP: {fileID: 1503364107} HeaderP: {fileID: 934666994} SubHeaderP: {fileID: 1172723234} @@ -30216,9 +30773,9 @@ RectTransform: m_Father: {fileID: 574002313} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 40, y: -21} m_SizeDelta: {x: 32, y: 32} m_Pivot: {x: 0, y: 0.5} --- !u!114 &1345846031 @@ -38089,6 +38646,7 @@ RectTransform: - {fileID: 1503364108} - {fileID: 934666995} - {fileID: 1172723235} + - {fileID: 849339576} m_Father: {fileID: 529992456} m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -38133,9 +38691,9 @@ RectTransform: m_Father: {fileID: 574002313} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} + m_AnchorMin: {x: 0, y: 1} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 80, y: -21} m_SizeDelta: {x: 32, y: 32} m_Pivot: {x: 0, y: 0.5} --- !u!114 &1783491359 diff --git a/Assets/Scenes/Judgement.unity b/Assets/Scenes/Judgement.unity index 7713c9663..ea7ab99ae 100644 --- a/Assets/Scenes/Judgement.unity +++ b/Assets/Scenes/Judgement.unity @@ -133,9 +133,9 @@ GameObject: m_Component: - component: {fileID: 2289007} - component: {fileID: 2289009} - - component: {fileID: 2289008} + - component: {fileID: 2289010} m_Layer: 5 - m_Name: EdImage + m_Name: EdImageHolder m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -148,49 +148,20 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2289006} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + 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_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 669709241} - m_RootOrder: 0 + m_Children: + - {fileID: 780969116} + m_Father: {fileID: 2040008467} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} m_AnchoredPosition: {x: 0, y: 150} m_SizeDelta: {x: 800, y: 450} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &2289008 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2289006} - 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: 0} - m_Type: 0 - 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 &2289009 CanvasRenderer: m_ObjectHideFlags: 0 @@ -199,6 +170,20 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2289006} m_CullTransparentMesh: 1 +--- !u!114 &2289010 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2289006} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: {x: 0, y: 0, z: 0, w: 0} + m_Softness: {x: 0, y: 0} --- !u!1 &17428504 GameObject: m_ObjectHideFlags: 0 @@ -374,17 +359,17 @@ RectTransform: m_GameObject: {fileID: 98372472} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.9999, y: 0.9999, z: 0.9999} + m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 1 m_Children: - {fileID: 1932988791} - m_Father: {fileID: 669709241} - m_RootOrder: 1 + m_Father: {fileID: 2040008467} + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: -216} - m_SizeDelta: {x: 1000, y: 240} + m_AnchoredPosition: {x: 0, y: -300} + m_SizeDelta: {x: 1280, y: 240} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &98372474 MonoBehaviour: @@ -10395,16 +10380,23 @@ MonoBehaviour: musNg: {fileID: 8300000, guid: a3804382c0f51b742af5e9a6a0fb47ef, type: 3} musOk: {fileID: 8300000, guid: 4f2d2a5e5d575f54e96c0d5c0b490d1a, type: 3} musHi: {fileID: 8300000, guid: bb96be36a3375024f8986d8820129039, type: 3} + jglNg: {fileID: 8300000, guid: fafe3a8c7c727724ba5435964ea65c6b, type: 3} + jglOk: {fileID: 8300000, guid: fe838e0d46133154eb569eea405b4384, type: 3} + jglHi: {fileID: 8300000, guid: fe1f6ef0afa48654b8f7327f8c524a95, type: 3} header: {fileID: 902003161} message0: {fileID: 1702256962} message1: {fileID: 1589589769} message2: {fileID: 1162629855} barText: {fileID: 1606897455} barSlider: {fileID: 906704162} + epilogueMessage: {fileID: 1932988792} + epilogueImage: {fileID: 780969117} + epilogueFitter: {fileID: 780969119} bg: {fileID: 272774269} rankLogo: {fileID: 1569344340} rankAnim: {fileID: 1569344344} scaler: {fileID: 1200697281} + canvasAnim: {fileID: 1200697284} --- !u!320 &560605780 PlayableDirector: m_ObjectHideFlags: 0 @@ -10618,6 +10610,82 @@ AudioSource: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 +--- !u!1 &657777471 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 657777472} + - component: {fileID: 657777474} + - component: {fileID: 657777473} + m_Layer: 5 + m_Name: BG (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &657777472 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 657777471} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.9999, y: 0.9999, z: 0.9999} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1943435224} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 2512, y: 2512} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &657777473 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 657777471} + 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.3529412} + 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: 21300000, guid: 980a12e973c0eb7439b691f7dea65590, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &657777474 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 657777471} + m_CullTransparentMesh: 1 --- !u!1 &669709239 GameObject: m_ObjectHideFlags: 0 @@ -10650,13 +10718,12 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 669709239} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + 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_ConstrainProportionsScale: 0 m_Children: - - {fileID: 2289007} - - {fileID: 98372473} + - {fileID: 2040008467} m_Father: {fileID: 1200697283} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -10665,6 +10732,97 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &780969115 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 780969116} + - component: {fileID: 780969118} + - component: {fileID: 780969117} + - component: {fileID: 780969119} + m_Layer: 5 + m_Name: EdImage + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &780969116 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 780969115} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2289007} + m_RootOrder: 0 + 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: 0, y: 45.2381} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &780969117 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 780969115} + 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: 0} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &780969118 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 780969115} + m_CullTransparentMesh: 1 +--- !u!114 &780969119 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 780969115} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 86710e43de46f6f4bac7c8e50813a599, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AspectMode: 4 + m_AspectRatio: 1.6153846 --- !u!1 &876844699 GameObject: m_ObjectHideFlags: 0 @@ -10894,7 +11052,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &906704161 RectTransform: m_ObjectHideFlags: 0 @@ -11003,7 +11161,7 @@ RectTransform: m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 0} + m_AnchorMax: {x: 0.911, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} @@ -11121,6 +11279,82 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1021706198} m_CullTransparentMesh: 1 +--- !u!1 &1134273854 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1134273855} + - component: {fileID: 1134273857} + - component: {fileID: 1134273856} + m_Layer: 5 + m_Name: TraCover + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1134273855 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1134273854} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2040008467} + m_RootOrder: 3 + 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: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1134273856 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1134273854} + 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: 0, g: 0, b: 0, a: 0} + 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: 7482667652216324306, guid: ef2fa2a75dc283e40b9d4fe1f20dc6fb, type: 3} + m_Type: 0 + 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 &1134273857 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1134273854} + m_CullTransparentMesh: 1 --- !u!1 &1162629853 GameObject: m_ObjectHideFlags: 0 @@ -11270,6 +11504,7 @@ GameObject: - component: {fileID: 1200697282} - component: {fileID: 1200697281} - component: {fileID: 1200697280} + - component: {fileID: 1200697284} m_Layer: 5 m_Name: Canvas m_TagString: Untagged @@ -11361,6 +11596,27 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} +--- !u!95 &1200697284 +Animator: + serializedVersion: 5 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1200697279} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: a1df355505604ac45a20d993c3c93bd6, type: 2} + m_CullingMode: 0 + m_UpdateMode: 0 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_StabilizeFeet: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 + m_KeepAnimatorStateOnDisable: 0 + m_WriteDefaultValuesOnDisable: 0 --- !u!1 &1475451632 GameObject: m_ObjectHideFlags: 0 @@ -12220,6 +12476,83 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1932988790} m_CullTransparentMesh: 1 +--- !u!1 &1943435223 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1943435224} + - component: {fileID: 1943435226} + - component: {fileID: 1943435225} + m_Layer: 5 + m_Name: BG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1943435224 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943435223} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 657777472} + m_Father: {fileID: 2040008467} + m_RootOrder: 0 + 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: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1943435225 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943435223} + 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: 0, g: 0, b: 0, 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: 7482667652216324306, guid: ef2fa2a75dc283e40b9d4fe1f20dc6fb, type: 3} + m_Type: 0 + 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 &1943435226 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1943435223} + m_CullTransparentMesh: 1 --- !u!1 &2003623134 GameObject: m_ObjectHideFlags: 0 @@ -12257,6 +12590,100 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2040008466 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2040008467} + - component: {fileID: 2040008470} + - component: {fileID: 2040008469} + - component: {fileID: 2040008468} + m_Layer: 5 + m_Name: EpilogueMask + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2040008467 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2040008466} + 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_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1943435224} + - {fileID: 2289007} + - {fileID: 98372473} + - {fileID: 1134273855} + m_Father: {fileID: 669709241} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 3768, y: 3768} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2040008468 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2040008466} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ShowMaskGraphic: 0 +--- !u!114 &2040008469 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2040008466} + 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: 0, b: 0, 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: -2413806693520163455, guid: bc88d6ad84763e146a8a1618d386f8e4, type: 3} + m_Type: 0 + m_PreserveAspect: 1 + m_FillCenter: 1 + m_FillMethod: 0 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 1 + m_UseSpriteMesh: 1 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &2040008470 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2040008466} + m_CullTransparentMesh: 1 --- !u!1 &2086822065 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/Opening.unity b/Assets/Scenes/Opening.unity index 25718bc42..62663dcea 100644 --- a/Assets/Scenes/Opening.unity +++ b/Assets/Scenes/Opening.unity @@ -851,7 +851,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!224 &1826613666 RectTransform: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Conductor.cs b/Assets/Scripts/Conductor.cs index 2108dccd6..d01560513 100644 --- a/Assets/Scripts/Conductor.cs +++ b/Assets/Scripts/Conductor.cs @@ -231,16 +231,17 @@ namespace HeavenStudio Util.SoundByte.PauseOneShots(); } - public void Stop(double time) + public void Stop(double beat) { if (absTimeAdjust != 0) { Debug.Log($"Last playthrough had a dsp (audio) drift of {absTimeAdjust}.\nConsider increasing audio buffer size if audio distortion was present."); } - this.time = time; + songPosBeat = beat; + time = GetSongPosFromBeat(beat); songPos = time; - songPosBeat = 0; + absTimeAdjust = 0; isPlaying = false; diff --git a/Assets/Scripts/JudgementManager.cs b/Assets/Scripts/JudgementManager.cs index 970ef9b75..018fcb94a 100644 --- a/Assets/Scripts/JudgementManager.cs +++ b/Assets/Scripts/JudgementManager.cs @@ -7,6 +7,7 @@ using UnityEngine.UI; using TMPro; using Jukebox; using UnityEngine.Playables; +using UnityEngine.Networking; using HeavenStudio.Games; using HeavenStudio.InputSystem; @@ -79,6 +80,7 @@ namespace HeavenStudio [SerializeField] AudioClip rankNg, rankOk, rankHi; [SerializeField] AudioClip musNgStart, musOkStart, musHiStart; [SerializeField] AudioClip musNg, musOk, musHi; + [SerializeField] AudioClip jglNg, jglOk, jglHi; [Header("References")] [SerializeField] TMP_Text header; @@ -88,13 +90,18 @@ namespace HeavenStudio [SerializeField] TMP_Text barText; [SerializeField] Slider barSlider; + [SerializeField] TMP_Text epilogueMessage; + [SerializeField] Image epilogueImage; + [SerializeField] AspectRatioFitter epilogueFitter; + [SerializeField] GameObject bg; [SerializeField] GameObject rankLogo; [SerializeField] Animator rankAnim; [SerializeField] CanvasScaler scaler; + [SerializeField] Animator canvasAnim; AudioSource audioSource; - bool twoMessage = false, barStarted = false, didRank = false; + bool twoMessage = false, barStarted = false, didRank = false, didEpilogue = false; float barTime = 0, barStartTime = float.MaxValue; public void PrepareJudgement() @@ -131,6 +138,60 @@ namespace HeavenStudio message2.gameObject.SetActive(false); message0.text = " "; } + + string imagePath = ""; + string imageName = ""; + EntityTypes.Resource? imageResource; + if (judgementInfo.finalScore < Minigame.rankOkThreshold) + { + imageResource = playedBeatmap != null ? playedBeatmap["epilogue_ng_res"] : null; + } + else if (judgementInfo.finalScore < Minigame.rankHiThreshold) + { + imageResource = playedBeatmap != null ? playedBeatmap["epilogue_ok_res"] : null; + } + else + { + imageResource = playedBeatmap != null ? playedBeatmap["epilogue_hi_res"] : null; + } + + if (imageResource != null) + { + imagePath = imageResource.Value.path; + imageName = imageResource.Value.name; + try + { + string fsPath = RiqFileHandler.GetResourcePath(imageName, imagePath); + // fetch the image using UnityWebRequest + StartCoroutine(LoadImage(fsPath)); + } + catch (System.IO.DirectoryNotFoundException) + { + Debug.Log("image resource doesn't exist, using blank placeholder"); + epilogueImage.sprite = null; + epilogueFitter.aspectRatio = 16f / 9f; + } + } + } + + IEnumerator LoadImage(string path) + { + UnityWebRequest www = UnityWebRequestTexture.GetTexture("file://" + path); + yield return www.SendWebRequest(); + + if (www.result == UnityWebRequest.Result.ConnectionError) + { + Debug.Log(www.error); + epilogueImage.sprite = null; + epilogueFitter.aspectRatio = 16f / 9f; + } + else + { + Texture2D texture = DownloadHandlerTexture.GetContent(www); + epilogueImage.sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f)); + epilogueImage.preserveAspect = true; + epilogueFitter.aspectRatio = (float)texture.width / (float)texture.height; + } } public void ShowMessage0() @@ -197,7 +258,6 @@ namespace HeavenStudio rankAnim.Play("Hi"); audioSource.PlayOneShot(rankHi); } - didRank = true; } public void StartRankMusic() @@ -223,6 +283,7 @@ namespace HeavenStudio audioSource.loop = true; audioSource.PlayScheduled(AudioSettings.dspTime + musHiStart.length); } + didRank = true; } private void Start() @@ -247,9 +308,32 @@ namespace HeavenStudio InputController currentController = PlayerInput.GetInputController(1); if (currentController.GetLastButtonDown() > 0) { - if (didRank) + if (didRank && !didEpilogue) { // start the sequence for epilogue + canvasAnim.Play("EpilogueOpen"); + audioSource.Stop(); + if (judgementInfo.finalScore < Minigame.rankOkThreshold) + { + epilogueMessage.text = playedBeatmap != null ? playedBeatmap["epilogue_ng"] : "Try Again picture"; + audioSource.PlayOneShot(jglNg); + } + else if (judgementInfo.finalScore < Minigame.rankHiThreshold) + { + epilogueMessage.text = playedBeatmap != null ? playedBeatmap["epilogue_ok"] : "OK picture"; + audioSource.PlayOneShot(jglOk); + } + else + { + epilogueMessage.text = playedBeatmap != null ? playedBeatmap["epilogue_hi"] : "Superb picture"; + audioSource.PlayOneShot(jglHi); + } + didEpilogue = true; + } + else if (didEpilogue) + { + audioSource.Stop(); + RiqFileHandler.ClearCache(); GlobalGameManager.LoadScene("Title", 0.35f, 0.5f); } else if (barStarted) diff --git a/Assets/Scripts/LevelEditor/RemixPropertiesDialog/PropertyPrefabs/ImageChartResourcePrefab.cs b/Assets/Scripts/LevelEditor/RemixPropertiesDialog/PropertyPrefabs/ImageChartResourcePrefab.cs new file mode 100644 index 000000000..ec0b51b5a --- /dev/null +++ b/Assets/Scripts/LevelEditor/RemixPropertiesDialog/PropertyPrefabs/ImageChartResourcePrefab.cs @@ -0,0 +1,125 @@ +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.Networking; +using System.Linq; +using System.IO; + +using SFB; +using Jukebox; +using TMPro; +using System.Collections; + +namespace HeavenStudio.Editor +{ + public class ImageChartResourcePrefab : RemixPropertyPrefab + { + [Header("Image Resource")] + [Space(10)] + [SerializeField] Button uploadButton; + [SerializeField] Image imagePreview; + + string resourcePath; + string resourceName; + + new public void SetProperties(RemixPropertiesDialog diag, string propertyName, object type, string caption) + { + InitProperties(diag, propertyName, caption); + + EntityTypes.Resource resource = (EntityTypes.Resource) parameterManager.chart[propertyName]; + resourcePath = resource.path; + resourceName = resource.name; + if (resourcePath != null) + { + try + { + string fsPath = RiqFileHandler.GetResourcePath(resourceName, resourcePath); + // fetch the image using UnityWebRequest + parameterManager.StartCoroutine(LoadImage(fsPath)); + } + catch (System.IO.DirectoryNotFoundException) + { + Debug.Log("image resource doesn't exist, using blank placeholder"); + imagePreview.sprite = null; + } + } + + uploadButton.onClick.AddListener( + () => + { + UploadImage(); + } + ); + } + + private void UploadImage() + { + var extensions = new[] + { + new ExtensionFilter("Image Files", "png", "jpg", "jpeg" ), + }; + + StandaloneFileBrowser.OpenFilePanelAsync("Open Image", "", extensions, false, (string[] paths) => + { + var path = Path.Combine(paths); + if (path == string.Empty) + { + return; + } + + try + { + // fetch the image using UnityWebRequest + StartCoroutine(UploadImage(path)); + } + catch (System.Exception e) + { + Debug.LogError($"Error uploading image: {e.Message}"); + GlobalGameManager.ShowErrorMessage("Error Uploading Image", e.Message + "\n\n" + e.StackTrace); + return; + } + }); + } + + IEnumerator LoadImage(string path) + { + UnityWebRequest www = UnityWebRequestTexture.GetTexture("file://" + path); + yield return www.SendWebRequest(); + + if (www.result == UnityWebRequest.Result.ConnectionError) + { + Debug.Log(www.error); + imagePreview.sprite = null; + } + else + { + Texture2D texture = DownloadHandlerTexture.GetContent(www); + imagePreview.sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f)); + imagePreview.preserveAspect = true; + } + } + + IEnumerator UploadImage(string path) + { + UnityWebRequest www = UnityWebRequestTexture.GetTexture("file://" + path); + yield return www.SendWebRequest(); + + if (www.result == UnityWebRequest.Result.ConnectionError) + { + Debug.Log(www.error); + imagePreview.sprite = null; + } + else + { + Texture2D texture = DownloadHandlerTexture.GetContent(www); + imagePreview.sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f)); + imagePreview.preserveAspect = true; + RiqFileHandler.AddResource(path, resourceName, resourcePath); + Debug.Log("Uploaded image successfully!"); + } + } + + private void Update() + { + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/LevelEditor/RemixPropertiesDialog/PropertyPrefabs/ImageChartResourcePrefab.cs.meta b/Assets/Scripts/LevelEditor/RemixPropertiesDialog/PropertyPrefabs/ImageChartResourcePrefab.cs.meta new file mode 100644 index 000000000..27b35fc97 --- /dev/null +++ b/Assets/Scripts/LevelEditor/RemixPropertiesDialog/PropertyPrefabs/ImageChartResourcePrefab.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1543b6414667350478cffeb9243f308c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/LevelEditor/RemixPropertiesDialog/RemixPropertiesDialog.cs b/Assets/Scripts/LevelEditor/RemixPropertiesDialog/RemixPropertiesDialog.cs index 0c1431ee0..6957f3b1d 100644 --- a/Assets/Scripts/LevelEditor/RemixPropertiesDialog/RemixPropertiesDialog.cs +++ b/Assets/Scripts/LevelEditor/RemixPropertiesDialog/RemixPropertiesDialog.cs @@ -28,6 +28,7 @@ namespace HeavenStudio.Editor [SerializeField] public GameObject DropdownP; [SerializeField] public GameObject ColorP; [SerializeField] public GameObject StringP; + [SerializeField] public GameObject ImageP; [Header("Layout Prefabs")] [SerializeField] public GameObject DividerP; diff --git a/Assets/Scripts/LevelEditor/RemixPropertiesDialog/Tabs/ChartInfoProperties.cs b/Assets/Scripts/LevelEditor/RemixPropertiesDialog/Tabs/ChartInfoProperties.cs index 999befe03..8ad604df9 100644 --- a/Assets/Scripts/LevelEditor/RemixPropertiesDialog/Tabs/ChartInfoProperties.cs +++ b/Assets/Scripts/LevelEditor/RemixPropertiesDialog/Tabs/ChartInfoProperties.cs @@ -17,6 +17,7 @@ namespace HeavenStudio.Editor [SerializeField] private GameObject DropdownP; [SerializeField] private GameObject ColorP; [SerializeField] private GameObject StringP; + [SerializeField] private GameObject ImageP; [Header("Layout Prefabs")] [SerializeField] private GameObject DividerP; @@ -84,6 +85,21 @@ namespace HeavenStudio.Editor var property = input.GetComponent(); property.SetProperties(diag, propertyName, type, caption); } + else if (objType == typeof(EntityTypes.Resource)) + { + switch (((EntityTypes.Resource)type).type) + { + case EntityTypes.Resource.ResourceType.Image: + prefab = diag.ImageP; + input = InitPrefab(prefab, tooltip); + var property = input.GetComponent(); + property.SetProperties(diag, propertyName, type, caption); + break; + default: + Debug.LogError("Can't make property interface of type: " + type.GetType()); + return; + } + } else { Debug.LogError("Can't make property interface of type: " + type.GetType()); diff --git a/Assets/Scripts/Minigames.cs b/Assets/Scripts/Minigames.cs index 5e4f4af1b..f402e8399 100644 --- a/Assets/Scripts/Minigames.cs +++ b/Assets/Scripts/Minigames.cs @@ -82,6 +82,14 @@ namespace HeavenStudio {"resultrepeat_hi", "You followed the example well."}, // "Superb" message for call-and-response games (two-liner) {"resultrepeat_ng", "Next time, follow the example better."}, // "Try Again" message for call-and-response games (two-liner) + + {"epilogue_hi", "Superb picture"}, // epilogue "Superb" message + {"epilogue_ok", "OK picture"}, // epilogue "OK" message + {"epilogue_ng", "Try Again picture"}, // epilogue "Try Again" message + + {"epilogue_hi_res", new EntityTypes.Resource(EntityTypes.Resource.ResourceType.Image, "Images/Epilogue/", "Hi")}, // epilogue "Superb" image resource path + {"epilogue_ok_res", new EntityTypes.Resource(EntityTypes.Resource.ResourceType.Image, "Images/Epilogue/", "Ok")}, // epilogue "OK" image resource path + {"epilogue_ng_res", new EntityTypes.Resource(EntityTypes.Resource.ResourceType.Image, "Images/Epilogue/", "Ng")}, // epilogue "Try Again" image resource path }; static Dictionary tempoChangeModel = new() @@ -252,6 +260,8 @@ namespace HeavenStudio e.dynamicData[param.propertyName] = (int)e[param.propertyName]; else if (type == typeof(EntityTypes.Float)) e.dynamicData[param.propertyName] = (float)e[param.propertyName]; + else if (type == typeof(EntityTypes.Resource)) + e.dynamicData[param.propertyName] = (EntityTypes.Resource)e[param.propertyName]; else if (type.IsEnum) { if (pType == typeof(string)) @@ -306,10 +316,19 @@ namespace HeavenStudio //go thru each property of the model beatmap and add any missing keyvalue pair foreach (var prop in propertiesModel) { + var mType = propertiesModel[prop.Key].GetType(); if (!data.properties.ContainsKey(prop.Key)) { data.properties.Add(prop.Key, prop.Value); } + else + { + // convert all JObjects to their respective types + if (data.properties[prop.Key].GetType() == typeof(Newtonsoft.Json.Linq.JObject)) + { + data.properties[prop.Key] = (data.properties[prop.Key] as Newtonsoft.Json.Linq.JObject).ToObject(mType); + } + } } return data; diff --git a/Assets/Scripts/Util/EntityTypes.cs b/Assets/Scripts/Util/EntityTypes.cs index 8db25e710..c9dc26c36 100644 --- a/Assets/Scripts/Util/EntityTypes.cs +++ b/Assets/Scripts/Util/EntityTypes.cs @@ -36,5 +36,26 @@ namespace HeavenStudio this.max = max; } } + + public struct Resource + { + public enum ResourceType + { + Image, + Audio, + MSMD + } + + public string path; + public string name; + public ResourceType type; + + public Resource(ResourceType type, string path, string name) + { + this.type = type; + this.path = path; + this.name = name; + } + } } } \ No newline at end of file diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index f0fb68c4f..1455aef1e 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -22,7 +22,7 @@ "com.unity.nuget.newtonsoft-json": "3.2.1", "jillejr.newtonsoft.json-for-unity.converters": "1.5.1" }, - "hash": "85455ad4366a9153273ba039ebd43f2e00544bf6" + "hash": "a1a30e76446c87ec9780a8006a0b425bbcced84b" }, "com.sr4dev.unity-spriteassist": { "version": "https://github.com/sr4dev/Unity-SpriteAssist.git?path=Assets/SpriteAssist",