From ede5ef1533fe447211c402d49d1d130d97ad6ec2 Mon Sep 17 00:00:00 2001 From: Max Dodd Date: Thu, 23 Jan 2025 10:22:22 +0100 Subject: [PATCH 1/6] Implemented turn passing and taking damage from it. --- PuzzleGameProject/Assets/Scenes/Level_0.unity | 466 +++++++++++++++++- .../Assets/Scripts/GameManager.cs | 42 +- .../Assets/Scripts/PassManager.cs | 36 ++ .../Assets/Scripts/PassManager.cs.meta | 2 + PuzzleGameProject/Assets/Scripts/Player.cs | 39 ++ .../Assets/Scripts/Player.cs.meta | 2 + 6 files changed, 572 insertions(+), 15 deletions(-) create mode 100644 PuzzleGameProject/Assets/Scripts/PassManager.cs create mode 100644 PuzzleGameProject/Assets/Scripts/PassManager.cs.meta create mode 100644 PuzzleGameProject/Assets/Scripts/Player.cs create mode 100644 PuzzleGameProject/Assets/Scripts/Player.cs.meta diff --git a/PuzzleGameProject/Assets/Scenes/Level_0.unity b/PuzzleGameProject/Assets/Scenes/Level_0.unity index ac5c7e6..d139b1e 100644 --- a/PuzzleGameProject/Assets/Scenes/Level_0.unity +++ b/PuzzleGameProject/Assets/Scenes/Level_0.unity @@ -119,6 +119,142 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &46598853 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 46598854} + - component: {fileID: 46598856} + - component: {fileID: 46598855} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &46598854 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 46598853} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 895359723} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &46598855 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 46598853} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Pass + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &46598856 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 46598853} + m_CullTransparentMesh: 1 --- !u!1001 &54550404 PrefabInstance: m_ObjectHideFlags: 0 @@ -376,6 +512,8 @@ MonoBehaviour: state: 0 rooms: {fileID: 1820284205} diceRoller: {fileID: 150116548} + passManager: {fileID: 895359724} + player: {fileID: 1476127625} --- !u!1 &150116543 GameObject: m_ObjectHideFlags: 0 @@ -390,7 +528,7 @@ GameObject: - component: {fileID: 150116545} - component: {fileID: 150116548} m_Layer: 5 - m_Name: Button + m_Name: RollButton m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -413,8 +551,8 @@ RectTransform: 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: 346.17993, y: -216.5268} - m_SizeDelta: {x: 150.14, y: 30} + m_AnchoredPosition: {x: 383.71, y: -217} + m_SizeDelta: {x: 75.07, y: 30} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &150116545 MonoBehaviour: @@ -708,8 +846,10 @@ RectTransform: m_LocalScale: {x: 0, y: 0, z: 0} m_ConstrainProportionsScale: 0 m_Children: - - {fileID: 925126052} + - {fileID: 1535239304} - {fileID: 150116544} + - {fileID: 895359723} + - {fileID: 925126052} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -1100,6 +1240,141 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 1556923700715053098, guid: ca942b415faef4e1ca2ca32043893efd, type: 3} m_PrefabInstance: {fileID: 822843740} m_PrefabAsset: {fileID: 0} +--- !u!1 &895359722 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 895359723} + - component: {fileID: 895359727} + - component: {fileID: 895359726} + - component: {fileID: 895359725} + - component: {fileID: 895359724} + m_Layer: 5 + m_Name: PassButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &895359723 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 895359722} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 46598854} + m_Father: {fileID: 281326036} + 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: 308.63998, y: -217} + m_SizeDelta: {x: 75.06, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &895359724 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 895359722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 95487118287b4514fb9b9fb7018ae717, type: 3} + m_Name: + m_EditorClassIdentifier: + passButton: {fileID: 895359725} +--- !u!114 &895359725 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 895359722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 895359726} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &895359726 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 895359722} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &895359727 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 895359722} + m_CullTransparentMesh: 1 --- !u!1 &925126051 GameObject: m_ObjectHideFlags: 0 @@ -1909,6 +2184,52 @@ Transform: m_CorrespondingSourceObject: {fileID: 9187907134033443523, guid: 92d87e25cc40b3e448e62e8ba0328315, type: 3} m_PrefabInstance: {fileID: 1488361738} m_PrefabAsset: {fileID: 0} +--- !u!1 &1476127624 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1476127626} + - component: {fileID: 1476127625} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1476127625 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1476127624} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 516f63f4d32b3614b92fb0535c742078, type: 3} + m_Name: + m_EditorClassIdentifier: + maxHealth: 20 + healthGameObject: {fileID: 1535239303} +--- !u!4 &1476127626 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1476127624} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1014.4642, y: 342.2176, z: 6.637133} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1488361738 PrefabInstance: m_ObjectHideFlags: 0 @@ -2067,6 +2388,142 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 92d87e25cc40b3e448e62e8ba0328315, type: 3} +--- !u!1 &1535239303 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1535239304} + - component: {fileID: 1535239306} + - component: {fileID: 1535239305} + m_Layer: 5 + m_Name: Health + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1535239304 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535239303} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 281326036} + 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: 346.17993, y: -176.53} + m_SizeDelta: {x: 150.14, y: 50} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1535239305 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535239303} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: New Text + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278255360 + m_fontColor: {r: 0, g: 1, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 4 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1535239306 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1535239303} + m_CullTransparentMesh: 1 --- !u!1 &1544302703 stripped GameObject: m_CorrespondingSourceObject: {fileID: 2435349004046080434, guid: 92d87e25cc40b3e448e62e8ba0328315, type: 3} @@ -2352,6 +2809,7 @@ SceneRoots: m_Roots: - {fileID: 59409728} - {fileID: 126339302} + - {fileID: 1476127626} - {fileID: 1820284206} - {fileID: 812815656} - {fileID: 281326036} diff --git a/PuzzleGameProject/Assets/Scripts/GameManager.cs b/PuzzleGameProject/Assets/Scripts/GameManager.cs index 9dcd006..520b4dd 100644 --- a/PuzzleGameProject/Assets/Scripts/GameManager.cs +++ b/PuzzleGameProject/Assets/Scripts/GameManager.cs @@ -14,17 +14,21 @@ public enum GameState } public class GameManager : MonoBehaviour { - [SerializeField] private GameState state; + [SerializeField] public GameState state; [SerializeField] private GameObject rooms; [SerializeField] private DiceRoller diceRoller; + [SerializeField] private PassManager passManager; + [SerializeField] private Player player; - private DicePair _dicePairOne = new DicePair(); - private DicePair _dicePairTwo = new DicePair(); + private DicePair _dicePairOne = new(); + private DicePair _dicePairTwo = new(); + public event EventHandler StateChanged; // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { diceRoller.diceRolled += DiceRolled; + passManager.PassRequested += PassRequested; foreach (Transform roomTransform in rooms.transform) { roomTransform.gameObject.GetComponent().ValidRoomClicked += ValidRoomClicked; @@ -35,10 +39,15 @@ public class GameManager : MonoBehaviour } StartNewTurn(); } + + private void ChangeState(GameState stateToChangeTo) { + state = stateToChangeTo; + StateChanged?.Invoke(this, state); + } private void StartNewTurn() { - state = GameState.RollDice; + ChangeState(GameState.RollDice); diceRoller.Enable(); diceRoller.ResetDice(); _dicePairOne = new DicePair(); @@ -61,13 +70,12 @@ public class GameManager : MonoBehaviour room.SetRoomExplored(); if (state == GameState.PickRoomOne) { - state = GameState.PickDiceTwo; + ChangeState(GameState.PickDiceTwo); } else { StartNewTurn(); } - } void DieClicked(object sender, Die die) @@ -82,7 +90,7 @@ public class GameManager : MonoBehaviour if (_dicePairOne.AreBothDiceSelected()) { - state = GameState.PickRoomOne; + ChangeState(GameState.PickRoomOne); HighLightValidRoomsWithNumber(_dicePairOne); } } @@ -101,7 +109,7 @@ public class GameManager : MonoBehaviour if (_dicePairTwo.AreBothDiceSelected()) { - state = GameState.PickRoomTwo; + ChangeState(GameState.PickRoomTwo); HighLightValidRoomsWithNumber(_dicePairTwo); } } @@ -117,7 +125,7 @@ public class GameManager : MonoBehaviour { _dicePairOne.UnselectDie(die); UnhighLightRoomsAsOptions(); - state = GameState.PickDiceOne; + ChangeState(GameState.PickDiceOne); } break; case GameState.PickRoomTwo: @@ -125,12 +133,17 @@ public class GameManager : MonoBehaviour { _dicePairTwo.UnselectDie(die); UnhighLightRoomsAsOptions(); - state = GameState.PickDiceTwo; + ChangeState(GameState.PickDiceTwo); } break; } } + private void PassTurn() { + player.TakeDamage(1); + StartNewTurn(); + } + void HighLightValidRoomsWithNumber(DicePair pair) { foreach (Transform roomTransform in rooms.transform) @@ -156,7 +169,14 @@ public class GameManager : MonoBehaviour if (state == GameState.RollDice) { diceRoller.Disable(); - state = GameState.PickDiceOne; + ChangeState(GameState.PickDiceOne); + } + } + + private void PassRequested(object sender, EventArgs e) { + if (state is GameState.PickDiceOne or GameState.PickDiceTwo) + { + PassTurn(); } } } diff --git a/PuzzleGameProject/Assets/Scripts/PassManager.cs b/PuzzleGameProject/Assets/Scripts/PassManager.cs new file mode 100644 index 0000000..4666911 --- /dev/null +++ b/PuzzleGameProject/Assets/Scripts/PassManager.cs @@ -0,0 +1,36 @@ +using System; +using UnityEngine; +using UnityEngine.UIElements; +using UnityEngine.Video; +using Button = UnityEngine.UI.Button; + +public class PassManager : MonoBehaviour +{ + [SerializeField] private Button passButton; + [SerializeField] private GameManager gameManager; + + public event EventHandler PassRequested; + + // Start is called once before the first execution of Update after the MonoBehaviour is created + void Start() + { + passButton.onClick.AddListener(OnPassClicked); + gameManager.StateChanged += OnGameStateChange; + } + + private void OnGameStateChange(object sender, GameState state) { + if (state == GameState.RollDice) + { + passButton.interactable = false; + } + else + { + passButton.interactable = true; + } + } + + private void OnPassClicked() + { + PassRequested?.Invoke(this, EventArgs.Empty); + } +} diff --git a/PuzzleGameProject/Assets/Scripts/PassManager.cs.meta b/PuzzleGameProject/Assets/Scripts/PassManager.cs.meta new file mode 100644 index 0000000..cdfdff3 --- /dev/null +++ b/PuzzleGameProject/Assets/Scripts/PassManager.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 95487118287b4514fb9b9fb7018ae717 \ No newline at end of file diff --git a/PuzzleGameProject/Assets/Scripts/Player.cs b/PuzzleGameProject/Assets/Scripts/Player.cs new file mode 100644 index 0000000..231fb7e --- /dev/null +++ b/PuzzleGameProject/Assets/Scripts/Player.cs @@ -0,0 +1,39 @@ +using System; +using Microsoft.Unity.VisualStudio.Editor; +using TMPro; +using UnityEngine; + +public class Player : MonoBehaviour +{ + [SerializeField] private int maxHealth; + [SerializeField] private GameObject healthGameObject; + private int _healthIndex = 0; + private readonly int[] _healthBar = {0, 0, -1, -2, -4, -6, -9, -12, -16, -20}; + + private void Start() { + UpdateGUI(); + } + + public void TakeDamage(int damage) + { + if (_healthIndex + damage < _healthBar.Length) + { + _healthIndex += damage; + UpdateGUI(); + } + } + + public void Heal(int healAmount) + { + if (_healthIndex - healAmount >= 0) + { + _healthIndex -= healAmount; + UpdateGUI(); + } + } + + private void UpdateGUI() + { + healthGameObject.GetComponent().text = _healthBar[_healthIndex].ToString(); + } +} diff --git a/PuzzleGameProject/Assets/Scripts/Player.cs.meta b/PuzzleGameProject/Assets/Scripts/Player.cs.meta new file mode 100644 index 0000000..edd3ced --- /dev/null +++ b/PuzzleGameProject/Assets/Scripts/Player.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 516f63f4d32b3614b92fb0535c742078 \ No newline at end of file From e7ea8302ad9c5da629bcf5f42f430472ca090f97 Mon Sep 17 00:00:00 2001 From: Max Dodd Date: Sat, 25 Jan 2025 17:18:01 +0100 Subject: [PATCH 2/6] Refactored clicking on dice and rooms so that logic is moved out of the game manager --- PuzzleGameProject/Assets/Scenes/Level_0.unity | 19 +++- PuzzleGameProject/Assets/Scripts/DicePair.cs | 2 + PuzzleGameProject/Assets/Scripts/Die.cs | 49 ++++++++-- .../Assets/Scripts/GameManager.cs | 93 +++++++++---------- .../Assets/Scripts/GameManager.cs.meta | 11 ++- .../Assets/Scripts/PassManager.cs | 4 +- .../Assets/Scripts/PassManager.cs.meta | 11 ++- PuzzleGameProject/Assets/Scripts/Room.cs | 28 +++++- 8 files changed, 150 insertions(+), 67 deletions(-) diff --git a/PuzzleGameProject/Assets/Scenes/Level_0.unity b/PuzzleGameProject/Assets/Scenes/Level_0.unity index d139b1e..79aaef7 100644 --- a/PuzzleGameProject/Assets/Scenes/Level_0.unity +++ b/PuzzleGameProject/Assets/Scenes/Level_0.unity @@ -1293,6 +1293,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: passButton: {fileID: 895359725} + gameManager: {fileID: 126339304} --- !u!114 &895359725 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1332,7 +1333,7 @@ MonoBehaviour: m_PressedTrigger: Pressed m_SelectedTrigger: Selected m_DisabledTrigger: Disabled - m_Interactable: 1 + m_Interactable: 0 m_TargetGraphic: {fileID: 895359726} m_OnClick: m_PersistentCalls: @@ -1648,6 +1649,10 @@ PrefabInstance: serializedVersion: 3 m_TransformParent: {fileID: 1820284206} m_Modifications: + - target: {fileID: 1770509300873928573, guid: 92d87e25cc40b3e448e62e8ba0328315, type: 3} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} - target: {fileID: 2435349004046080434, guid: 92d87e25cc40b3e448e62e8ba0328315, type: 3} propertyPath: m_Name value: Room (1) @@ -1660,6 +1665,10 @@ PrefabInstance: propertyPath: keyType value: 1 objectReference: {fileID: 0} + - target: {fileID: 2727030095425591755, guid: 92d87e25cc40b3e448e62e8ba0328315, type: 3} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} - target: {fileID: 2727030095425591755, guid: 92d87e25cc40b3e448e62e8ba0328315, type: 3} propertyPath: isEntrance value: 1 @@ -1684,6 +1693,14 @@ PrefabInstance: propertyPath: 'unexploredAdjacentRooms.Array.data[0]' value: objectReference: {fileID: 794442986} + - target: {fileID: 4019891345885281529, guid: 92d87e25cc40b3e448e62e8ba0328315, type: 3} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4019891345885281529, guid: 92d87e25cc40b3e448e62e8ba0328315, type: 3} + propertyPath: m_IsTrigger + value: 1 + objectReference: {fileID: 0} - target: {fileID: 9187907134033443523, guid: 92d87e25cc40b3e448e62e8ba0328315, type: 3} propertyPath: m_LocalPosition.x value: -3.647156 diff --git a/PuzzleGameProject/Assets/Scripts/DicePair.cs b/PuzzleGameProject/Assets/Scripts/DicePair.cs index 75c7c9d..f5d21ec 100644 --- a/PuzzleGameProject/Assets/Scripts/DicePair.cs +++ b/PuzzleGameProject/Assets/Scripts/DicePair.cs @@ -6,6 +6,8 @@ public class DicePair public void SelectDie(Die die) { + if (ContainsDie(die)) return; + if (_pair.Item1 == null && _pair.Item2 == null) { _pair.Item1 = die; diff --git a/PuzzleGameProject/Assets/Scripts/Die.cs b/PuzzleGameProject/Assets/Scripts/Die.cs index fcd6f63..f4b4e86 100644 --- a/PuzzleGameProject/Assets/Scripts/Die.cs +++ b/PuzzleGameProject/Assets/Scripts/Die.cs @@ -15,11 +15,14 @@ public class Die : MonoBehaviour private int _result = 0; [SerializeField] private Button dieButton; // assign in the editor private Color originalColor; - public event EventHandler DieClicked; + private bool _isClickable = false; + private bool _selected = false; + public event Action DieSelected; + public event Action DieUnselected; - private void Start() - { - dieButton.onClick.AddListener(() => { DiePressed();}); + private void Start() { + GameManager.Instance.StateChanged += HandleStateChange; + dieButton.onClick.AddListener(DiePressed); originalColor = gameObject.GetComponent().color; } @@ -34,8 +37,8 @@ public class Die : MonoBehaviour return _result; } - public void ResetDie() - { + public void ResetDie() { + _selected = false; gameObject.GetComponent().color = originalColor; gameObject.GetComponent().enabled = false; } @@ -56,18 +59,46 @@ public class Die : MonoBehaviour private void DiePressed() { - DieClicked?.Invoke(this, this); + if (!_isClickable) return; + + if (_selected) + { + DieUnselected?.Invoke(this); + } + else + { + DieSelected?.Invoke(this); + } } private void DieSelectedButPairNotComplete() { + _selected = true; gameObject.GetComponent().enabled = true; } - private void DieSelectedAndPairComplete() - { + private void DieSelectedAndPairComplete() { + _selected = true; gameObject.GetComponent().enabled = false; gameObject.GetComponent().color = ColorHelper.AddColorTint(gameObject.GetComponent().color, ColorHelper.OkayGreen, 0.5f); } + + private void HandleStateChange(GameState state) { + switch (state) + { + case GameState.PickDiceOne: + case GameState.PickDiceTwo: + case GameState.PickRoomOne: + case GameState.PickRoomTwo: + _isClickable = true; + break; + case GameState.RollDice: + _isClickable = false; + break; + default: + _isClickable = false; + break; + } + } } diff --git a/PuzzleGameProject/Assets/Scripts/GameManager.cs b/PuzzleGameProject/Assets/Scripts/GameManager.cs index 520b4dd..391a7ca 100644 --- a/PuzzleGameProject/Assets/Scripts/GameManager.cs +++ b/PuzzleGameProject/Assets/Scripts/GameManager.cs @@ -3,6 +3,7 @@ using UnityEngine; using Object = UnityEngine.Object; using System.Collections.Generic; using TMPro; +using Unity.VisualScripting; public enum GameState { @@ -14,6 +15,8 @@ public enum GameState } public class GameManager : MonoBehaviour { + public static GameManager Instance { get; private set; } + [SerializeField] public GameState state; [SerializeField] private GameObject rooms; [SerializeField] private DiceRoller diceRoller; @@ -22,8 +25,16 @@ public class GameManager : MonoBehaviour private DicePair _dicePairOne = new(); private DicePair _dicePairTwo = new(); - public event EventHandler StateChanged; - + public event Action StateChanged; + + private void Awake() { + if (Instance != null && Instance != this) { + Destroy(gameObject); + return; + } + Instance = this; + } + // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { @@ -35,14 +46,18 @@ public class GameManager : MonoBehaviour } foreach (Transform diceTransform in diceRoller.dice.transform) { - diceTransform.gameObject.GetComponent().DieClicked += DieClicked; + diceTransform.gameObject.GetComponent().DieSelected += HandleDieSelected; + diceTransform.gameObject.GetComponent().DieUnselected += HandleDieUnselected; } StartNewTurn(); } private void ChangeState(GameState stateToChangeTo) { - state = stateToChangeTo; - StateChanged?.Invoke(this, state); + if (state != stateToChangeTo) + { + state = stateToChangeTo; + StateChanged?.Invoke(state); + } } private void StartNewTurn() @@ -55,11 +70,6 @@ public class GameManager : MonoBehaviour } void ValidRoomClicked(object sender, Room room) { - if (state != GameState.PickRoomOne && state != GameState.PickRoomTwo) - { - return; - } - switch (state) { case GameState.PickRoomOne when !room.TryUnlock(_dicePairOne): @@ -78,63 +88,50 @@ public class GameManager : MonoBehaviour } } - void DieClicked(object sender, Die die) - { + private void HandleDieSelected(Die die) { switch (state) { case GameState.PickDiceOne: - { - if (!_dicePairOne.ContainsDie(die)) + _dicePairOne.SelectDie(die); + if (_dicePairOne.AreBothDiceSelected()) { - _dicePairOne.SelectDie(die); - - if (_dicePairOne.AreBothDiceSelected()) - { - ChangeState(GameState.PickRoomOne); - HighLightValidRoomsWithNumber(_dicePairOne); - } + ChangeState(GameState.PickRoomOne); + HighLightValidRoomsWithNumber(_dicePairOne); } - else - { - _dicePairOne.UnselectDie(die); - } - break; - } case GameState.PickDiceTwo: - { - if (!_dicePairTwo.ContainsDie(die) && !_dicePairOne.ContainsDie(die)) + _dicePairTwo.SelectDie(die); + if (_dicePairTwo.AreBothDiceSelected()) { - _dicePairTwo.SelectDie(die); - - if (_dicePairTwo.AreBothDiceSelected()) - { - ChangeState(GameState.PickRoomTwo); - HighLightValidRoomsWithNumber(_dicePairTwo); - } + ChangeState(GameState.PickRoomTwo); + HighLightValidRoomsWithNumber(_dicePairTwo); } - else if (_dicePairTwo.ContainsDie(die)) - { - _dicePairTwo.UnselectDie(die); - } - break; - } + default: + return; + } + } + + private void HandleDieUnselected(Die die) { + switch (state) + { + case GameState.PickDiceOne: case GameState.PickRoomOne: - if (_dicePairOne.ContainsDie(die)) + if (state == GameState.PickRoomOne) { - _dicePairOne.UnselectDie(die); - UnhighLightRoomsAsOptions(); ChangeState(GameState.PickDiceOne); } + _dicePairOne.UnselectDie(die); + UnhighLightRoomsAsOptions(); break; + case GameState.PickDiceTwo: case GameState.PickRoomTwo: - if (_dicePairTwo.ContainsDie(die)) + if (state == GameState.PickRoomTwo) { - _dicePairTwo.UnselectDie(die); - UnhighLightRoomsAsOptions(); ChangeState(GameState.PickDiceTwo); } + _dicePairTwo.UnselectDie(die); + UnhighLightRoomsAsOptions(); break; } } diff --git a/PuzzleGameProject/Assets/Scripts/GameManager.cs.meta b/PuzzleGameProject/Assets/Scripts/GameManager.cs.meta index 292f5bf..8ae3f21 100644 --- a/PuzzleGameProject/Assets/Scripts/GameManager.cs.meta +++ b/PuzzleGameProject/Assets/Scripts/GameManager.cs.meta @@ -1,2 +1,11 @@ fileFormatVersion: 2 -guid: 85fe57d438ef1ec4fa8b36b9c17c11a4 \ No newline at end of file +guid: 85fe57d438ef1ec4fa8b36b9c17c11a4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 1 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/PuzzleGameProject/Assets/Scripts/PassManager.cs b/PuzzleGameProject/Assets/Scripts/PassManager.cs index 4666911..1514ed4 100644 --- a/PuzzleGameProject/Assets/Scripts/PassManager.cs +++ b/PuzzleGameProject/Assets/Scripts/PassManager.cs @@ -15,10 +15,10 @@ public class PassManager : MonoBehaviour void Start() { passButton.onClick.AddListener(OnPassClicked); - gameManager.StateChanged += OnGameStateChange; + gameManager.StateChanged += HandleStateChange; } - private void OnGameStateChange(object sender, GameState state) { + private void HandleStateChange(GameState state) { if (state == GameState.RollDice) { passButton.interactable = false; diff --git a/PuzzleGameProject/Assets/Scripts/PassManager.cs.meta b/PuzzleGameProject/Assets/Scripts/PassManager.cs.meta index cdfdff3..3b96a40 100644 --- a/PuzzleGameProject/Assets/Scripts/PassManager.cs.meta +++ b/PuzzleGameProject/Assets/Scripts/PassManager.cs.meta @@ -1,2 +1,11 @@ fileFormatVersion: 2 -guid: 95487118287b4514fb9b9fb7018ae717 \ No newline at end of file +guid: 95487118287b4514fb9b9fb7018ae717 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/PuzzleGameProject/Assets/Scripts/Room.cs b/PuzzleGameProject/Assets/Scripts/Room.cs index b9fb2f3..120c61b 100644 --- a/PuzzleGameProject/Assets/Scripts/Room.cs +++ b/PuzzleGameProject/Assets/Scripts/Room.cs @@ -20,12 +20,12 @@ public class Room : MonoBehaviour public event EventHandler ValidRoomClicked; bool _isExplored = false; - + private bool _isClickable = true; private Color _roomNumberOriginalColor; // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { - + GameManager.Instance.StateChanged += HandleStateChange; if (isEntrance) { SetPropertiesOfEntrance(); @@ -44,6 +44,10 @@ public class Room : MonoBehaviour } } + private void OnEnable() { + + } + public void SetRoomExplored() { _isExplored = true; UnhighlightRoomAsOption(); @@ -66,12 +70,11 @@ public class Room : MonoBehaviour isEntrance = true; } - IEnumerator OnMouseDown() - { + void OnMouseDown() { + if (!_isClickable) return; if (IsValidRoomToExplore()) { OnValidRoomClicked(); } - yield return null; } protected virtual void OnValidRoomClicked() { @@ -126,4 +129,19 @@ public class Room : MonoBehaviour return false; } + + private void HandleStateChange(GameState state) { + switch (state) + { + case GameState.PickDiceOne: + case GameState.PickDiceTwo: + case GameState.RollDice: + _isClickable = false; + break; + case GameState.PickRoomTwo: + case GameState.PickRoomOne: + _isClickable = true; + break; + } + } } From 0e869555d32bdef41e8bb82fd03741418f1d0590 Mon Sep 17 00:00:00 2001 From: Maxwell Dodd Date: Sat, 25 Jan 2025 20:06:21 +0100 Subject: [PATCH 3/6] Implemented simple computer camera controls. --- .../Assets/Scripts/PlayerController.cs | 41 +++++++++++++++++++ .../Assets/Scripts/PlayerController.cs.meta | 2 + 2 files changed, 43 insertions(+) create mode 100644 PuzzleGameProject/Assets/Scripts/PlayerController.cs create mode 100644 PuzzleGameProject/Assets/Scripts/PlayerController.cs.meta diff --git a/PuzzleGameProject/Assets/Scripts/PlayerController.cs b/PuzzleGameProject/Assets/Scripts/PlayerController.cs new file mode 100644 index 0000000..800692f --- /dev/null +++ b/PuzzleGameProject/Assets/Scripts/PlayerController.cs @@ -0,0 +1,41 @@ +using UnityEngine; +using UnityEngine.EventSystems; + +public class PlayerController : MonoBehaviour +{ + private Vector3 _lastMousePosition; + private Camera _camera; + private bool _canMove; + + private void Start() { + _camera = Camera.main; + } + + private void Update() { + CheckMovementInput(); + } + + private void CheckMovementInput() { + if (Input.GetMouseButtonDown(0)) + { + _lastMousePosition = Input.mousePosition; + _canMove = !IsMouseOverUI(); + } + + if (!Input.GetMouseButton(0) || !_canMove) return; + + Vector3 mouseWorldPoint = _camera.ScreenToWorldPoint(Input.mousePosition); + Vector3 lastWorldPoint = _camera.ScreenToWorldPoint(_lastMousePosition); + + Vector3 delta = mouseWorldPoint - lastWorldPoint; + + _lastMousePosition = Input.mousePosition; + + _camera.transform.position -= delta; + } + + private bool IsMouseOverUI() { + return EventSystem.current.IsPointerOverGameObject(); + } +} + diff --git a/PuzzleGameProject/Assets/Scripts/PlayerController.cs.meta b/PuzzleGameProject/Assets/Scripts/PlayerController.cs.meta new file mode 100644 index 0000000..8648914 --- /dev/null +++ b/PuzzleGameProject/Assets/Scripts/PlayerController.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 01621b291be214dc6bf7ab90a7cb0d79 \ No newline at end of file From bcfd42147bc9b0bec399092b76645b9bbb635b4d Mon Sep 17 00:00:00 2001 From: Maxwell Dodd Date: Mon, 27 Jan 2025 14:16:20 +0100 Subject: [PATCH 4/6] Added the ability to use a limited number of black dice. --- .../Assets/Prefabs/BlackDieAbiliy.prefab | 259 +++++++ .../Assets/Prefabs/BlackDieAbiliy.prefab.meta | 7 + PuzzleGameProject/Assets/Prefabs/Room.prefab | 7 +- PuzzleGameProject/Assets/Scenes/Level_0.unity | 684 +++++++++++++++++- .../Assets/Scripts/Abilities.meta | 8 + .../Scripts/Abilities/BlackDieAbility.cs | 74 ++ .../Scripts/Abilities/BlackDieAbility.cs.meta | 2 + PuzzleGameProject/Assets/Scripts/Die.cs | 23 +- .../Assets/Scripts/GameManager.cs | 13 +- .../Assets/Scripts/PassManager.cs | 3 +- PuzzleGameProject/Assets/Scripts/Room.cs | 2 +- .../LiberationSans SDF.asset | 2 +- 12 files changed, 1058 insertions(+), 26 deletions(-) create mode 100644 PuzzleGameProject/Assets/Prefabs/BlackDieAbiliy.prefab create mode 100644 PuzzleGameProject/Assets/Prefabs/BlackDieAbiliy.prefab.meta create mode 100644 PuzzleGameProject/Assets/Scripts/Abilities.meta create mode 100644 PuzzleGameProject/Assets/Scripts/Abilities/BlackDieAbility.cs create mode 100644 PuzzleGameProject/Assets/Scripts/Abilities/BlackDieAbility.cs.meta diff --git a/PuzzleGameProject/Assets/Prefabs/BlackDieAbiliy.prefab b/PuzzleGameProject/Assets/Prefabs/BlackDieAbiliy.prefab new file mode 100644 index 0000000..f6ca59c --- /dev/null +++ b/PuzzleGameProject/Assets/Prefabs/BlackDieAbiliy.prefab @@ -0,0 +1,259 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5293741749250652686 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4874973863404433756} + - component: {fileID: 1855216729025243642} + - component: {fileID: 6494629451359164186} + m_Layer: 0 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4874973863404433756 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5293741749250652686} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8989188457857827130} + 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 &1855216729025243642 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5293741749250652686} + m_CullTransparentMesh: 1 +--- !u!114 &6494629451359164186 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5293741749250652686} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &6167039396952026974 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8989188457857827130} + - component: {fileID: 7568565659390603518} + - component: {fileID: 9157113186282288804} + - component: {fileID: 1648245930821754079} + m_Layer: 0 + m_Name: BlackDieAbiliy + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8989188457857827130 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6167039396952026974} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 4874973863404433756} + m_Father: {fileID: 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: 30, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7568565659390603518 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6167039396952026974} + m_CullTransparentMesh: 1 +--- !u!114 &9157113186282288804 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6167039396952026974} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.21698111, g: 0.21698111, b: 0.21698111, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 0 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &1648245930821754079 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6167039396952026974} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 9157113186282288804} + m_OnClick: + m_PersistentCalls: + m_Calls: [] diff --git a/PuzzleGameProject/Assets/Prefabs/BlackDieAbiliy.prefab.meta b/PuzzleGameProject/Assets/Prefabs/BlackDieAbiliy.prefab.meta new file mode 100644 index 0000000..929d250 --- /dev/null +++ b/PuzzleGameProject/Assets/Prefabs/BlackDieAbiliy.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 66fcddbe7a3c341c5b9ca4f8801259a6 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/PuzzleGameProject/Assets/Prefabs/Room.prefab b/PuzzleGameProject/Assets/Prefabs/Room.prefab index be84a20..ec70213 100644 --- a/PuzzleGameProject/Assets/Prefabs/Room.prefab +++ b/PuzzleGameProject/Assets/Prefabs/Room.prefab @@ -103,10 +103,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 129987f6d2a5e97458682506ddec4576, type: 3} m_Name: m_EditorClassIdentifier: - number: 0 numberTextObject: {fileID: 8119019481281764985} adjacentRooms: [] isEntrance: 0 + keyType: 0 + number: 0 --- !u!61 &4019891345885281529 BoxCollider2D: m_ObjectHideFlags: 0 @@ -344,8 +345,8 @@ MonoBehaviour: m_fontMaterials: [] m_fontColor32: serializedVersion: 2 - rgba: 4294967295 - m_fontColor: {r: 1, g: 1, b: 1, a: 1} + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} m_enableVertexGradient: 0 m_colorMode: 3 m_fontColorGradient: diff --git a/PuzzleGameProject/Assets/Scenes/Level_0.unity b/PuzzleGameProject/Assets/Scenes/Level_0.unity index 79aaef7..00e37ab 100644 --- a/PuzzleGameProject/Assets/Scenes/Level_0.unity +++ b/PuzzleGameProject/Assets/Scenes/Level_0.unity @@ -850,6 +850,7 @@ RectTransform: - {fileID: 150116544} - {fileID: 895359723} - {fileID: 925126052} + - {fileID: 1814492475} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -934,6 +935,11 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 92d87e25cc40b3e448e62e8ba0328315, type: 3} +--- !u!1 &433171258 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 6167039396952026974, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + m_PrefabInstance: {fileID: 823517837} + m_PrefabAsset: {fileID: 0} --- !u!1 &497017778 stripped GameObject: m_CorrespondingSourceObject: {fileID: 2435349004046080434, guid: 92d87e25cc40b3e448e62e8ba0328315, type: 3} @@ -1240,6 +1246,109 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 1556923700715053098, guid: ca942b415faef4e1ca2ca32043893efd, type: 3} m_PrefabInstance: {fileID: 822843740} m_PrefabAsset: {fileID: 0} +--- !u!1001 &823517837 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 917054544} + m_Modifications: + - target: {fileID: 6167039396952026974, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_Name + value: BlackDieAbility 3 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_SizeDelta.x + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalPosition.z + value: 3.3417058 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_AnchoredPosition.x + value: 94.62286 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_AnchoredPosition.y + value: 2.0364685 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 203272712866963024, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} +--- !u!224 &823517838 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + m_PrefabInstance: {fileID: 823517837} + m_PrefabAsset: {fileID: 0} --- !u!1 &895359722 GameObject: m_ObjectHideFlags: 0 @@ -1293,7 +1402,6 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: passButton: {fileID: 895359725} - gameManager: {fileID: 126339304} --- !u!114 &895359725 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1376,6 +1484,58 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 895359722} m_CullTransparentMesh: 1 +--- !u!1 &917054543 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 917054544} + - component: {fileID: 917054545} + m_Layer: 0 + m_Name: BlackDieAbility + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &917054544 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 917054543} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 87.37714, y: 73.96353, z: -3.3417058} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1559063331} + - {fileID: 3593554174308038845} + - {fileID: 823517838} + - {fileID: 1399634513} + m_Father: {fileID: 1814492475} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &917054545 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 917054543} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 79af16baa8fbe4744817b63d2b6f2007, type: 3} + m_Name: + m_EditorClassIdentifier: + abilityUseOne: {fileID: 1015328860} + abilityUseTwo: {fileID: 2048429964} + abilityUseThree: {fileID: 433171258} + _uses: 3 --- !u!1 &925126051 GameObject: m_ObjectHideFlags: 0 @@ -1827,6 +1987,11 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 92d87e25cc40b3e448e62e8ba0328315, type: 3} +--- !u!1 &1015328860 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 6167039396952026974, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + m_PrefabInstance: {fileID: 1559063330} + m_PrefabAsset: {fileID: 0} --- !u!1001 &1093117749 PrefabInstance: m_ObjectHideFlags: 0 @@ -1998,6 +2163,34 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 6156510816236760012, guid: de405f9dca058480ab9e8433965408b2, type: 3} + propertyPath: m_Color.b + value: 0.27450982 + objectReference: {fileID: 0} + - target: {fileID: 6156510816236760012, guid: de405f9dca058480ab9e8433965408b2, type: 3} + propertyPath: m_Color.g + value: 0.27450982 + objectReference: {fileID: 0} + - target: {fileID: 6156510816236760012, guid: de405f9dca058480ab9e8433965408b2, type: 3} + propertyPath: m_Color.r + value: 0.27450982 + objectReference: {fileID: 0} + - target: {fileID: 7735920291706219313, guid: de405f9dca058480ab9e8433965408b2, type: 3} + propertyPath: m_fontColor.b + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7735920291706219313, guid: de405f9dca058480ab9e8433965408b2, type: 3} + propertyPath: m_fontColor.g + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7735920291706219313, guid: de405f9dca058480ab9e8433965408b2, type: 3} + propertyPath: m_fontColor.r + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 7735920291706219313, guid: de405f9dca058480ab9e8433965408b2, type: 3} + propertyPath: m_fontColor32.rgba + value: 4294835709 + objectReference: {fileID: 0} - target: {fileID: 7874367151511621086, guid: de405f9dca058480ab9e8433965408b2, type: 3} propertyPath: m_Name value: Black Die @@ -2114,6 +2307,142 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 1556923700715053098, guid: ca942b415faef4e1ca2ca32043893efd, type: 3} m_PrefabInstance: {fileID: 1181921798} m_PrefabAsset: {fileID: 0} +--- !u!1 &1399634512 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1399634513} + - component: {fileID: 1399634515} + - component: {fileID: 1399634514} + m_Layer: 0 + m_Name: AbilityText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1399634513 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1399634512} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 3.3417058} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 917054544} + 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: 56.7, y: 32.3} + m_SizeDelta: {x: 103.5541, y: 24.1728} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1399634514 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1399634512} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: Black Dice + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 21.8 + m_fontSizeBase: 21.8 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1399634515 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1399634512} + m_CullTransparentMesh: 1 --- !u!1001 &1403062838 PrefabInstance: m_ObjectHideFlags: 0 @@ -2211,6 +2540,7 @@ GameObject: m_Component: - component: {fileID: 1476127626} - component: {fileID: 1476127625} + - component: {fileID: 1476127627} m_Layer: 0 m_Name: Player m_TagString: Untagged @@ -2247,6 +2577,18 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1476127627 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1476127624} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 01621b291be214dc6bf7ab90a7cb0d79, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &1488361738 PrefabInstance: m_ObjectHideFlags: 0 @@ -2405,6 +2747,81 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 92d87e25cc40b3e448e62e8ba0328315, type: 3} +--- !u!1 &1502981336 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1502981337} + - component: {fileID: 1502981339} + - component: {fileID: 1502981338} + m_Layer: 0 + m_Name: AbilityPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1502981337 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1502981336} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1814492475} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 144.56882, y: 150.47821} + m_SizeDelta: {x: 115.6624, y: 193.2213} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1502981338 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1502981336} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!222 &1502981339 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1502981336} + m_CullTransparentMesh: 1 --- !u!1 &1535239303 GameObject: m_ObjectHideFlags: 0 @@ -2439,7 +2856,7 @@ RectTransform: 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: 346.17993, y: -176.53} + m_AnchoredPosition: {x: 222, y: 230} m_SizeDelta: {x: 150.14, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1535239305 @@ -2471,8 +2888,8 @@ MonoBehaviour: m_fontMaterials: [] m_fontColor32: serializedVersion: 2 - rgba: 4278255360 - m_fontColor: {r: 0, g: 1, b: 0, a: 1} + rgba: 4278255434 + m_fontColor: {r: 0.29063714, g: 1, b: 0, a: 1} m_enableVertexGradient: 0 m_colorMode: 3 m_fontColorGradient: @@ -2551,6 +2968,124 @@ Transform: m_CorrespondingSourceObject: {fileID: 9187907134033443523, guid: 92d87e25cc40b3e448e62e8ba0328315, type: 3} m_PrefabInstance: {fileID: 1093117749} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1559063330 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 917054544} + m_Modifications: + - target: {fileID: 203272712866963024, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_Colors.m_ColorMultiplier + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 203272712866963024, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_Colors.m_DisabledColor.b + value: 0.7924528 + objectReference: {fileID: 0} + - target: {fileID: 203272712866963024, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_Colors.m_DisabledColor.g + value: 0.7924528 + objectReference: {fileID: 0} + - target: {fileID: 203272712866963024, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_Colors.m_DisabledColor.r + value: 0.7924528 + objectReference: {fileID: 0} + - target: {fileID: 6167039396952026974, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_Name + value: BlackDieAbility 1 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_SizeDelta.x + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalPosition.z + value: 1.1596711 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_AnchoredPosition.x + value: 20.622864 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_AnchoredPosition.y + value: 1.5364685 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} +--- !u!224 &1559063331 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + m_PrefabInstance: {fileID: 1559063330} + m_PrefabAsset: {fileID: 0} --- !u!1 &1572334875 stripped GameObject: m_CorrespondingSourceObject: {fileID: 2435349004046080434, guid: 92d87e25cc40b3e448e62e8ba0328315, type: 3} @@ -2673,6 +3208,39 @@ RectTransform: m_CorrespondingSourceObject: {fileID: 1556923700715053098, guid: ca942b415faef4e1ca2ca32043893efd, type: 3} m_PrefabInstance: {fileID: 1804569631} m_PrefabAsset: {fileID: 0} +--- !u!1 &1814492474 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1814492475} + m_Layer: 0 + m_Name: Abilities + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1814492475 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1814492474} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 217.57709, y: 11.303192, z: 2.1820347} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1502981337} + - {fileID: 917054544} + m_Father: {fileID: 281326036} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1820284205 GameObject: m_ObjectHideFlags: 0 @@ -2735,6 +3303,11 @@ Transform: m_CorrespondingSourceObject: {fileID: 9187907134033443523, guid: 92d87e25cc40b3e448e62e8ba0328315, type: 3} m_PrefabInstance: {fileID: 604573511} m_PrefabAsset: {fileID: 0} +--- !u!1 &2048429964 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 6167039396952026974, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + m_PrefabInstance: {fileID: 3593554174308038844} + m_PrefabAsset: {fileID: 0} --- !u!1001 &2949504431378540094 PrefabInstance: m_ObjectHideFlags: 0 @@ -2820,6 +3393,109 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 92d87e25cc40b3e448e62e8ba0328315, type: 3} +--- !u!1001 &3593554174308038844 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 917054544} + m_Modifications: + - target: {fileID: 6167039396952026974, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_Name + value: BlackDieAbility 2 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_SizeDelta.x + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_SizeDelta.y + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalPosition.z + value: 3.3417058 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_AnchoredPosition.x + value: 57.622864 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_AnchoredPosition.y + value: 2.0364685 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 203272712866963024, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} +--- !u!224 &3593554174308038845 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 8989188457857827130, guid: 66fcddbe7a3c341c5b9ca4f8801259a6, type: 3} + m_PrefabInstance: {fileID: 3593554174308038844} + m_PrefabAsset: {fileID: 0} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 diff --git a/PuzzleGameProject/Assets/Scripts/Abilities.meta b/PuzzleGameProject/Assets/Scripts/Abilities.meta new file mode 100644 index 0000000..1ba8948 --- /dev/null +++ b/PuzzleGameProject/Assets/Scripts/Abilities.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 69edbaa8bf5994173afe7cd0eef03075 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/PuzzleGameProject/Assets/Scripts/Abilities/BlackDieAbility.cs b/PuzzleGameProject/Assets/Scripts/Abilities/BlackDieAbility.cs new file mode 100644 index 0000000..66302ec --- /dev/null +++ b/PuzzleGameProject/Assets/Scripts/Abilities/BlackDieAbility.cs @@ -0,0 +1,74 @@ +using System; +using TMPro; +using UnityEngine; +using UnityEngine.UI; + +namespace Abilities +{ + public class BlackDieAbility : MonoBehaviour + { + public static event Action AbilitySelected; + + [SerializeField] private GameObject abilityUseOne; + [SerializeField] private GameObject abilityUseTwo; + [SerializeField] private GameObject abilityUseThree; + [SerializeField] private int _uses = 3; + + private GameObject[] _usesUsed; + private bool _canClick; + + private void OnEnable() { + GameManager.StateChanged += HandleStateChanged; + } + + private void OnDisable() { + GameManager.StateChanged -= HandleStateChanged; + } + + private void Start() { + _usesUsed = new GameObject[_uses]; + abilityUseOne.GetComponent