From d593acf785aa00f271887f87aa7ee9c66c5969ae Mon Sep 17 00:00:00 2001 From: DenisErmolaev Date: Fri, 7 Aug 2020 18:49:04 +0300 Subject: [PATCH 1/5] - added circle mosaic puzzle basics (work in progress) --- Rescues/Assets/Art/TestImages/MosaicTest.png | Bin 0 -> 10842 bytes .../Assets/Art/TestImages/MosaicTest.png.meta | 92 ++ Rescues/Assets/Resources/Data/Puzzles.meta | 8 + .../Data/Puzzles/CircleMosaicData.asset | 30 + .../Data/Puzzles/CircleMosaicData.asset.meta | 8 + Rescues/Assets/Resources/Prefabs/Puzzles.meta | 8 + .../Prefabs/Puzzles/CircleMosaicPuzzle.meta | 8 + .../CircleMosaicPuzzleView.prefab | 1050 +++++++++++++++++ .../CircleMosaicPuzzleView.prefab.meta | 7 + .../CircleMosaicPuzzle/RotatingCircle.prefab | 88 ++ .../RotatingCircle.prefab.meta | 7 + Rescues/Assets/Scenes/SampleScene.unity | 129 +- .../GameControllers/MainControllers.cs | 1 + .../GameControllers/MainPuzzleController.cs | 91 ++ .../MainPuzzleController.cs.meta | 11 + .../Controllers/Player/InputController.cs | 6 + .../Controllers/PuzzlesControllers.meta | 8 + .../CircleMosaicController.cs | 62 + .../CircleMosaicController.cs.meta | 11 + .../PuzzlesControllers/PuzzlesControllers.cs | 36 + .../PuzzlesControllers.cs.meta | 3 + .../PuzzlesControllers/WiresController.cs | 61 + .../WiresController.cs.meta | 3 + Rescues/Assets/Scripts/Data/BasePuzzleData.cs | 12 + .../Scripts/Data/BasePuzzleData.cs.meta | 11 + .../Assets/Scripts/Data/CircleMosaicData.cs | 66 ++ .../Scripts/Data/CircleMosaicData.cs.meta | 11 + .../Scripts/Enum/InteractableObjectType.cs | 1 + Rescues/Assets/Scripts/Interface/IPuzzle.cs | 16 + .../Assets/Scripts/Interface/IPuzzle.cs.meta | 11 + .../Scripts/Interface/IPuzzleController.cs | 12 + .../Interface/IPuzzleController.cs.meta | 11 + .../Model/Behaviour/PuzzleBehaviour.cs | 15 + .../Model/Behaviour/PuzzleBehaviour.cs.meta | 11 + Rescues/Assets/Scripts/Model/Puzzles.meta | 8 + .../Model/Puzzles/CircleMosaicPuzzle.meta | 8 + .../CircleMosaicPuzzle/CircleMosaicPuzzle.cs | 41 + .../CircleMosaicPuzzle.cs.meta | 11 + .../CircleMosaicPuzzle/RotatingCircle.cs | 15 + .../CircleMosaicPuzzle/RotatingCircle.cs.meta | 11 + .../Assets/Scripts/Model/Puzzles/Puzzle.cs | 52 + .../Scripts/Model/Puzzles/Puzzle.cs.meta | 3 + .../Scripts/Model/Puzzles/WiresPuzzle.meta | 3 + .../Puzzles/WiresPuzzle/MamaConnector.cs | 98 ++ .../Puzzles/WiresPuzzle/MamaConnector.cs.meta | 3 + .../Puzzles/WiresPuzzle/PapaConnector.cs | 22 + .../Puzzles/WiresPuzzle/PapaConnector.cs.meta | 3 + .../Scripts/Model/Puzzles/WiresPuzzle/Wire.cs | 79 ++ .../Model/Puzzles/WiresPuzzle/Wire.cs.meta | 3 + .../Model/Puzzles/WiresPuzzle/WiresPuzzle.cs | 39 + .../Puzzles/WiresPuzzle/WiresPuzzle.cs.meta | 3 + Rescues/ProjectSettings/ProjectVersion.txt | 4 +- 52 files changed, 2306 insertions(+), 5 deletions(-) create mode 100644 Rescues/Assets/Art/TestImages/MosaicTest.png create mode 100644 Rescues/Assets/Art/TestImages/MosaicTest.png.meta create mode 100644 Rescues/Assets/Resources/Data/Puzzles.meta create mode 100644 Rescues/Assets/Resources/Data/Puzzles/CircleMosaicData.asset create mode 100644 Rescues/Assets/Resources/Data/Puzzles/CircleMosaicData.asset.meta create mode 100644 Rescues/Assets/Resources/Prefabs/Puzzles.meta create mode 100644 Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle.meta create mode 100644 Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzleView.prefab create mode 100644 Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzleView.prefab.meta create mode 100644 Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotatingCircle.prefab create mode 100644 Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotatingCircle.prefab.meta create mode 100644 Rescues/Assets/Scripts/Controllers/GameControllers/MainPuzzleController.cs create mode 100644 Rescues/Assets/Scripts/Controllers/GameControllers/MainPuzzleController.cs.meta create mode 100644 Rescues/Assets/Scripts/Controllers/PuzzlesControllers.meta create mode 100644 Rescues/Assets/Scripts/Controllers/PuzzlesControllers/CircleMosaicController.cs create mode 100644 Rescues/Assets/Scripts/Controllers/PuzzlesControllers/CircleMosaicController.cs.meta create mode 100644 Rescues/Assets/Scripts/Controllers/PuzzlesControllers/PuzzlesControllers.cs create mode 100644 Rescues/Assets/Scripts/Controllers/PuzzlesControllers/PuzzlesControllers.cs.meta create mode 100644 Rescues/Assets/Scripts/Controllers/PuzzlesControllers/WiresController.cs create mode 100644 Rescues/Assets/Scripts/Controllers/PuzzlesControllers/WiresController.cs.meta create mode 100644 Rescues/Assets/Scripts/Data/BasePuzzleData.cs create mode 100644 Rescues/Assets/Scripts/Data/BasePuzzleData.cs.meta create mode 100644 Rescues/Assets/Scripts/Data/CircleMosaicData.cs create mode 100644 Rescues/Assets/Scripts/Data/CircleMosaicData.cs.meta create mode 100644 Rescues/Assets/Scripts/Interface/IPuzzle.cs create mode 100644 Rescues/Assets/Scripts/Interface/IPuzzle.cs.meta create mode 100644 Rescues/Assets/Scripts/Interface/IPuzzleController.cs create mode 100644 Rescues/Assets/Scripts/Interface/IPuzzleController.cs.meta create mode 100644 Rescues/Assets/Scripts/Model/Behaviour/PuzzleBehaviour.cs create mode 100644 Rescues/Assets/Scripts/Model/Behaviour/PuzzleBehaviour.cs.meta create mode 100644 Rescues/Assets/Scripts/Model/Puzzles.meta create mode 100644 Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle.meta create mode 100644 Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzle.cs create mode 100644 Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzle.cs.meta create mode 100644 Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/RotatingCircle.cs create mode 100644 Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/RotatingCircle.cs.meta create mode 100644 Rescues/Assets/Scripts/Model/Puzzles/Puzzle.cs create mode 100644 Rescues/Assets/Scripts/Model/Puzzles/Puzzle.cs.meta create mode 100644 Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle.meta create mode 100644 Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/MamaConnector.cs create mode 100644 Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/MamaConnector.cs.meta create mode 100644 Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/PapaConnector.cs create mode 100644 Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/PapaConnector.cs.meta create mode 100644 Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/Wire.cs create mode 100644 Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/Wire.cs.meta create mode 100644 Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/WiresPuzzle.cs create mode 100644 Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/WiresPuzzle.cs.meta diff --git a/Rescues/Assets/Art/TestImages/MosaicTest.png b/Rescues/Assets/Art/TestImages/MosaicTest.png new file mode 100644 index 0000000000000000000000000000000000000000..ce9fe0fc7f6507c15978d127bae27359270724d3 GIT binary patch literal 10842 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 ZdMNw4AfljE8>|BbbhQlNm6{GQ{|6+zhR6T_ literal 0 HcmV?d00001 diff --git a/Rescues/Assets/Art/TestImages/MosaicTest.png.meta b/Rescues/Assets/Art/TestImages/MosaicTest.png.meta new file mode 100644 index 00000000..c0fe3572 --- /dev/null +++ b/Rescues/Assets/Art/TestImages/MosaicTest.png.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: 0f2b414aefc0b1f499f3abbcacc000e8 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Resources/Data/Puzzles.meta b/Rescues/Assets/Resources/Data/Puzzles.meta new file mode 100644 index 00000000..25dea64c --- /dev/null +++ b/Rescues/Assets/Resources/Data/Puzzles.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5891a22507ccd3845b5943d8cc7a7219 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Resources/Data/Puzzles/CircleMosaicData.asset b/Rescues/Assets/Resources/Data/Puzzles/CircleMosaicData.asset new file mode 100644 index 00000000..463ddd18 --- /dev/null +++ b/Rescues/Assets/Resources/Data/Puzzles/CircleMosaicData.asset @@ -0,0 +1,30 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d4c0cc75405f2044c8a9284b9411ec91, type: 3} + m_Name: CircleMosaicData + m_EditorClassIdentifier: + Name: dads + Icon: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + Angle: 45 + Circles: + - Rules: [] + - Rules: + - Rule: {x: 5, y: -1} + - Rules: + - Rule: {x: 2, y: 1} + - Rules: + - Rule: {x: 1, y: -2} + - Rules: + - Rule: {x: 5, y: 1} + - Rules: + - Rule: {x: 4, y: 1} + - Rule: {x: 2, y: -2} diff --git a/Rescues/Assets/Resources/Data/Puzzles/CircleMosaicData.asset.meta b/Rescues/Assets/Resources/Data/Puzzles/CircleMosaicData.asset.meta new file mode 100644 index 00000000..a8bca135 --- /dev/null +++ b/Rescues/Assets/Resources/Data/Puzzles/CircleMosaicData.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 69415afdbb5d23247859ea2c4080a70b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Resources/Prefabs/Puzzles.meta b/Rescues/Assets/Resources/Prefabs/Puzzles.meta new file mode 100644 index 00000000..936ede08 --- /dev/null +++ b/Rescues/Assets/Resources/Prefabs/Puzzles.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a3b49b25214254447adb250014ced782 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle.meta b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle.meta new file mode 100644 index 00000000..51fd0160 --- /dev/null +++ b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 93f5b57356b9acd47960d101f9e92643 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzleView.prefab b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzleView.prefab new file mode 100644 index 00000000..b0f25ae2 --- /dev/null +++ b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzleView.prefab @@ -0,0 +1,1050 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &492679994 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 492679995} + - component: {fileID: 492679997} + - component: {fileID: 492679996} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &492679995 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 492679994} + 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: 1182749116} + 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!222 &492679997 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 492679994} + m_CullTransparentMesh: 0 +--- !u!114 &492679996 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 492679994} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 26 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 2 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u043F\u0430\u0437\u043B" +--- !u!1 &1182749115 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1182749116} + - component: {fileID: 1182749119} + - component: {fileID: 1182749118} + - component: {fileID: 1182749117} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1182749116 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1182749115} + 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: 492679995} + m_Father: {fileID: 5985802490743960726} + 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: -300} + m_SizeDelta: {x: 200, y: 60} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1182749119 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1182749115} + m_CullTransparentMesh: 0 +--- !u!114 &1182749118 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1182749115} + 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_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!114 &1182749117 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1182749115} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 1182749118} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 5035808665184864572} + m_MethodName: Close + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &1327543594636136411 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5985802490743960726} + - component: {fileID: 5035808665184864572} + m_Layer: 5 + m_Name: CircleMosaicPuzzleView + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5985802490743960726 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1327543594636136411} + 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: 1182749116} + - {fileID: 6762846594198076552} + - {fileID: 1846454047884789607} + - {fileID: 2927381403979945860} + - {fileID: 6882320085104429834} + - {fileID: 2457398021267771712} + - {fileID: 5654079524887260445} + m_Father: {fileID: 0} + 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: 5.9} + m_SizeDelta: {x: 1122.2, y: 803.8} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &5035808665184864572 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1327543594636136411} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d8097c9501bcb1842b21be75741e54d2, type: 3} + m_Name: + m_EditorClassIdentifier: + IsFinished: 0 +--- !u!1001 &1554954725076181224 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 5985802490743960726} + m_Modifications: + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_SizeDelta.x + value: 300 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_SizeDelta.y + value: 300 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 3026085253074894313, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 0f2b414aefc0b1f499f3abbcacc000e8, + type: 3} + - target: {fileID: 8518570540395165503, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Name + value: RotatingCircle + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: d947144da63f6d148bbe037343e1bf56, type: 3} +--- !u!224 &1846454047884789607 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + m_PrefabInstance: {fileID: 1554954725076181224} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &2642353875330625547 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 5985802490743960726} + m_Modifications: + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_SizeDelta.x + value: 250 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_SizeDelta.y + value: 250 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 3026085253074894313, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 0f2b414aefc0b1f499f3abbcacc000e8, + type: 3} + - target: {fileID: 8518570540395165503, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Name + value: RotatingCircle (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: d947144da63f6d148bbe037343e1bf56, type: 3} +--- !u!224 &2927381403979945860 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + m_PrefabInstance: {fileID: 2642353875330625547} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &3319660083949057743 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 5985802490743960726} + m_Modifications: + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_SizeDelta.x + value: 150 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_SizeDelta.y + value: 150 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 3026085253074894313, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 0f2b414aefc0b1f499f3abbcacc000e8, + type: 3} + - target: {fileID: 8518570540395165503, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Name + value: RotatingCircle (3) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: d947144da63f6d148bbe037343e1bf56, type: 3} +--- !u!224 &2457398021267771712 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + m_PrefabInstance: {fileID: 3319660083949057743} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &4790968424543849106 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 5985802490743960726} + m_Modifications: + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 3026085253074894313, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 0f2b414aefc0b1f499f3abbcacc000e8, + type: 3} + - target: {fileID: 8518570540395165503, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Name + value: RotatingCircle (4) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: d947144da63f6d148bbe037343e1bf56, type: 3} +--- !u!224 &5654079524887260445 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + m_PrefabInstance: {fileID: 4790968424543849106} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &5895728805000551175 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 5985802490743960726} + m_Modifications: + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_SizeDelta.x + value: 350 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_SizeDelta.y + value: 350 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 3026085253074894313, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 0f2b414aefc0b1f499f3abbcacc000e8, + type: 3} + - target: {fileID: 8518570540395165503, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Name + value: RotatingCircle (5) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: d947144da63f6d148bbe037343e1bf56, type: 3} +--- !u!224 &6762846594198076552 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + m_PrefabInstance: {fileID: 5895728805000551175} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &6019424420237798533 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 5985802490743960726} + m_Modifications: + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_SizeDelta.x + value: 200 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_SizeDelta.y + value: 200 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 3026085253074894313, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 0f2b414aefc0b1f499f3abbcacc000e8, + type: 3} + - target: {fileID: 8518570540395165503, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + propertyPath: m_Name + value: RotatingCircle (2) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: d947144da63f6d148bbe037343e1bf56, type: 3} +--- !u!224 &6882320085104429834 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, + type: 3} + m_PrefabInstance: {fileID: 6019424420237798533} + m_PrefabAsset: {fileID: 0} diff --git a/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzleView.prefab.meta b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzleView.prefab.meta new file mode 100644 index 00000000..4d0e78d4 --- /dev/null +++ b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzleView.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 76988e77885b21a449538b98d6977f1d +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotatingCircle.prefab b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotatingCircle.prefab new file mode 100644 index 00000000..ce310f84 --- /dev/null +++ b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotatingCircle.prefab @@ -0,0 +1,88 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8518570540395165503 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 867966818671290255} + - component: {fileID: 7374153112795862674} + - component: {fileID: 3026085253074894313} + - component: {fileID: 8999563559971995070} + m_Layer: 5 + m_Name: RotatingCircle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &867966818671290255 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8518570540395165503} + 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: 0} + 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: 300, y: 300} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7374153112795862674 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8518570540395165503} + m_CullTransparentMesh: 0 +--- !u!114 &3026085253074894313 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8518570540395165503} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 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!114 &8999563559971995070 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8518570540395165503} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8005dd99bccd91b40bc06e376f96952a, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotatingCircle.prefab.meta b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotatingCircle.prefab.meta new file mode 100644 index 00000000..b0d86f41 --- /dev/null +++ b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotatingCircle.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d947144da63f6d148bbe037343e1bf56 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Scenes/SampleScene.unity b/Rescues/Assets/Scenes/SampleScene.unity index 6ffce185..3ea909bd 100644 --- a/Rescues/Assets/Scenes/SampleScene.unity +++ b/Rescues/Assets/Scenes/SampleScene.unity @@ -984,6 +984,7 @@ Transform: m_Children: - {fileID: 1369854627} - {fileID: 1373586909} + - {fileID: 1978422840} m_Father: {fileID: 961537365} m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -1373,7 +1374,7 @@ Transform: m_LocalScale: {x: 5.384, y: 3.571, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 2 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &843085236 MonoBehaviour: @@ -1387,8 +1388,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1d48da8e38c8e5348b3fc58058ecd3ef, type: 3} m_Name: m_EditorClassIdentifier: - _scale: 0.05 - _scaleVector: {x: 0, y: 0, z: 0} --- !u!1 &961537363 GameObject: m_ObjectHideFlags: 0 @@ -3514,6 +3513,130 @@ Transform: m_Father: {fileID: 961537365} m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1978422838 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1978422840} + - component: {fileID: 1978422839} + - component: {fileID: 1978422841} + - component: {fileID: 1978422842} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1978422839 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1978422838} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 41efc48d101730640bafad04df334b70, type: 3} + m_Name: + m_EditorClassIdentifier: + _type: 5 + Puzzle: {fileID: 5035808665184864572, guid: 76988e77885b21a449538b98d6977f1d, type: 3} + PuzzleData: {fileID: 11400000, guid: 69415afdbb5d23247859ea2c4080a70b, type: 2} +--- !u!4 &1978422840 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1978422838} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 23.929539, y: 0.3, z: 0} + m_LocalScale: {x: 1.7706351, y: 1.7706351, z: 1.7706351} + m_Children: [] + m_Father: {fileID: 507574214} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!61 &1978422841 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1978422838} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0.049999997, y: 0.049999997, z: 0.049999997, w: 0.049999997} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 0.16, y: 0.16} + newSize: {x: 0.16, y: 0.16} + adaptiveTilingThreshold: 0.5 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 1, y: 1} + m_EdgeRadius: 0 +--- !u!212 &1978422842 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1978422838} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 2 + m_Sprite: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 0.16, y: 0.16} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &2031073391 GameObject: m_ObjectHideFlags: 0 diff --git a/Rescues/Assets/Scripts/Controllers/GameControllers/MainControllers.cs b/Rescues/Assets/Scripts/Controllers/GameControllers/MainControllers.cs index 21ce119c..69bf0fc3 100644 --- a/Rescues/Assets/Scripts/Controllers/GameControllers/MainControllers.cs +++ b/Rescues/Assets/Scripts/Controllers/GameControllers/MainControllers.cs @@ -12,6 +12,7 @@ public MainControllers(GameContext context, Services services) Add(new TimeRemainingController()); Add(new ItemActiveController(context, services)); Add(new DoorTeleporterController(context, services)); + Add(new MainPuzzleController(context, services)); Add(new HidingPlaceController(context, services)); Add(new EnemyVisionController(context, services)); Add(new EnemyMoveController(context, services)); diff --git a/Rescues/Assets/Scripts/Controllers/GameControllers/MainPuzzleController.cs b/Rescues/Assets/Scripts/Controllers/GameControllers/MainPuzzleController.cs new file mode 100644 index 00000000..8fb74be6 --- /dev/null +++ b/Rescues/Assets/Scripts/Controllers/GameControllers/MainPuzzleController.cs @@ -0,0 +1,91 @@ +using UnityEngine; + + +namespace Rescues +{ + public sealed class MainPuzzleController : IInitializeController, ITearDownController + { + #region Fields + + private readonly GameContext _context; + + #endregion + + + #region ClassLifeCycles + + public MainPuzzleController(GameContext context, Services services) + { + _context = context; + } + + #endregion + + + #region IInitializeController + + public void Initialize() + { + var puzzleInteracts = _context.GetTriggers(InteractableObjectType.Puzzle); + var canvas = Object.FindObjectOfType(); + var puzzleControllers = new PuzzlesControllers(); + + foreach (var trigger in puzzleInteracts) + { + var puzlleBehaviour = trigger as PuzzleBehaviour; + puzlleBehaviour.OnFilterHandler += OnFilterHandler; + puzlleBehaviour.OnTriggerEnterHandler += OnTriggerEnterHandler; + puzlleBehaviour.OnTriggerExitHandler += OnTriggerExitHandler; + + foreach (var somePuzzleController in puzzleControllers.ControllersList) + { + if (somePuzzleController.Value == puzlleBehaviour.Puzzle.GetType()) + { + var puzzleInstance = GameObject.Instantiate(puzlleBehaviour.Puzzle, canvas.transform); + puzlleBehaviour.Puzzle = puzzleInstance; + somePuzzleController.Key.Initialize(puzzleInstance); + } + } + } + } + + #endregion + + + #region ITearDownController + + public void TearDown() + { + var puzlles = _context.GetTriggers(InteractableObjectType.Puzzle); + foreach (var trigger in puzlles) + { + var puzlleBehaviour = trigger as PuzzleBehaviour; + puzlleBehaviour.OnFilterHandler -= OnFilterHandler; + puzlleBehaviour.OnTriggerEnterHandler -= OnTriggerEnterHandler; + puzlleBehaviour.OnTriggerExitHandler -= OnTriggerExitHandler; + } + } + + #endregion + + + #region Methods + + private bool OnFilterHandler(Collider2D obj) + { + return obj.CompareTag(TagManager.PLAYER); + } + + private void OnTriggerEnterHandler(ITrigger enteredObject) + { + enteredObject.IsInteractable = true; + } + + private void OnTriggerExitHandler(ITrigger enteredObject) + { + enteredObject.IsInteractable = false; + } + + #endregion + } +} \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Controllers/GameControllers/MainPuzzleController.cs.meta b/Rescues/Assets/Scripts/Controllers/GameControllers/MainPuzzleController.cs.meta new file mode 100644 index 00000000..2b4853ae --- /dev/null +++ b/Rescues/Assets/Scripts/Controllers/GameControllers/MainPuzzleController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 58736472c3fb4124187f91ead548b991 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Scripts/Controllers/Player/InputController.cs b/Rescues/Assets/Scripts/Controllers/Player/InputController.cs index a50ec6e6..990397c5 100644 --- a/Rescues/Assets/Scripts/Controllers/Player/InputController.cs +++ b/Rescues/Assets/Scripts/Controllers/Player/InputController.cs @@ -69,6 +69,12 @@ public void Execute() } } + + var puzzleObject = GetInteractableObject(InteractableObjectType.Puzzle); + if (puzzleObject != null) + { + puzzleObject.Puzzle.Activate(); + } } if (Input.GetButtonUp("Inventory")) diff --git a/Rescues/Assets/Scripts/Controllers/PuzzlesControllers.meta b/Rescues/Assets/Scripts/Controllers/PuzzlesControllers.meta new file mode 100644 index 00000000..ddca2653 --- /dev/null +++ b/Rescues/Assets/Scripts/Controllers/PuzzlesControllers.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4cfde2af4e1575046ba5cbd300c78dbe +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/CircleMosaicController.cs b/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/CircleMosaicController.cs new file mode 100644 index 00000000..aafd1890 --- /dev/null +++ b/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/CircleMosaicController.cs @@ -0,0 +1,62 @@ +namespace Rescues +{ + public class CircleMosaicController : IPuzzleController + { + + #region IPuzzleController + + public void Initialize(Puzzle puzzle, PuzzleBehaviour puzzleBehaviour) + { + puzzle.Activated += Activate; + puzzle.Closed += Close; + puzzle.Finished += Finish; + puzzle.CheckCompleted += CheckComplete; + puzzle.ResetValuesToDefault += ResetValues; + + Close(puzzle); + } + + public void Activate(Puzzle puzzle) + { + CustomDebug.Log(123); + if (!puzzle.IsFinished) + puzzle.gameObject.SetActive(true); + //TODO Надо как-то останавливать игру, делать паузу? Или перехватывать управление? + } + + public void Close(Puzzle puzzle) + { + puzzle.gameObject.SetActive(false); + } + + public void Finish(Puzzle puzzle) + { + puzzle.IsFinished = true; + Close(puzzle); + } + + public void CheckComplete(Puzzle puzzle) + { + var specificPuzzle = puzzle as CircleMosaicPuzzle; + if (specificPuzzle != null) + { + //var checkCounter = 0; + //for (int i = 0; i < specificPuzzle.Connectors.Count; i++) + //{ + // if (specificPuzzle.Connectors[i].IsCorrectWire) + // checkCounter++; + //} + + //if (checkCounter == specificPuzzle.Connectors.Count - 1) + // Finish(specificPuzzle); + } + } + + public void ResetValues(Puzzle puzzle) + { + //TODO + } + + #endregion + } +} \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/CircleMosaicController.cs.meta b/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/CircleMosaicController.cs.meta new file mode 100644 index 00000000..2580fe94 --- /dev/null +++ b/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/CircleMosaicController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4a15201783080654793ad968e8c82e62 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/PuzzlesControllers.cs b/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/PuzzlesControllers.cs new file mode 100644 index 00000000..d1d5a616 --- /dev/null +++ b/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/PuzzlesControllers.cs @@ -0,0 +1,36 @@ +using System; +using System.Collections.Generic; + + +namespace Rescues +{ + public sealed class PuzzlesControllers + { + #region Fileds + + private Dictionary _controllersList = new Dictionary(); + + #endregion + + + #region Properties + + public Dictionary ControllersList => _controllersList; + + #endregion + + + #region PrivateData + + /// + /// Add here controller your puzzle + /// + public PuzzlesControllers() + { + _controllersList.Add(new WiresController(), typeof(WiresPuzzle)); + _controllersList.Add(new CircleMosaicController(), typeof(CircleMosaicPuzzle)); + } + + #endregion + } +} \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/PuzzlesControllers.cs.meta b/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/PuzzlesControllers.cs.meta new file mode 100644 index 00000000..7ff90869 --- /dev/null +++ b/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/PuzzlesControllers.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3bacaf65f2ed48cfad92b1940fdf3304 +timeCreated: 1596573868 \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/WiresController.cs b/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/WiresController.cs new file mode 100644 index 00000000..76d182a5 --- /dev/null +++ b/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/WiresController.cs @@ -0,0 +1,61 @@ +namespace Rescues +{ + public class WiresController : IPuzzleController + { + + #region IPuzzleController + + public void Initialize(Puzzle puzzle, PuzzleBehaviour puzzleBehaviour) + { + puzzle.Activated += Activate; + puzzle.Closed += Close; + puzzle.Finished += Finish; + puzzle.CheckCompleted += CheckComplete; + puzzle.ResetValuesToDefault += ResetValues; + + Close(puzzle); + } + + public void Activate(Puzzle puzzle) + { + if (!puzzle.IsFinished) + puzzle.gameObject.SetActive(true); + //TODO Надо как-то останавливать игру, делать паузу? Или перехватывать управление? + } + + public void Close(Puzzle puzzle) + { + puzzle.gameObject.SetActive(false); + } + + public void Finish(Puzzle puzzle) + { + puzzle.IsFinished = true; + Close(puzzle); + } + + public void CheckComplete(Puzzle puzzle) + { + var specificPuzzle = puzzle as WiresPuzzle; + if (specificPuzzle != null) + { + var checkCounter = 0; + for (int i = 0; i < specificPuzzle.Connectors.Count; i++) + { + if (specificPuzzle.Connectors[i].IsCorrectWire) + checkCounter++; + } + + if (checkCounter == specificPuzzle.Connectors.Count - 1) + Finish(specificPuzzle); + } + } + + public void ResetValues(Puzzle puzzle) + { + //TODO + } + + #endregion + } +} \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/WiresController.cs.meta b/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/WiresController.cs.meta new file mode 100644 index 00000000..d05586ca --- /dev/null +++ b/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/WiresController.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 94565024f9434c9d8ac0c33c914a63fb +timeCreated: 1596569796 \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Data/BasePuzzleData.cs b/Rescues/Assets/Scripts/Data/BasePuzzleData.cs new file mode 100644 index 00000000..d960501b --- /dev/null +++ b/Rescues/Assets/Scripts/Data/BasePuzzleData.cs @@ -0,0 +1,12 @@ +using UnityEngine; + + +namespace Rescues +{ + public class BasePuzzleData : ScriptableObject + { + public string Name; + public Sprite Icon; + } +} + diff --git a/Rescues/Assets/Scripts/Data/BasePuzzleData.cs.meta b/Rescues/Assets/Scripts/Data/BasePuzzleData.cs.meta new file mode 100644 index 00000000..f4ddd9e9 --- /dev/null +++ b/Rescues/Assets/Scripts/Data/BasePuzzleData.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d010e435a33bc5240b4178d27299438f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Scripts/Data/CircleMosaicData.cs b/Rescues/Assets/Scripts/Data/CircleMosaicData.cs new file mode 100644 index 00000000..8776024a --- /dev/null +++ b/Rescues/Assets/Scripts/Data/CircleMosaicData.cs @@ -0,0 +1,66 @@ +using UnityEngine; +using UnityEditor; +using System.Collections.Generic; +using System; + +namespace Rescues +{ + [Serializable] + public struct Rules + { + public Vector2 Rule; + } + + [Serializable] + public struct CircleMoveScheme + { + [ArrayElementTitleAttribute("Rule")] + public Rules[] Rules; + } + + [CreateAssetMenu(fileName = "CircleMosaicData", menuName = "Data/CircleMosaicData")] + public sealed class CircleMosaicData : BasePuzzleData + { + #region Fields + + public int Angle = 45; + + [ArrayElementTitleAttribute("Circle")] + public CircleMoveScheme[] Circles; + + #endregion + } + + public class ArrayElementTitleAttribute : PropertyAttribute + { + public string Varname; + public ArrayElementTitleAttribute(string ElementTitleVar) + { + Varname = ElementTitleVar; + } + } + + [CustomPropertyDrawer(typeof(ArrayElementTitleAttribute))] + public class ArrayElementTitleDrawer : PropertyDrawer + { + public override float GetPropertyHeight(SerializedProperty property, GUIContent label) + { + return EditorGUI.GetPropertyHeight(property, label, true); + } + + protected virtual ArrayElementTitleAttribute Atribute + { + get { return (ArrayElementTitleAttribute)attribute; } + } + + SerializedProperty TitleNameProp; + + public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) + { + Debug.Log(property.propertyPath); + var lastSquareBracketIndex = property.propertyPath.LastIndexOf('['); + int pos = int.Parse(property.propertyPath[lastSquareBracketIndex + 1].ToString()); + EditorGUI.PropertyField(position, property, new GUIContent(Atribute.Varname + $" {pos + 1}"), true); + } + } +} diff --git a/Rescues/Assets/Scripts/Data/CircleMosaicData.cs.meta b/Rescues/Assets/Scripts/Data/CircleMosaicData.cs.meta new file mode 100644 index 00000000..6663427c --- /dev/null +++ b/Rescues/Assets/Scripts/Data/CircleMosaicData.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d4c0cc75405f2044c8a9284b9411ec91 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Scripts/Enum/InteractableObjectType.cs b/Rescues/Assets/Scripts/Enum/InteractableObjectType.cs index e4a20cc2..a2c4bac4 100644 --- a/Rescues/Assets/Scripts/Enum/InteractableObjectType.cs +++ b/Rescues/Assets/Scripts/Enum/InteractableObjectType.cs @@ -7,5 +7,6 @@ public enum InteractableObjectType Item = 2, HidingPlace = 3, Trap = 4, + Puzzle = 5, } } diff --git a/Rescues/Assets/Scripts/Interface/IPuzzle.cs b/Rescues/Assets/Scripts/Interface/IPuzzle.cs new file mode 100644 index 00000000..b2ee700e --- /dev/null +++ b/Rescues/Assets/Scripts/Interface/IPuzzle.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Rescues +{ + public interface IPuzzle + { + void Activate(); + void Close(); + void Finish(); + void ResetValues(); + } +} diff --git a/Rescues/Assets/Scripts/Interface/IPuzzle.cs.meta b/Rescues/Assets/Scripts/Interface/IPuzzle.cs.meta new file mode 100644 index 00000000..872155e5 --- /dev/null +++ b/Rescues/Assets/Scripts/Interface/IPuzzle.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d1ac1e3cf154abd48856a1bcc129f2da +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Scripts/Interface/IPuzzleController.cs b/Rescues/Assets/Scripts/Interface/IPuzzleController.cs new file mode 100644 index 00000000..231969cf --- /dev/null +++ b/Rescues/Assets/Scripts/Interface/IPuzzleController.cs @@ -0,0 +1,12 @@ +namespace Rescues +{ + public interface IPuzzleController : IController + { + void Initialize(Puzzle puzzle, PuzzleBehaviour puzzleBehaviour); + void Activate(Puzzle puzzle); + void Close(Puzzle puzzle); + void CheckComplete(Puzzle puzzle); + void Finish(Puzzle puzzle); + void ResetValues(Puzzle puzzle); + } +} \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Interface/IPuzzleController.cs.meta b/Rescues/Assets/Scripts/Interface/IPuzzleController.cs.meta new file mode 100644 index 00000000..a968a996 --- /dev/null +++ b/Rescues/Assets/Scripts/Interface/IPuzzleController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 68ac762d84f7f1f46b8cc82dc8624c15 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Scripts/Model/Behaviour/PuzzleBehaviour.cs b/Rescues/Assets/Scripts/Model/Behaviour/PuzzleBehaviour.cs new file mode 100644 index 00000000..450bc491 --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Behaviour/PuzzleBehaviour.cs @@ -0,0 +1,15 @@ +using UnityEngine; + +namespace Rescues +{ + public sealed class PuzzleBehaviour : InteractableObjectBehavior + { + #region Fields + + public Puzzle Puzzle; + + public BasePuzzleData PuzzleData; + + #endregion + } +} \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Model/Behaviour/PuzzleBehaviour.cs.meta b/Rescues/Assets/Scripts/Model/Behaviour/PuzzleBehaviour.cs.meta new file mode 100644 index 00000000..35bfa4e0 --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Behaviour/PuzzleBehaviour.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 41efc48d101730640bafad04df334b70 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Scripts/Model/Puzzles.meta b/Rescues/Assets/Scripts/Model/Puzzles.meta new file mode 100644 index 00000000..318a216b --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Puzzles.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b5383d2e4e0c8c54cae82c103ccf997c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle.meta b/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle.meta new file mode 100644 index 00000000..552f04e5 --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 27ebca53d493bd940b3e8453bee28aec +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzle.cs b/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzle.cs new file mode 100644 index 00000000..08ca986f --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzle.cs @@ -0,0 +1,41 @@ +using System.Collections.Generic; + + +namespace Rescues +{ + public class CircleMosaicPuzzle : Puzzle + { + #region Fileds + + private List _circles = new List(); + + #endregion + + + #region Propeties + + public List Circles + { + get => _circles; + } + + #endregion + + + #region UnityMethods + + private void Awake() + { + //var obj = Instantiate(new RotatingCircle(), transform); + //gameObject. + //var connectors = gameObject.GetComponentsInChildren(); + //foreach (var connector in connectors) + //{ + // _connectors.Add(connector); + // connector.Connected += CheckComplete; + //} + } + + #endregion + } +} \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzle.cs.meta b/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzle.cs.meta new file mode 100644 index 00000000..38092ba0 --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzle.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d8097c9501bcb1842b21be75741e54d2 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/RotatingCircle.cs b/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/RotatingCircle.cs new file mode 100644 index 00000000..75fba7cc --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/RotatingCircle.cs @@ -0,0 +1,15 @@ +using UnityEngine; +using UnityEngine.UI; +using UnityEngine.EventSystems; + +public class RotatingCircle : MonoBehaviour, IPointerClickHandler +{ + public void OnPointerClick(PointerEventData eventData) + { + print("clicked"); + var image = GetComponent(); + var color = image.color; + color.a = 0.3f; + image.color = color; + } +} diff --git a/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/RotatingCircle.cs.meta b/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/RotatingCircle.cs.meta new file mode 100644 index 00000000..ef45fe77 --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/RotatingCircle.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8005dd99bccd91b40bc06e376f96952a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Scripts/Model/Puzzles/Puzzle.cs b/Rescues/Assets/Scripts/Model/Puzzles/Puzzle.cs new file mode 100644 index 00000000..fc3a4cd7 --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Puzzles/Puzzle.cs @@ -0,0 +1,52 @@ +using System; +using UnityEngine; + + +namespace Rescues +{ + public abstract class Puzzle : MonoBehaviour + { + #region Fileds + + public event Action Activated = puzzle => { }; + public event Action Closed = puzzle => { }; + public event Action Finished = puzzle => { }; + public event Action ResetValuesToDefault = puzzle => { }; + public event Action CheckCompleted = puzzle => { }; + + public bool IsFinished = false; + + #endregion + + + #region Methods + + [ContextMenu("Activate puzzle")] + public void Activate() + { + Activated.Invoke(this); + } + + public void Close() + { + Closed.Invoke(this); + } + + public void Finish() + { + Finished.Invoke(this); + } + + public void ResetValues() + { + ResetValuesToDefault.Invoke(this); + } + + public void CheckComplete() + { + CheckCompleted.Invoke(this); + } + + #endregion + } +} \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Model/Puzzles/Puzzle.cs.meta b/Rescues/Assets/Scripts/Model/Puzzles/Puzzle.cs.meta new file mode 100644 index 00000000..de8412d2 --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Puzzles/Puzzle.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 9a2a2995bda94be38d0b6f53d74837d4 +timeCreated: 1596362874 \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle.meta b/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle.meta new file mode 100644 index 00000000..7daa889d --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d471188175894d63a39a0f2bde501cc0 +timeCreated: 1596366162 \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/MamaConnector.cs b/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/MamaConnector.cs new file mode 100644 index 00000000..189b0424 --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/MamaConnector.cs @@ -0,0 +1,98 @@ +using System; +using UnityEngine; +using UnityEngine.UI; + + +namespace Rescues +{ + [RequireComponent(typeof(BoxCollider2D))] + public class MamaConnector : MonoBehaviour + { + #region Fileds + + public event Action Connected = () => { }; + + [SerializeField] private int _applyNumber; + private int _connectedPapaConnectorHash; + + #endregion + + + #region Property + + public bool IsBusy { get; private set; } = false; + public bool IsCorrectWire { get; private set; } = false; + + public Vector2 Position + { + get => transform.position; + } + + public int ApplyNumber + { + get => _applyNumber; + } + + #endregion + + + #region UnityMethods + + private void OnGUI() + { + var image = GetComponent(); + image.color = IsCorrectWire == false ? Color.gray : Color.green; + } + + private void OnValidate() + { + GetComponent().isTrigger = true; + } + + private void OnTriggerStay2D(Collider2D other) + { + var papaConnector = other.GetComponent(); + if (papaConnector == null) return; + + if (!IsBusy && !papaConnector.IsMoving) + { + _connectedPapaConnectorHash = papaConnector.GetHashCode(); + papaConnector.transform.position = transform.position; + Connect(papaConnector.Number); + } + else + { + if (papaConnector.GetHashCode() == _connectedPapaConnectorHash) + { + if (IsBusy && papaConnector.IsMoving) + { + Disconnect(); + } + } + } + } + + #endregion + + + #region Methods + + private void Connect(int wireNumber) + { + if (IsBusy) return; + Connected.Invoke(); + IsCorrectWire = _applyNumber == wireNumber ? true : false; + IsBusy = true; + } + + private void Disconnect() + { + if (!IsBusy) return; + _connectedPapaConnectorHash = 0; + IsCorrectWire = false; + IsBusy = false; + } + + #endregion + } +} \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/MamaConnector.cs.meta b/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/MamaConnector.cs.meta new file mode 100644 index 00000000..218a006b --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/MamaConnector.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d444142ae2ab4fb5b2e64e371e59fa51 +timeCreated: 1596394896 \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/PapaConnector.cs b/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/PapaConnector.cs new file mode 100644 index 00000000..f74bd673 --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/PapaConnector.cs @@ -0,0 +1,22 @@ +using System; +using UnityEngine; + + +namespace Rescues +{ + public class PapaConnector : MonoBehaviour + { + private Wire _wire; + + public int Number => _wire.Number; + public bool IsConected => _wire.IsConected; + public bool IsMoving => _wire.IsMoving; + + private void Awake() + { + _wire = GetComponentInParent(); + if (_wire == null) + throw new Exception("This class must be Wire child"); + } + } +} \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/PapaConnector.cs.meta b/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/PapaConnector.cs.meta new file mode 100644 index 00000000..99c50ef0 --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/PapaConnector.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d61e1d318bdb47f6a0789b8040cff183 +timeCreated: 1596402242 \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/Wire.cs b/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/Wire.cs new file mode 100644 index 00000000..d094d3bf --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/Wire.cs @@ -0,0 +1,79 @@ +using UnityEngine; +using UnityEngine.EventSystems; + + +namespace Rescues +{ + public class Wire : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler + { + + #region Fileds + + public Transform StartPoint; + public Transform EndPoint; + + [SerializeField] private int _number; + private bool _isMoving = false; + + #endregion + + + #region Properties + + public int Number + { + get => _number; + private set => value = _number; + } + + public bool IsConected { get; private set; } + + public bool IsMoving + { + get => _isMoving; + private set => _isMoving = value; + } + + #endregion + + #region UnityMethods + + private void OnValidate() + { + var collider = EndPoint.GetComponent(); + if (collider == null) + EndPoint.gameObject.AddComponent(); + } + + private void OnDrawGizmos() + { + Gizmos.color = Color.blue; + Gizmos.DrawLine(StartPoint.position, EndPoint.position); + } + + + #endregion + + //TODO Сделать так, чтобы провода нельзя было вытащить за игровую поверхность пазла + #region Methods + + public void OnBeginDrag(PointerEventData eventData) + { + _isMoving = true; + } + + public void OnDrag(PointerEventData eventData) + { + EndPoint.position = Input.mousePosition; + + } + + public void OnEndDrag(PointerEventData eventData) + { + _isMoving = false; + } + + #endregion + + } +} \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/Wire.cs.meta b/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/Wire.cs.meta new file mode 100644 index 00000000..1975a5b5 --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/Wire.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 04655eef260c43d588bca06a89f328e9 +timeCreated: 1596392287 \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/WiresPuzzle.cs b/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/WiresPuzzle.cs new file mode 100644 index 00000000..e1a410e3 --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/WiresPuzzle.cs @@ -0,0 +1,39 @@ +using System.Collections.Generic; + + +namespace Rescues +{ + public class WiresPuzzle : Puzzle + { + #region Fileds + + private List _connectors = new List(); + + #endregion + + + #region Propeties + + public List Connectors + { + get => _connectors; + } + + #endregion + + + #region UnityMethods + + private void Awake() + { + var connectors = gameObject.GetComponentsInChildren(); + foreach (var connector in connectors) + { + _connectors.Add(connector); + connector.Connected += CheckComplete; + } + } + + #endregion + } +} \ No newline at end of file diff --git a/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/WiresPuzzle.cs.meta b/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/WiresPuzzle.cs.meta new file mode 100644 index 00000000..45c28189 --- /dev/null +++ b/Rescues/Assets/Scripts/Model/Puzzles/WiresPuzzle/WiresPuzzle.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 48162205c2ae43b79b62065f27af1c9c +timeCreated: 1596363347 \ No newline at end of file diff --git a/Rescues/ProjectSettings/ProjectVersion.txt b/Rescues/ProjectSettings/ProjectVersion.txt index 798259ba..4b912ebb 100644 --- a/Rescues/ProjectSettings/ProjectVersion.txt +++ b/Rescues/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 2019.3.0f6 -m_EditorVersionWithRevision: 2019.3.0f6 (27ab2135bccf) +m_EditorVersion: 2019.3.7f1 +m_EditorVersionWithRevision: 2019.3.7f1 (6437fd74d35d) From 1cf950e9b60cbd7bd59835303fc59225d9d7ffd0 Mon Sep 17 00:00:00 2001 From: DenisErmolaev Date: Sun, 9 Aug 2020 21:36:57 +0300 Subject: [PATCH 2/5] - almost full functional --- Rescues/Assets/Art/TestImages/arrow_left.png | Bin 0 -> 1715 bytes .../Assets/Art/TestImages/arrow_left.png.meta | 92 ++ Rescues/Assets/Art/TestImages/arrow_right.png | Bin 0 -> 1673 bytes .../Art/TestImages/arrow_right.png.meta | 92 ++ .../Data/Puzzles/CircleMosaicData.asset | 18 +- .../Resources/Data/Puzzles/TestMosaic.asset | 18 + .../Data/Puzzles/TestMosaic.asset.meta | 8 + .../CircleMosaicPuzzleView.prefab | 808 +----------------- .../LeftRotationButton.prefab | 208 +++++ .../LeftRotationButton.prefab.meta | 7 + .../RightRotationButton.prefab | 208 +++++ .../RightRotationButton.prefab.meta | 7 + .../CircleMosaicPuzzle/RotatingCircle.prefab | 79 +- .../CircleMosaicPuzzle/RotationButtons.prefab | 289 +++++++ .../RotationButtons.prefab.meta | 7 + .../GameControllers/MainPuzzleController.cs | 2 +- .../CircleMosaicController.cs | 19 +- .../Assets/Scripts/Data/CircleMosaicData.cs | 2 + .../LoadAssets/AssetsPathGameObject.cs | 6 + .../LoadAssets/Type/MosaicPuzzleAssets.cs | 8 + .../Type/MosaicPuzzleAssets.cs.meta | 11 + .../Assets/Scripts/Model/CharacterModel.cs | 2 +- .../CircleMosaicPuzzle/CircleMosaicPuzzle.cs | 105 ++- .../CircleMosaicPuzzle/RotatingCircle.cs | 61 +- 24 files changed, 1202 insertions(+), 855 deletions(-) create mode 100644 Rescues/Assets/Art/TestImages/arrow_left.png create mode 100644 Rescues/Assets/Art/TestImages/arrow_left.png.meta create mode 100644 Rescues/Assets/Art/TestImages/arrow_right.png create mode 100644 Rescues/Assets/Art/TestImages/arrow_right.png.meta create mode 100644 Rescues/Assets/Resources/Data/Puzzles/TestMosaic.asset create mode 100644 Rescues/Assets/Resources/Data/Puzzles/TestMosaic.asset.meta create mode 100644 Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/LeftRotationButton.prefab create mode 100644 Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/LeftRotationButton.prefab.meta create mode 100644 Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RightRotationButton.prefab create mode 100644 Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RightRotationButton.prefab.meta create mode 100644 Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotationButtons.prefab create mode 100644 Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotationButtons.prefab.meta create mode 100644 Rescues/Assets/Scripts/LoadAssets/Type/MosaicPuzzleAssets.cs create mode 100644 Rescues/Assets/Scripts/LoadAssets/Type/MosaicPuzzleAssets.cs.meta diff --git a/Rescues/Assets/Art/TestImages/arrow_left.png b/Rescues/Assets/Art/TestImages/arrow_left.png new file mode 100644 index 0000000000000000000000000000000000000000..7e466054b5628f30a670c487edb5129ba172667e GIT binary patch literal 1715 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 TJm0a000000NkvXXu0mjfg)9`Z literal 0 HcmV?d00001 diff --git a/Rescues/Assets/Art/TestImages/arrow_right.png.meta b/Rescues/Assets/Art/TestImages/arrow_right.png.meta new file mode 100644 index 00000000..4ea31673 --- /dev/null +++ b/Rescues/Assets/Art/TestImages/arrow_right.png.meta @@ -0,0 +1,92 @@ +fileFormatVersion: 2 +guid: e1e08eb3f05dc6d429dec912d307a62a +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Resources/Data/Puzzles/CircleMosaicData.asset b/Rescues/Assets/Resources/Data/Puzzles/CircleMosaicData.asset index 463ddd18..b3ba18a4 100644 --- a/Rescues/Assets/Resources/Data/Puzzles/CircleMosaicData.asset +++ b/Rescues/Assets/Resources/Data/Puzzles/CircleMosaicData.asset @@ -16,15 +16,21 @@ MonoBehaviour: Icon: {fileID: 10911, guid: 0000000000000000f000000000000000, type: 0} Angle: 45 Circles: - - Rules: [] - - Rules: + - InitialAngle: 45 + Rules: [] + - InitialAngle: 90 + Rules: - Rule: {x: 5, y: -1} - - Rules: + - InitialAngle: 0 + Rules: - Rule: {x: 2, y: 1} - - Rules: + - InitialAngle: 45 + Rules: - Rule: {x: 1, y: -2} - - Rules: + - InitialAngle: 180 + Rules: - Rule: {x: 5, y: 1} - - Rules: + - InitialAngle: 90 + Rules: - Rule: {x: 4, y: 1} - Rule: {x: 2, y: -2} diff --git a/Rescues/Assets/Resources/Data/Puzzles/TestMosaic.asset b/Rescues/Assets/Resources/Data/Puzzles/TestMosaic.asset new file mode 100644 index 00000000..d0f9d877 --- /dev/null +++ b/Rescues/Assets/Resources/Data/Puzzles/TestMosaic.asset @@ -0,0 +1,18 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d4c0cc75405f2044c8a9284b9411ec91, type: 3} + m_Name: TestMosaic + m_EditorClassIdentifier: + Name: + Icon: {fileID: 0} + Angle: 45 + Circles: [] diff --git a/Rescues/Assets/Resources/Data/Puzzles/TestMosaic.asset.meta b/Rescues/Assets/Resources/Data/Puzzles/TestMosaic.asset.meta new file mode 100644 index 00000000..9a6e8047 --- /dev/null +++ b/Rescues/Assets/Resources/Data/Puzzles/TestMosaic.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c26e37b0e6450b7498f04ebdd6b2b0e2 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzleView.prefab b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzleView.prefab index b0f25ae2..3b9760f3 100644 --- a/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzleView.prefab +++ b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzleView.prefab @@ -90,7 +90,7 @@ GameObject: - component: {fileID: 1182749118} - component: {fileID: 1182749117} m_Layer: 5 - m_Name: Button + m_Name: CloseButton m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -111,9 +111,9 @@ RectTransform: m_Father: {fileID: 5985802490743960726} 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: -300} + m_AnchorMin: {x: 0.5, y: 0} + m_AnchorMax: {x: 0.5, y: 0} + m_AnchoredPosition: {x: 0, y: 42} m_SizeDelta: {x: 200, y: 60} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &1182749119 @@ -235,19 +235,13 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 1182749116} - - {fileID: 6762846594198076552} - - {fileID: 1846454047884789607} - - {fileID: 2927381403979945860} - - {fileID: 6882320085104429834} - - {fileID: 2457398021267771712} - - {fileID: 5654079524887260445} m_Father: {fileID: 0} 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: 5.9} - m_SizeDelta: {x: 1122.2, y: 803.8} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0.000015258789} + m_SizeDelta: {x: 0, y: 0.000061035} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &5035808665184864572 MonoBehaviour: @@ -262,789 +256,3 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: IsFinished: 0 ---- !u!1001 &1554954725076181224 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 5985802490743960726} - m_Modifications: - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_SizeDelta.x - value: 300 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_SizeDelta.y - value: 300 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMin.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMin.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMax.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMax.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3026085253074894313, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: 0f2b414aefc0b1f499f3abbcacc000e8, - type: 3} - - target: {fileID: 8518570540395165503, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Name - value: RotatingCircle - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: d947144da63f6d148bbe037343e1bf56, type: 3} ---- !u!224 &1846454047884789607 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - m_PrefabInstance: {fileID: 1554954725076181224} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &2642353875330625547 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 5985802490743960726} - m_Modifications: - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_SizeDelta.x - value: 250 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_SizeDelta.y - value: 250 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMin.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMin.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMax.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMax.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3026085253074894313, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: 0f2b414aefc0b1f499f3abbcacc000e8, - type: 3} - - target: {fileID: 8518570540395165503, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Name - value: RotatingCircle (1) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: d947144da63f6d148bbe037343e1bf56, type: 3} ---- !u!224 &2927381403979945860 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - m_PrefabInstance: {fileID: 2642353875330625547} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &3319660083949057743 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 5985802490743960726} - m_Modifications: - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_RootOrder - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_SizeDelta.x - value: 150 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_SizeDelta.y - value: 150 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMin.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMin.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMax.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMax.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3026085253074894313, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: 0f2b414aefc0b1f499f3abbcacc000e8, - type: 3} - - target: {fileID: 8518570540395165503, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Name - value: RotatingCircle (3) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: d947144da63f6d148bbe037343e1bf56, type: 3} ---- !u!224 &2457398021267771712 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - m_PrefabInstance: {fileID: 3319660083949057743} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &4790968424543849106 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 5985802490743960726} - m_Modifications: - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_RootOrder - value: 6 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_SizeDelta.x - value: 100 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_SizeDelta.y - value: 100 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMin.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMin.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMax.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMax.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3026085253074894313, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: 0f2b414aefc0b1f499f3abbcacc000e8, - type: 3} - - target: {fileID: 8518570540395165503, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Name - value: RotatingCircle (4) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: d947144da63f6d148bbe037343e1bf56, type: 3} ---- !u!224 &5654079524887260445 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - m_PrefabInstance: {fileID: 4790968424543849106} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &5895728805000551175 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 5985802490743960726} - m_Modifications: - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_SizeDelta.x - value: 350 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_SizeDelta.y - value: 350 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMin.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMin.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMax.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMax.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3026085253074894313, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: 0f2b414aefc0b1f499f3abbcacc000e8, - type: 3} - - target: {fileID: 8518570540395165503, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Name - value: RotatingCircle (5) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: d947144da63f6d148bbe037343e1bf56, type: 3} ---- !u!224 &6762846594198076552 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - m_PrefabInstance: {fileID: 5895728805000551175} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &6019424420237798533 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 5985802490743960726} - m_Modifications: - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_RootOrder - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_SizeDelta.x - value: 200 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_SizeDelta.y - value: 200 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMin.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMin.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMax.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_AnchorMax.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3026085253074894313, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: 0f2b414aefc0b1f499f3abbcacc000e8, - type: 3} - - target: {fileID: 8518570540395165503, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - propertyPath: m_Name - value: RotatingCircle (2) - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: d947144da63f6d148bbe037343e1bf56, type: 3} ---- !u!224 &6882320085104429834 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 867966818671290255, guid: d947144da63f6d148bbe037343e1bf56, - type: 3} - m_PrefabInstance: {fileID: 6019424420237798533} - m_PrefabAsset: {fileID: 0} diff --git a/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/LeftRotationButton.prefab b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/LeftRotationButton.prefab new file mode 100644 index 00000000..216b3448 --- /dev/null +++ b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/LeftRotationButton.prefab @@ -0,0 +1,208 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8604968075746721796 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5742974492941762832} + - component: {fileID: 3451741565873588207} + - component: {fileID: 8519700516668784176} + - component: {fileID: 4427936746692720097} + m_Layer: 5 + m_Name: LeftRotationButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5742974492941762832 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8604968075746721796} + 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: 5252724318830848237} + m_Father: {fileID: 0} + 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: -35, y: 370.00006} + m_SizeDelta: {x: 60, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3451741565873588207 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8604968075746721796} + m_CullTransparentMesh: 0 +--- !u!114 &8519700516668784176 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8604968075746721796} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 3c61cd78ed7bb25448a4b8311379b988, 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!114 &4427936746692720097 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8604968075746721796} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 8519700516668784176} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_MethodName: RotateLeft + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &9113849412200529884 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5252724318830848237} + - component: {fileID: 2102490300914958193} + - component: {fileID: 5222979875978404537} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &5252724318830848237 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9113849412200529884} + 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: 5742974492941762832} + 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!222 &2102490300914958193 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9113849412200529884} + m_CullTransparentMesh: 0 +--- !u!114 &5222979875978404537 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9113849412200529884} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: diff --git a/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/LeftRotationButton.prefab.meta b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/LeftRotationButton.prefab.meta new file mode 100644 index 00000000..e0089904 --- /dev/null +++ b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/LeftRotationButton.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 798308956d6075c4b841891b05e9a316 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RightRotationButton.prefab b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RightRotationButton.prefab new file mode 100644 index 00000000..d859871a --- /dev/null +++ b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RightRotationButton.prefab @@ -0,0 +1,208 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6751503566865258120 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6587834958409629510} + - component: {fileID: 6063616929010098130} + - component: {fileID: 8295091452759829728} + - component: {fileID: 4990461229895992137} + m_Layer: 5 + m_Name: RightRotationButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &6587834958409629510 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6751503566865258120} + 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: 8061813720960804563} + m_Father: {fileID: 0} + 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: 35, y: 370.00006} + m_SizeDelta: {x: 60, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6063616929010098130 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6751503566865258120} + m_CullTransparentMesh: 0 +--- !u!114 &8295091452759829728 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6751503566865258120} + 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_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: e1e08eb3f05dc6d429dec912d307a62a, 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!114 &4990461229895992137 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6751503566865258120} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + 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: 8295091452759829728} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 0} + m_MethodName: RotateRight + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 +--- !u!1 &8396270619366394760 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8061813720960804563} + - component: {fileID: 5568691044499500763} + - component: {fileID: 7544303897452563879} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8061813720960804563 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8396270619366394760} + 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: 6587834958409629510} + 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!222 &5568691044499500763 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8396270619366394760} + m_CullTransparentMesh: 0 +--- !u!114 &7544303897452563879 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8396270619366394760} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 14 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 10 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: diff --git a/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RightRotationButton.prefab.meta b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RightRotationButton.prefab.meta new file mode 100644 index 00000000..e2e09c00 --- /dev/null +++ b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RightRotationButton.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 1e009900849381145abeca64cd71deb9 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotatingCircle.prefab b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotatingCircle.prefab index ce310f84..e864b303 100644 --- a/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotatingCircle.prefab +++ b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotatingCircle.prefab @@ -1,6 +1,6 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1 &8518570540395165503 +--- !u!1 &6927427174783677574 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -8,51 +8,51 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 867966818671290255} - - component: {fileID: 7374153112795862674} - - component: {fileID: 3026085253074894313} - - component: {fileID: 8999563559971995070} + - component: {fileID: 3647339344330775748} + - component: {fileID: 6029328819500736042} + - component: {fileID: 361217493685625725} + - component: {fileID: 3438003328174313079} m_Layer: 5 - m_Name: RotatingCircle + m_Name: Image m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &867966818671290255 +--- !u!224 &3647339344330775748 RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8518570540395165503} + m_GameObject: {fileID: 6927427174783677574} 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: 0} + m_Father: {fileID: 867966818671290255} 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: 300, y: 300} + m_SizeDelta: {x: 900, y: 900} m_Pivot: {x: 0.5, y: 0.5} ---- !u!222 &7374153112795862674 +--- !u!222 &6029328819500736042 CanvasRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8518570540395165503} + m_GameObject: {fileID: 6927427174783677574} m_CullTransparentMesh: 0 ---- !u!114 &3026085253074894313 +--- !u!114 &361217493685625725 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8518570540395165503} + m_GameObject: {fileID: 6927427174783677574} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} @@ -64,7 +64,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Sprite: {fileID: 21300000, guid: 0f2b414aefc0b1f499f3abbcacc000e8, type: 3} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 @@ -74,15 +74,60 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 ---- !u!114 &8999563559971995070 +--- !u!114 &3438003328174313079 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8518570540395165503} + m_GameObject: {fileID: 6927427174783677574} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 8005dd99bccd91b40bc06e376f96952a, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &8518570540395165503 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 867966818671290255} + - component: {fileID: 7374153112795862674} + m_Layer: 5 + m_Name: RotatingCircle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &867966818671290255 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8518570540395165503} + 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: 3647339344330775748} + m_Father: {fileID: 0} + 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: 800, y: 800} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7374153112795862674 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8518570540395165503} + m_CullTransparentMesh: 0 diff --git a/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotationButtons.prefab b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotationButtons.prefab new file mode 100644 index 00000000..8164b3f0 --- /dev/null +++ b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotationButtons.prefab @@ -0,0 +1,289 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &6537085033724513595 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3681642564078749028} + m_Layer: 0 + m_Name: RotationButtons + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &3681642564078749028 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6537085033724513595} + 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: 8165793359990326969} + - {fileID: 7447246877406750664} + m_Father: {fileID: 0} + 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: 800, y: 800} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1001 &4338478743376926862 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 3681642564078749028} + m_Modifications: + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 35 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 370 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_SizeDelta.x + value: 60 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6751503566865258120, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + propertyPath: m_Name + value: RightRotationButton + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 1e009900849381145abeca64cd71deb9, type: 3} +--- !u!224 &7447246877406750664 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 6587834958409629510, guid: 1e009900849381145abeca64cd71deb9, + type: 3} + m_PrefabInstance: {fileID: 4338478743376926862} + m_PrefabAsset: {fileID: 0} +--- !u!1001 &4531075410923603881 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 3681642564078749028} + m_Modifications: + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -35 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 370 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_SizeDelta.x + value: 60 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8604968075746721796, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + propertyPath: m_Name + value: LeftRotationButton + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 798308956d6075c4b841891b05e9a316, type: 3} +--- !u!224 &8165793359990326969 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 5742974492941762832, guid: 798308956d6075c4b841891b05e9a316, + type: 3} + m_PrefabInstance: {fileID: 4531075410923603881} + m_PrefabAsset: {fileID: 0} diff --git a/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotationButtons.prefab.meta b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotationButtons.prefab.meta new file mode 100644 index 00000000..391d6323 --- /dev/null +++ b/Rescues/Assets/Resources/Prefabs/Puzzles/CircleMosaicPuzzle/RotationButtons.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a7532346e5d25bd49b2b197065152d1c +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Scripts/Controllers/GameControllers/MainPuzzleController.cs b/Rescues/Assets/Scripts/Controllers/GameControllers/MainPuzzleController.cs index 8fb74be6..29a8d465 100644 --- a/Rescues/Assets/Scripts/Controllers/GameControllers/MainPuzzleController.cs +++ b/Rescues/Assets/Scripts/Controllers/GameControllers/MainPuzzleController.cs @@ -43,7 +43,7 @@ public void Initialize() { var puzzleInstance = GameObject.Instantiate(puzlleBehaviour.Puzzle, canvas.transform); puzlleBehaviour.Puzzle = puzzleInstance; - somePuzzleController.Key.Initialize(puzzleInstance); + somePuzzleController.Key.Initialize(puzzleInstance, puzlleBehaviour); } } } diff --git a/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/CircleMosaicController.cs b/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/CircleMosaicController.cs index aafd1890..58b143d7 100644 --- a/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/CircleMosaicController.cs +++ b/Rescues/Assets/Scripts/Controllers/PuzzlesControllers/CircleMosaicController.cs @@ -1,4 +1,6 @@ -namespace Rescues +using UnityEngine; + +namespace Rescues { public class CircleMosaicController : IPuzzleController { @@ -13,6 +15,8 @@ public void Initialize(Puzzle puzzle, PuzzleBehaviour puzzleBehaviour) puzzle.CheckCompleted += CheckComplete; puzzle.ResetValuesToDefault += ResetValues; + var circlePuzzle = puzzle as CircleMosaicPuzzle; + circlePuzzle.Initialize(puzzleBehaviour.PuzzleData as CircleMosaicData); Close(puzzle); } @@ -31,6 +35,7 @@ public void Close(Puzzle puzzle) public void Finish(Puzzle puzzle) { + Debug.Log("Finished"); puzzle.IsFinished = true; Close(puzzle); } @@ -40,15 +45,9 @@ public void CheckComplete(Puzzle puzzle) var specificPuzzle = puzzle as CircleMosaicPuzzle; if (specificPuzzle != null) { - //var checkCounter = 0; - //for (int i = 0; i < specificPuzzle.Connectors.Count; i++) - //{ - // if (specificPuzzle.Connectors[i].IsCorrectWire) - // checkCounter++; - //} - - //if (checkCounter == specificPuzzle.Connectors.Count - 1) - // Finish(specificPuzzle); + var uncompleteCircles = specificPuzzle.Circles.FindAll(e => Mathf.Abs(e.Angle % 360) != 0); + if (uncompleteCircles.Count == 0) + Finish(specificPuzzle); } } diff --git a/Rescues/Assets/Scripts/Data/CircleMosaicData.cs b/Rescues/Assets/Scripts/Data/CircleMosaicData.cs index 8776024a..8b03ea6c 100644 --- a/Rescues/Assets/Scripts/Data/CircleMosaicData.cs +++ b/Rescues/Assets/Scripts/Data/CircleMosaicData.cs @@ -14,6 +14,8 @@ public struct Rules [Serializable] public struct CircleMoveScheme { + [Range(0, 360)] + public int InitialAngle; [ArrayElementTitleAttribute("Rule")] public Rules[] Rules; } diff --git a/Rescues/Assets/Scripts/LoadAssets/AssetsPathGameObject.cs b/Rescues/Assets/Scripts/LoadAssets/AssetsPathGameObject.cs index 33ed79a1..606c25a7 100644 --- a/Rescues/Assets/Scripts/LoadAssets/AssetsPathGameObject.cs +++ b/Rescues/Assets/Scripts/LoadAssets/AssetsPathGameObject.cs @@ -19,6 +19,12 @@ public sealed class AssetsPathGameObject { ScreenType.GameOver, "Prefabs/UI/Screen/Prefabs_UI_Screen_GameOver" }, }; + public static readonly Dictionary MosaicPuzzleParts = new Dictionary() + { + { MosaicPuzzleAssets.RotatingCircle, "Prefabs/Puzzles/CircleMosaicPuzzle/RotatingCircle" }, + { MosaicPuzzleAssets.Buttons, "Prefabs/Puzzles/CircleMosaicPuzzle/RotationButtons" }, + }; + #endregion } } diff --git a/Rescues/Assets/Scripts/LoadAssets/Type/MosaicPuzzleAssets.cs b/Rescues/Assets/Scripts/LoadAssets/Type/MosaicPuzzleAssets.cs new file mode 100644 index 00000000..9a1bd216 --- /dev/null +++ b/Rescues/Assets/Scripts/LoadAssets/Type/MosaicPuzzleAssets.cs @@ -0,0 +1,8 @@ +namespace Rescues +{ + public enum MosaicPuzzleAssets + { + RotatingCircle = 0, + Buttons = 1 + } +} diff --git a/Rescues/Assets/Scripts/LoadAssets/Type/MosaicPuzzleAssets.cs.meta b/Rescues/Assets/Scripts/LoadAssets/Type/MosaicPuzzleAssets.cs.meta new file mode 100644 index 00000000..d6f73aef --- /dev/null +++ b/Rescues/Assets/Scripts/LoadAssets/Type/MosaicPuzzleAssets.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5d0eff1f4e3c4794b92a53ec8579ffcb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Rescues/Assets/Scripts/Model/CharacterModel.cs b/Rescues/Assets/Scripts/Model/CharacterModel.cs index 0cb4684e..d77cbb87 100644 --- a/Rescues/Assets/Scripts/Model/CharacterModel.cs +++ b/Rescues/Assets/Scripts/Model/CharacterModel.cs @@ -146,7 +146,7 @@ private void SetState(State value) public void StateHandler() { - CustomDebug.Log(PlayerState); + //CustomDebug.Log(PlayerState); switch (_state) { case State.Moving: diff --git a/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzle.cs b/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzle.cs index 08ca986f..c5a9e585 100644 --- a/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzle.cs +++ b/Rescues/Assets/Scripts/Model/Puzzles/CircleMosaicPuzzle/CircleMosaicPuzzle.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; - +using UnityEngine; +using UnityEngine.UI; namespace Rescues { @@ -8,7 +9,9 @@ public class CircleMosaicPuzzle : Puzzle #region Fileds private List _circles = new List(); - + private RotatingCircle _selectedCircle; + private Button[] _buttons; + private Dictionary _rules = new Dictionary(); #endregion @@ -21,19 +24,97 @@ public List Circles #endregion + #region Methods + + public void Initialize(CircleMosaicData data) + { + var circlesData = data.Circles; + + CreateRotatingCircles(circlesData.Length); + + for (int i = 0; i < circlesData.Length; i++) + { + InitializeCircle(_circles[i], data.Angle, circlesData[i]); + } + } + + private void InitializeCircle(RotatingCircle circle, int rotationAngle, CircleMoveScheme scheme) + { + circle.Initialize(rotationAngle, scheme.InitialAngle); + circle.Selected += OnCircleSelected; + circle.Rotated += OnCircleRotated; + + _rules.Add(circle, scheme.Rules); + } + + private void CreateRotatingCircles(int count) + { + for (int i = 0; i < count; i++) + { + var circleAsset = Resources.Load(AssetsPathGameObject.MosaicPuzzleParts[MosaicPuzzleAssets.RotatingCircle]); + + var circleParentObject = Instantiate(circleAsset, transform); - #region UnityMethods + var circleObject = circleParentObject.GetComponentInChildren(); + RectTransform rt = circleObject.GetComponent(); + var size = rt.sizeDelta; + rt.sizeDelta = new Vector2(size.x - (size.x / count * i), size.y - (size.y / count * i)); + + _circles.Add(circleObject); + } + + var buttonsAsset = Resources.Load(AssetsPathGameObject.MosaicPuzzleParts[MosaicPuzzleAssets.Buttons]); + var buttonsObject = Instantiate(buttonsAsset, transform); + + _buttons = buttonsObject.GetComponentsInChildren