diff --git a/Assets/Prefabs/Buildings/FanBuilding.prefab b/Assets/Prefabs/Buildings/FanBuilding.prefab index dfc705d..3d9abeb 100644 --- a/Assets/Prefabs/Buildings/FanBuilding.prefab +++ b/Assets/Prefabs/Buildings/FanBuilding.prefab @@ -14,6 +14,7 @@ GameObject: - component: {fileID: 1099873069624310322} - component: {fileID: 2938597077917375806} - component: {fileID: -6667291122109179156} + - component: {fileID: 2693608777607402836} m_Layer: 0 m_Name: FanBuilding m_TagString: Untagged @@ -67,7 +68,7 @@ CanvasRenderer: m_CullTransparentMesh: 1 --- !u!95 &1099873069624310322 Animator: - serializedVersion: 5 + serializedVersion: 7 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} @@ -81,6 +82,7 @@ Animator: m_ApplyRootMotion: 0 m_LinearVelocityBlending: 0 m_StabilizeFeet: 0 + m_AnimatePhysics: 0 m_WarningMessage: m_HasTransformHierarchy: 1 m_AllowConstantClipSamplingOptimization: 1 @@ -124,6 +126,7 @@ BoxCollider2D: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8624048914473773482} m_Enabled: 1 + serializedVersion: 3 m_Density: 1 m_Material: {fileID: 0} m_IncludeLayers: @@ -147,7 +150,8 @@ BoxCollider2D: m_Bits: 4294967295 m_IsTrigger: 0 m_UsedByEffector: 0 - m_UsedByComposite: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 m_Offset: {x: 0, y: 0} m_SpriteTilingProperty: border: {x: 0, y: 0, z: 0, w: 0} @@ -158,9 +162,64 @@ BoxCollider2D: drawMode: 0 adaptiveTiling: 0 m_AutoTiling: 0 - serializedVersion: 2 m_Size: {x: 40, y: 120} m_EdgeRadius: 0 +--- !u!114 &2693608777607402836 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8624048914473773482} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button + 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: 2938597077917375806} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 3321531399837876958} + m_TargetAssemblyTypeName: Fruitomation.Game.FanBuilding, Fruitomation + m_MethodName: OnBuildingClicked + 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 &8647538348010432114 GameObject: m_ObjectHideFlags: 0 @@ -206,6 +265,7 @@ BoxCollider2D: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8647538348010432114} m_Enabled: 1 + serializedVersion: 3 m_Density: 1 m_Material: {fileID: 0} m_IncludeLayers: @@ -229,7 +289,8 @@ BoxCollider2D: m_Bits: 4294967295 m_IsTrigger: 1 m_UsedByEffector: 0 - m_UsedByComposite: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 m_Offset: {x: 0, y: 0} m_SpriteTilingProperty: border: {x: 0, y: 0, z: 0, w: 0} @@ -240,7 +301,6 @@ BoxCollider2D: drawMode: 0 adaptiveTiling: 0 m_AutoTiling: 0 - serializedVersion: 2 m_Size: {x: 430, y: 130} m_EdgeRadius: 0 --- !u!114 &260900526863299443 diff --git a/Assets/Prefabs/Buildings/StairBuilding.prefab b/Assets/Prefabs/Buildings/StairBuilding.prefab index 030ddce..7f11c5b 100644 --- a/Assets/Prefabs/Buildings/StairBuilding.prefab +++ b/Assets/Prefabs/Buildings/StairBuilding.prefab @@ -44,6 +44,7 @@ EdgeCollider2D: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 927989619789615571} m_Enabled: 1 + serializedVersion: 3 m_Density: 1 m_Material: {fileID: 0} m_IncludeLayers: @@ -67,12 +68,13 @@ EdgeCollider2D: m_Bits: 4294967295 m_IsTrigger: 0 m_UsedByEffector: 0 - m_UsedByComposite: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 m_Offset: {x: 0, y: 0} m_EdgeRadius: 0 m_Points: - - {x: 50, y: -50} - - {x: -50, y: -50} + - {x: 40, y: -40} + - {x: -40, y: -40} m_AdjacentStartPoint: {x: 0, y: 0} m_AdjacentEndPoint: {x: 0, y: 0} m_UseAdjacentStartPoint: 0 @@ -89,6 +91,7 @@ GameObject: - component: {fileID: 5353903429644053964} - component: {fileID: 1981187457390333156} - component: {fileID: 4820490054455351787} + - component: {fileID: 7948486692430590329} m_Layer: 0 m_Name: StairBuilding m_TagString: Untagged @@ -114,7 +117,7 @@ RectTransform: 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: 100, y: 100} + m_SizeDelta: {x: 80, y: 80} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &5353903429644053964 MonoBehaviour: @@ -168,6 +171,62 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!114 &7948486692430590329 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2132872997366704715} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button + 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: 4820490054455351787} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 5353903429644053964} + m_TargetAssemblyTypeName: Fruitomation.Game.Building, Fruitomation + m_MethodName: OnBuildingClicked + 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 &2975821396733249252 GameObject: m_ObjectHideFlags: 0 @@ -192,13 +251,13 @@ RectTransform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2975821396733249252} - m_LocalRotation: {x: 0, y: 0, z: 0.38268343, w: 0.92387956} + 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: 3405512848251197769} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 45} + 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} @@ -212,6 +271,7 @@ EdgeCollider2D: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2975821396733249252} m_Enabled: 1 + serializedVersion: 3 m_Density: 1 m_Material: {fileID: 0} m_IncludeLayers: @@ -235,12 +295,13 @@ EdgeCollider2D: m_Bits: 4294967295 m_IsTrigger: 0 m_UsedByEffector: 0 - m_UsedByComposite: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 m_Offset: {x: 0, y: 0} m_EdgeRadius: 0 m_Points: - - {x: -70.71, y: 0} - - {x: 70.71, y: 0} + - {x: -40, y: -40} + - {x: 40, y: 40} m_AdjacentStartPoint: {x: 0, y: 0} m_AdjacentEndPoint: {x: 0, y: 0} m_UseAdjacentStartPoint: 0 @@ -289,6 +350,7 @@ EdgeCollider2D: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5860978416722111864} m_Enabled: 1 + serializedVersion: 3 m_Density: 1 m_Material: {fileID: 0} m_IncludeLayers: @@ -312,12 +374,13 @@ EdgeCollider2D: m_Bits: 4294967295 m_IsTrigger: 0 m_UsedByEffector: 0 - m_UsedByComposite: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 m_Offset: {x: 0, y: 0} m_EdgeRadius: 0 m_Points: - - {x: 50, y: 50} - - {x: 50, y: -50} + - {x: 40, y: 40} + - {x: 40, y: -40} m_AdjacentStartPoint: {x: 0, y: 0} m_AdjacentEndPoint: {x: 0, y: 0} m_UseAdjacentStartPoint: 0 @@ -358,5 +421,5 @@ RectTransform: 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: 100, y: 100} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} diff --git a/Assets/Prefabs/Buildings/WallBuilding.prefab b/Assets/Prefabs/Buildings/WallBuilding.prefab index 12bdeaa..b50335f 100644 --- a/Assets/Prefabs/Buildings/WallBuilding.prefab +++ b/Assets/Prefabs/Buildings/WallBuilding.prefab @@ -13,6 +13,7 @@ GameObject: - component: {fileID: 8666215418061546643} - component: {fileID: -7175447233120207879} - component: {fileID: -8222757793348430289} + - component: {fileID: 4476344134259287183} m_Layer: 0 m_Name: WallBuilding m_TagString: Untagged @@ -37,7 +38,7 @@ RectTransform: 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: 100, y: 100} + m_SizeDelta: {x: 40, y: 80} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &5685636701739960114 CanvasRenderer: @@ -99,6 +100,7 @@ BoxCollider2D: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1970033728917450326} m_Enabled: 1 + serializedVersion: 3 m_Density: 1 m_Material: {fileID: 0} m_IncludeLayers: @@ -122,7 +124,8 @@ BoxCollider2D: m_Bits: 4294967295 m_IsTrigger: 0 m_UsedByEffector: 0 - m_UsedByComposite: 0 + m_CompositeOperation: 0 + m_CompositeOrder: 0 m_Offset: {x: 0, y: 0} m_SpriteTilingProperty: border: {x: 0, y: 0, z: 0, w: 0} @@ -133,6 +136,61 @@ BoxCollider2D: drawMode: 0 adaptiveTiling: 0 m_AutoTiling: 0 - serializedVersion: 2 - m_Size: {x: 100, y: 100} + m_Size: {x: 40, y: 80} m_EdgeRadius: 0 +--- !u!114 &4476344134259287183 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1970033728917450326} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: UnityEngine.UI::UnityEngine.UI.Button + 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: -7175447233120207879} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 8666215418061546643} + m_TargetAssemblyTypeName: Fruitomation.Game.Building, Fruitomation + m_MethodName: OnBuildingClicked + 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 diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 45c96c5..fcbb7a9 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -119,6 +119,85 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &48907754 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 48907755} + - component: {fileID: 48907757} + - component: {fileID: 48907756} + m_Layer: 5 + m_Name: Text (Legacy) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &48907755 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 48907754} + 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: 1951065946} + 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 &48907756 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 48907754} + 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_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 35 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: Edit +--- !u!222 &48907757 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 48907754} + m_CullTransparentMesh: 1 --- !u!1 &80689890 GameObject: m_ObjectHideFlags: 0 @@ -1728,6 +1807,7 @@ MonoBehaviour: CurrentMouseClickStrength: 0 GridPosition: {x: 0, y: 0} SelectedBuildingToBuild: {fileID: 0} + FlipCurrentBuilding: 0 --- !u!58 &1330313879 CircleCollider2D: m_ObjectHideFlags: 0 @@ -2154,6 +2234,127 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 1500} m_SizeDelta: {x: 100, y: 100} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1951065945 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1951065946} + - component: {fileID: 1951065949} + - component: {fileID: 1951065948} + - component: {fileID: 1951065947} + m_Layer: 5 + m_Name: EditButton + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1951065946 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1951065945} + 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: 48907755} + m_Father: {fileID: 2112507919} + 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: 1000, y: 0} + m_SizeDelta: {x: 175, y: 175} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1951065947 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1951065945} + 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: 1951065948} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1951065948 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1951065945} + 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 &1951065949 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1951065945} + m_CullTransparentMesh: 1 --- !u!1 &2005593403 GameObject: m_ObjectHideFlags: 0 @@ -2432,6 +2633,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 264715584} + - {fileID: 1951065946} - {fileID: 1347333877} - {fileID: 873667506} - {fileID: 1511006085} @@ -2543,6 +2745,7 @@ MonoBehaviour: SimulateButton: {fileID: 264715585} BuildButton: {fileID: 873667507} PauseButton: {fileID: 1347333878} + EditButton: {fileID: 1951065947} MoneyText: {fileID: 2048015619} --- !u!1 &2142689106 GameObject: diff --git a/Assets/Scripts/Game/Buildings/Building.cs b/Assets/Scripts/Game/Buildings/Building.cs index e75685d..790c7c5 100644 --- a/Assets/Scripts/Game/Buildings/Building.cs +++ b/Assets/Scripts/Game/Buildings/Building.cs @@ -1,4 +1,8 @@ -using UnityEngine; +using PashaBibko.Pacore.Attributes; +using JetBrains.Annotations; +using UnityEngine.Scripting; +using Fruitomation.Global; +using UnityEngine; namespace Fruitomation.Game { @@ -7,7 +11,21 @@ namespace Fruitomation.Game [Header("Building Properties")] [SerializeField] private Sprite BuildingSprite; [field: SerializeField] public Vector2Int SizeOnGrid { get; private set; } + + private BuildingManager Manager; + public void SetManager(BuildingManager manager) => Manager = manager; + + [UsedImplicitly, Preserve, InspectorCallable("Click Building")] public void OnBuildingClicked() + { + Debug.Log($"Building clicked {gameObject.name}"); + if (GameStateController.Is(GameState.Editing)) + { + Manager.RemoveBuilding(this); + Destroy(gameObject); + } + } + public Sprite Sprite => BuildingSprite; } } diff --git a/Assets/Scripts/Game/Buildings/BuildingManager.cs b/Assets/Scripts/Game/Buildings/BuildingManager.cs index c13ff65..95586c0 100644 --- a/Assets/Scripts/Game/Buildings/BuildingManager.cs +++ b/Assets/Scripts/Game/Buildings/BuildingManager.cs @@ -18,7 +18,9 @@ namespace Fruitomation.Game } private bool[,] InhabitedCells { get; } = new bool[96, 49]; - private List Buildings { get; } = new(); + private List Buildings { get; } = new(); + + public void RemoveBuilding(Building building) => Buildings.Remove(building); public bool AddBuildingAt(Vector2Int position, GameObject prefab, bool isFlipped) { @@ -29,6 +31,8 @@ namespace Fruitomation.Game go.GetComponent(), go.GetComponent() ); + + info.Building.SetManager(this); Vector2Int p0 = position * 40; Vector2Int p1 = p0 + new Vector2Int(20, 100); @@ -43,8 +47,6 @@ namespace Fruitomation.Game info.Rect.transform.localScale = new Vector3(isFlipped ? -1f : 1f, 1f, 1f); - Debug.Log(g0); - // for (int x = g0.x; x < g0.x + info.Building.SizeOnGrid.x; x++) for (int y = g0.y; y < g0.y + info.Building.SizeOnGrid.y; y++) @@ -63,7 +65,7 @@ namespace Fruitomation.Game InhabitedCells[x, y] = true; } - Buildings.Add(info); + Buildings.Add(info.Building); return true; } } diff --git a/Assets/Scripts/Global/GameStateController.cs b/Assets/Scripts/Global/GameStateController.cs index f00cdb8..743562e 100644 --- a/Assets/Scripts/Global/GameStateController.cs +++ b/Assets/Scripts/Global/GameStateController.cs @@ -10,6 +10,7 @@ namespace Fruitomation.Global Building, UpgradeMenu, Paused, + Editing, Default } diff --git a/Assets/Scripts/UI/FruitBowlController.cs b/Assets/Scripts/UI/FruitBowlController.cs index 019b211..c301417 100644 --- a/Assets/Scripts/UI/FruitBowlController.cs +++ b/Assets/Scripts/UI/FruitBowlController.cs @@ -11,6 +11,7 @@ namespace Fruitomation.UI [SerializeField] private Button SimulateButton; [SerializeField] private Button BuildButton; [SerializeField] private Button PauseButton; + [SerializeField] private Button EditButton; [SerializeField] private Text MoneyText; private void Awake() @@ -34,6 +35,11 @@ namespace Fruitomation.UI { GameStateController.State = GameState.Paused; }); + + EditButton.onClick.AddListener(() => + { + GameStateController.State = GameState.Editing; + }); } private void Update() diff --git a/Assets/Scripts/UI/GameCursor.cs b/Assets/Scripts/UI/GameCursor.cs index 7b37a81..7579ce9 100644 --- a/Assets/Scripts/UI/GameCursor.cs +++ b/Assets/Scripts/UI/GameCursor.cs @@ -89,6 +89,7 @@ namespace Fruitomation.UI case GameState.UpgradeMenu: case GameState.Paused: case GameState.Default: + case GameState.Editing: case GameState.BuildingMenu: break; // No extra logic needed