Added a building menu
This commit is contained in:
202
Assets/Prefabs/BuildingMenuItem.prefab
Normal file
202
Assets/Prefabs/BuildingMenuItem.prefab
Normal file
@@ -0,0 +1,202 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &1541142508120997748
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2998613306070741673}
|
||||
- component: {fileID: 8843658637798967081}
|
||||
- component: {fileID: 8049508272172490904}
|
||||
- component: {fileID: 3779963164734797608}
|
||||
m_Layer: 0
|
||||
m_Name: BuildingMenuItem
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &2998613306070741673
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1541142508120997748}
|
||||
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: 5927991984938458571}
|
||||
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: 200, y: 200}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &8843658637798967081
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1541142508120997748}
|
||||
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: 3779963164734797608}
|
||||
m_OnClick:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
--- !u!222 &8049508272172490904
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1541142508120997748}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &3779963164734797608
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1541142508120997748}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &6459787310772140154
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5927991984938458571}
|
||||
- component: {fileID: 1909079029689182110}
|
||||
- component: {fileID: 3880585922855780323}
|
||||
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 &5927991984938458571
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6459787310772140154}
|
||||
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: 2998613306070741673}
|
||||
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: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &1909079029689182110
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6459787310772140154}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &3880585922855780323
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6459787310772140154}
|
||||
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: 65
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 5
|
||||
m_MaxSize: 65
|
||||
m_Alignment: 4
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 1
|
||||
m_VerticalOverflow: 1
|
||||
m_LineSpacing: 1
|
||||
m_Text: Button
|
||||
7
Assets/Prefabs/BuildingMenuItem.prefab.meta
Normal file
7
Assets/Prefabs/BuildingMenuItem.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 74aff4063df1fab4c954bebfad022ff5
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -743,6 +743,82 @@ MonoBehaviour:
|
||||
m_LightCookieSize: {x: 1, y: 1}
|
||||
m_LightCookieOffset: {x: 0, y: 0}
|
||||
m_SoftShadowQuality: 1
|
||||
--- !u!1 &412089093
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 412089094}
|
||||
- component: {fileID: 412089096}
|
||||
- component: {fileID: 412089095}
|
||||
m_Layer: 5
|
||||
m_Name: Menu
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &412089094
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 412089093}
|
||||
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: 1484797013}
|
||||
m_Father: {fileID: 2142689107}
|
||||
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: 2000, y: 1200}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &412089095
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 412089093}
|
||||
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.5849056, g: 0.5849056, b: 0.5849056, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!222 &412089096
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 412089093}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &489194318
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1305,6 +1381,7 @@ RectTransform:
|
||||
- {fileID: 2026916298}
|
||||
- {fileID: 96288173}
|
||||
- {fileID: 2005593404}
|
||||
- {fileID: 2142689107}
|
||||
- {fileID: 1330313875}
|
||||
- {fileID: 1194686691}
|
||||
m_Father: {fileID: 0}
|
||||
@@ -1642,10 +1719,9 @@ MonoBehaviour:
|
||||
BuildingPreview: {fileID: 1194686692}
|
||||
CursorImage: {fileID: 1330313876}
|
||||
BuildingManager: {fileID: 2005593405}
|
||||
BuildingPrefab: {fileID: 8624048914473773482, guid: 1b5c88b3f8d08674a9b15155d6ba9a36,
|
||||
type: 3}
|
||||
CurrentMouseClickStrength: 0
|
||||
GridPosition: {x: 0, y: 0}
|
||||
SelectedBuildingToBuild: {fileID: 0}
|
||||
--- !u!58 &1330313879
|
||||
CircleCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -1802,6 +1878,66 @@ CanvasRenderer:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1347333876}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!1 &1484797012
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1484797013}
|
||||
- component: {fileID: 1484797014}
|
||||
m_Layer: 5
|
||||
m_Name: Grid
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1484797013
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1484797012}
|
||||
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: 412089094}
|
||||
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: 1900, y: 1100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1484797014
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1484797012}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 8a8695521f0d02e499659fee002a26c2, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Padding:
|
||||
m_Left: 0
|
||||
m_Right: 0
|
||||
m_Top: 0
|
||||
m_Bottom: 0
|
||||
m_ChildAlignment: 0
|
||||
m_StartCorner: 0
|
||||
m_StartAxis: 0
|
||||
m_CellSize: {x: 200, y: 200}
|
||||
m_Spacing: {x: 25, y: 25}
|
||||
m_Constraint: 0
|
||||
m_ConstraintCount: 2
|
||||
--- !u!1 &1511006084
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -2399,6 +2535,73 @@ MonoBehaviour:
|
||||
BuildButton: {fileID: 873667507}
|
||||
PauseButton: {fileID: 1347333878}
|
||||
MoneyText: {fileID: 2048015619}
|
||||
--- !u!1 &2142689106
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2142689107}
|
||||
- component: {fileID: 2142689110}
|
||||
- component: {fileID: 2142689111}
|
||||
m_Layer: 5
|
||||
m_Name: BuildingMenu
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &2142689107
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2142689106}
|
||||
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: 412089094}
|
||||
m_Father: {fileID: 1165634414}
|
||||
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: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &2142689110
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2142689106}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &2142689111
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2142689106}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2bb002f4016c430087d575013ed27739, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
Cursor: {fileID: 1330313878}
|
||||
Menu: {fileID: 412089093}
|
||||
MenuGrid: {fileID: 1484797012}
|
||||
MenuItemPrefab: {fileID: 1541142508120997748, guid: 74aff4063df1fab4c954bebfad022ff5,
|
||||
type: 3}
|
||||
BuildingPrefabs:
|
||||
- Name: Fan
|
||||
Prefab: {fileID: 8624048914473773482, guid: 1b5c88b3f8d08674a9b15155d6ba9a36,
|
||||
type: 3}
|
||||
--- !u!1660057539 &9223372036854775807
|
||||
SceneRoots:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@@ -6,6 +6,7 @@ namespace Fruitomation.Global
|
||||
public enum GameState
|
||||
{
|
||||
Simulation,
|
||||
BuildingMenu,
|
||||
Building,
|
||||
UpgradeMenu,
|
||||
Paused,
|
||||
|
||||
48
Assets/Scripts/UI/BuildingMenu.cs
Normal file
48
Assets/Scripts/UI/BuildingMenu.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
using System.Collections.Generic;
|
||||
using Fruitomation.Global;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace Fruitomation.UI
|
||||
{
|
||||
public class BuildingMenu : MonoBehaviour
|
||||
{
|
||||
[System.Serializable] private class BuildingInfo
|
||||
{
|
||||
public string Name;
|
||||
public GameObject Prefab;
|
||||
}
|
||||
|
||||
[Header("References")]
|
||||
[SerializeField] private GameCursor Cursor;
|
||||
[SerializeField] private GameObject Menu;
|
||||
[SerializeField] private GameObject MenuGrid;
|
||||
[SerializeField] private GameObject MenuItemPrefab;
|
||||
|
||||
[Header("Options")]
|
||||
[SerializeField] private List<BuildingInfo> BuildingPrefabs;
|
||||
|
||||
private void Update()
|
||||
{
|
||||
Menu.SetActive(GameStateController.Is(GameState.BuildingMenu));
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
foreach (BuildingInfo info in BuildingPrefabs)
|
||||
{
|
||||
GameObject go = Instantiate(MenuItemPrefab, MenuGrid.transform);
|
||||
Text text = go.GetComponentInChildren<Text>();
|
||||
|
||||
text.text = info.Name;
|
||||
|
||||
Button butt = go.GetComponent<Button>();
|
||||
butt.onClick.AddListener(() =>
|
||||
{
|
||||
GameStateController.State = GameState.Building;
|
||||
Cursor.SetSelectedBuildingToBuild(info.Prefab);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
3
Assets/Scripts/UI/BuildingMenu.cs.meta
Normal file
3
Assets/Scripts/UI/BuildingMenu.cs.meta
Normal file
@@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2bb002f4016c430087d575013ed27739
|
||||
timeCreated: 1774970427
|
||||
@@ -27,7 +27,7 @@ namespace Fruitomation.UI
|
||||
|
||||
BuildButton.onClick.AddListener(() =>
|
||||
{
|
||||
GameStateController.State = GameState.Building;
|
||||
GameStateController.State = GameState.BuildingMenu;
|
||||
});
|
||||
|
||||
PauseButton.onClick.AddListener(() =>
|
||||
|
||||
@@ -21,19 +21,25 @@ namespace Fruitomation.UI
|
||||
[SerializeField] private Image CursorImage;
|
||||
[SerializeField] private BuildingManager BuildingManager;
|
||||
|
||||
[Header("Dev")]
|
||||
[SerializeField] private GameObject BuildingPrefab;
|
||||
|
||||
[Header("Read Only")]
|
||||
[SerializeField, InspectorReadOnly] private float CurrentMouseClickStrength;
|
||||
[SerializeField, InspectorReadOnly] private Vector2Int GridPosition;
|
||||
[SerializeField, InspectorReadOnly] private GameObject SelectedBuildingToBuild;
|
||||
|
||||
private readonly ContactFilter2D ContactFilter = new();
|
||||
private readonly List<Collider2D> Colliders = new();
|
||||
|
||||
private BuildingBase SelectedBuildingsBuildingBase;
|
||||
|
||||
private float StartOfMouseClick;
|
||||
private bool MouseOnGrid;
|
||||
|
||||
public void SetSelectedBuildingToBuild(GameObject prefab)
|
||||
{
|
||||
SelectedBuildingsBuildingBase = prefab.GetComponent<BuildingBase>();
|
||||
SelectedBuildingToBuild = prefab;
|
||||
}
|
||||
|
||||
private void UpdatePosition()
|
||||
{
|
||||
Ray ray = ActiveCamera.ScreenPointToRay(Input.mousePosition);
|
||||
@@ -63,6 +69,9 @@ namespace Fruitomation.UI
|
||||
{
|
||||
UpdatePosition();
|
||||
|
||||
CursorImage.enabled = false;
|
||||
BuildingPreview.enabled = false;
|
||||
|
||||
CurrentMouseClickStrength = MIN_STRENGTH;
|
||||
switch (GameStateController.State)
|
||||
{
|
||||
@@ -77,6 +86,7 @@ namespace Fruitomation.UI
|
||||
case GameState.UpgradeMenu:
|
||||
case GameState.Paused:
|
||||
case GameState.Default:
|
||||
case GameState.BuildingMenu:
|
||||
break; // No extra logic needed
|
||||
|
||||
default:
|
||||
@@ -93,7 +103,6 @@ namespace Fruitomation.UI
|
||||
private void UpdateMouseStateSimulation()
|
||||
{
|
||||
CursorImage.enabled = true;
|
||||
BuildingPreview.enabled = false;
|
||||
|
||||
if (Input.GetMouseButtonUp(0))
|
||||
{
|
||||
@@ -134,29 +143,26 @@ namespace Fruitomation.UI
|
||||
|
||||
private void UpdateMouseStateBuilding()
|
||||
{
|
||||
CursorImage.enabled = false;
|
||||
BuildingPreview.enabled = true;
|
||||
|
||||
//
|
||||
BuildingBase building = BuildingPrefab.GetComponent<BuildingBase>();
|
||||
BuildingPreview.material = new Material(Shader.Find("UI/Default"))
|
||||
{
|
||||
mainTexture = building.Texture
|
||||
mainTexture = SelectedBuildingsBuildingBase.Texture
|
||||
};
|
||||
|
||||
BuildingPreview.rectTransform.sizeDelta = building.SizeOnGrid * 40;
|
||||
BuildingPreview.rectTransform.sizeDelta = SelectedBuildingsBuildingBase.SizeOnGrid * 40;
|
||||
|
||||
//
|
||||
Vector2Int p0 = new
|
||||
(
|
||||
Math.Clamp(GridPosition.x, 0, 96 - building.SizeOnGrid.x),
|
||||
Math.Clamp(GridPosition.y, 0, 49 - building.SizeOnGrid.y)
|
||||
Math.Clamp(GridPosition.x, 0, 96 - SelectedBuildingsBuildingBase.SizeOnGrid.x),
|
||||
Math.Clamp(GridPosition.y, 0, 49 - SelectedBuildingsBuildingBase.SizeOnGrid.y)
|
||||
);
|
||||
Vector2Int p1 = p0 - new Vector2Int(48, 24);
|
||||
Vector2Int p2 = p1 * 40;
|
||||
Vector2Int p3 = p2 + new Vector2Int(20, 100);
|
||||
|
||||
Vector2 o0 = building.SizeOnGrid - Vector2.one;
|
||||
Vector2 o0 = SelectedBuildingsBuildingBase.SizeOnGrid - Vector2.one;
|
||||
Vector2 o1 = o0 * 20;
|
||||
Vector2 p4 = p3 + o1;
|
||||
BuildingPreview.rectTransform.anchoredPosition = p4;
|
||||
@@ -164,7 +170,7 @@ namespace Fruitomation.UI
|
||||
//
|
||||
if (Input.GetMouseButtonDown(0) && MouseOnGrid)
|
||||
{
|
||||
BuildingManager.AddBuildingAt(p1, BuildingPrefab);
|
||||
BuildingManager.AddBuildingAt(p1, SelectedBuildingToBuild);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user