finsihed tech tree and started working on new resource manager, working on per day resources
This commit is contained in:
@@ -59,6 +59,7 @@
|
|||||||
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\BackgroundMusic.cs" />
|
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\BackgroundMusic.cs" />
|
||||||
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\AnimatedButton.cs" />
|
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\AnimatedButton.cs" />
|
||||||
<Compile Include="Assets\Scripts\TechTreeUI.cs" />
|
<Compile Include="Assets\Scripts\TechTreeUI.cs" />
|
||||||
|
<Compile Include="Assets\Scripts\TechTooltip.cs" />
|
||||||
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\PopupOpener.cs" />
|
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\PopupOpener.cs" />
|
||||||
<Compile Include="Assets\Scripts\Objectives.cs" />
|
<Compile Include="Assets\Scripts\Objectives.cs" />
|
||||||
<Compile Include="Assets\Scripts\StateMachine.cs" />
|
<Compile Include="Assets\Scripts\StateMachine.cs" />
|
||||||
@@ -71,12 +72,13 @@
|
|||||||
<Compile Include="Assets\Scripts\Technology.cs" />
|
<Compile Include="Assets\Scripts\Technology.cs" />
|
||||||
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\ColorSwapper.cs" />
|
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\ColorSwapper.cs" />
|
||||||
<Compile Include="Assets\Scripts\City.cs" />
|
<Compile Include="Assets\Scripts\City.cs" />
|
||||||
|
<Compile Include="Assets\Scripts\BuildingButtonHandler.cs" />
|
||||||
<Compile Include="Assets\Scripts\CitizenAI.cs" />
|
<Compile Include="Assets\Scripts\CitizenAI.cs" />
|
||||||
<Compile Include="Assets\TutorialInfo\Scripts\Readme.cs" />
|
<Compile Include="Assets\TutorialInfo\Scripts\Readme.cs" />
|
||||||
<Compile Include="Assets\Scripts\Resources.cs" />
|
|
||||||
<Compile Include="Assets\Scripts\BuildingPlacement.cs" />
|
<Compile Include="Assets\Scripts\BuildingPlacement.cs" />
|
||||||
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\SpinWheel.cs" />
|
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\SpinWheel.cs" />
|
||||||
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\Popup.cs" />
|
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\Popup.cs" />
|
||||||
|
<Compile Include="Assets\Scripts\ResourceManager.cs" />
|
||||||
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\PlayPopupOpener.cs" />
|
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\PlayPopupOpener.cs" />
|
||||||
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\SpriteSwapper.cs" />
|
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\SpriteSwapper.cs" />
|
||||||
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\Transition.cs" />
|
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\Transition.cs" />
|
||||||
@@ -85,6 +87,7 @@
|
|||||||
<Compile Include="Assets\Scripts\State.cs" />
|
<Compile Include="Assets\Scripts\State.cs" />
|
||||||
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\TintedButton.cs" />
|
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\TintedButton.cs" />
|
||||||
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\SceneTransition.cs" />
|
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\SceneTransition.cs" />
|
||||||
|
<Compile Include="Assets\Scripts\TechNodeConnector.cs" />
|
||||||
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\SoundButton.cs" />
|
<Compile Include="Assets\GUIPackCartoon\Demo\Scripts\SoundButton.cs" />
|
||||||
<Compile Include="Assets\Scripts\CameraController.cs" />
|
<Compile Include="Assets\Scripts\CameraController.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@@ -17,5 +17,9 @@ MonoBehaviour:
|
|||||||
prefab: {fileID: 3768851932668961422, guid: 5507900792395674cafb819aac22118b, type: 3}
|
prefab: {fileID: 3768851932668961422, guid: 5507900792395674cafb819aac22118b, type: 3}
|
||||||
population: 0
|
population: 0
|
||||||
jobs: 20
|
jobs: 20
|
||||||
food: 15
|
food: -15
|
||||||
buildingType: 2
|
water: 0
|
||||||
|
steel: 10
|
||||||
|
faith: 0
|
||||||
|
wood: 0
|
||||||
|
buildingType: 12
|
||||||
|
|||||||
@@ -12,10 +12,14 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 46edd56f52a49944ca46162bdabfb3bf, type: 3}
|
m_Script: {fileID: 11500000, guid: 46edd56f52a49944ca46162bdabfb3bf, type: 3}
|
||||||
m_Name: Farm
|
m_Name: Farm
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
cost: 50
|
cost: -50
|
||||||
costPerTurn: 25
|
costPerTurn: 25
|
||||||
prefab: {fileID: 5065278095059473762, guid: c59455903a67a0140a8ed521a67fd488, type: 3}
|
prefab: {fileID: 5065278095059473762, guid: c59455903a67a0140a8ed521a67fd488, type: 3}
|
||||||
population: 0
|
population: 0
|
||||||
jobs: 5
|
jobs: 5
|
||||||
food: 50
|
food: 50
|
||||||
|
water: -10
|
||||||
|
steel: 0
|
||||||
|
faith: 0
|
||||||
|
wood: 0
|
||||||
buildingType: 2
|
buildingType: 2
|
||||||
|
|||||||
@@ -12,9 +12,14 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 46edd56f52a49944ca46162bdabfb3bf, type: 3}
|
m_Script: {fileID: 11500000, guid: 46edd56f52a49944ca46162bdabfb3bf, type: 3}
|
||||||
m_Name: House
|
m_Name: House
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
cost: 10
|
cost: -10
|
||||||
costPerTurn: 5
|
costPerTurn: 5
|
||||||
prefab: {fileID: 2179184635254283085, guid: fe2011d4ae2eada46bfdc6ee507f4da6, type: 3}
|
prefab: {fileID: 2179184635254283085, guid: fe2011d4ae2eada46bfdc6ee507f4da6, type: 3}
|
||||||
population: 10
|
population: 10
|
||||||
jobs: 0
|
jobs: 0
|
||||||
food: 0
|
food: -2
|
||||||
|
water: -2
|
||||||
|
steel: 0
|
||||||
|
faith: 0
|
||||||
|
wood: 0
|
||||||
|
buildingType: 0
|
||||||
|
|||||||
@@ -1,207 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!1 &1487214480234748508
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 3837636961552424559}
|
|
||||||
- component: {fileID: 6285457439644908028}
|
|
||||||
- component: {fileID: 8145424867600378410}
|
|
||||||
- component: {fileID: 4988862143195119597}
|
|
||||||
m_Layer: 5
|
|
||||||
m_Name: TechColumn
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!224 &3837636961552424559
|
|
||||||
RectTransform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1487214480234748508}
|
|
||||||
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: 3910211149262650417}
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
m_AnchorMin: {x: 0, y: 1}
|
|
||||||
m_AnchorMax: {x: 0, y: 1}
|
|
||||||
m_AnchoredPosition: {x: 0, y: -120}
|
|
||||||
m_SizeDelta: {x: 500, y: 700}
|
|
||||||
m_Pivot: {x: 0, y: 1}
|
|
||||||
--- !u!222 &6285457439644908028
|
|
||||||
CanvasRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1487214480234748508}
|
|
||||||
m_CullTransparentMesh: 1
|
|
||||||
--- !u!114 &8145424867600378410
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1487214480234748508}
|
|
||||||
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}
|
|
||||||
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!114 &4988862143195119597
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 1487214480234748508}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
m_Padding:
|
|
||||||
m_Left: 10
|
|
||||||
m_Right: 10
|
|
||||||
m_Top: 10
|
|
||||||
m_Bottom: 10
|
|
||||||
m_ChildAlignment: 4
|
|
||||||
m_Spacing: 5
|
|
||||||
m_ChildForceExpandWidth: 1
|
|
||||||
m_ChildForceExpandHeight: 1
|
|
||||||
m_ChildControlWidth: 1
|
|
||||||
m_ChildControlHeight: 0
|
|
||||||
m_ChildScaleWidth: 0
|
|
||||||
m_ChildScaleHeight: 0
|
|
||||||
m_ReverseArrangement: 0
|
|
||||||
--- !u!1001 &4351025445333317191
|
|
||||||
PrefabInstance:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Modification:
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TransformParent: {fileID: 3837636961552424559}
|
|
||||||
m_Modifications:
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_Pivot.x
|
|
||||||
value: 0.5
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_Pivot.y
|
|
||||||
value: 0.5
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_AnchorMax.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_AnchorMax.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_AnchorMin.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_AnchorMin.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_SizeDelta.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_SizeDelta.y
|
|
||||||
value: 246.4144
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_LocalPosition.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.w
|
|
||||||
value: 1
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_LocalRotation.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_AnchoredPosition.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_AnchoredPosition.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.x
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.y
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_LocalEulerAnglesHint.z
|
|
||||||
value: 0
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
- target: {fileID: 2088154411022447791, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
propertyPath: m_Name
|
|
||||||
value: TechNode
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
m_RemovedComponents: []
|
|
||||||
m_RemovedGameObjects: []
|
|
||||||
m_AddedGameObjects: []
|
|
||||||
m_AddedComponents: []
|
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
--- !u!224 &3910211149262650417 stripped
|
|
||||||
RectTransform:
|
|
||||||
m_CorrespondingSourceObject: {fileID: 730197510166235766, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
|
||||||
m_PrefabInstance: {fileID: 4351025445333317191}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
8
Assets/Prefabs/TechTree.meta
Normal file
8
Assets/Prefabs/TechTree.meta
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 9df20ce86549e5c4ca3ec417064a2751
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
90
Assets/Prefabs/TechTree/Connector.prefab
Normal file
90
Assets/Prefabs/TechTree/Connector.prefab
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &3318892414756945549
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 7141594400996335196}
|
||||||
|
- component: {fileID: 5696791842458614149}
|
||||||
|
- component: {fileID: 8276450360505042745}
|
||||||
|
- component: {fileID: 2264866156801349296}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Connector
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &7141594400996335196
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3318892414756945549}
|
||||||
|
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: 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: 100, y: 100}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &5696791842458614149
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3318892414756945549}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &8276450360505042745
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3318892414756945549}
|
||||||
|
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!114 &2264866156801349296
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3318892414756945549}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 7554ecf4667c65b4ba007999cd76c9e7, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
7
Assets/Prefabs/TechTree/Connector.prefab.meta
Normal file
7
Assets/Prefabs/TechTree/Connector.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a4d9e7eac1e199046ba5289a50d98541
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
47
Assets/Prefabs/TechTree/Database 1.prefab
Normal file
47
Assets/Prefabs/TechTree/Database 1.prefab
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &3604054948624179634
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 92034311220277696}
|
||||||
|
- component: {fileID: 8691643166379893752}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Database 1
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &92034311220277696
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3604054948624179634}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 1027.3999, y: 613.55054, z: 5.9871492}
|
||||||
|
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!114 &8691643166379893752
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3604054948624179634}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: daa8c3514f37f2440ab4c2303c0af990, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
techGroups: []
|
||||||
7
Assets/Prefabs/TechTree/Database 1.prefab.meta
Normal file
7
Assets/Prefabs/TechTree/Database 1.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c17e1ab80beb2104fb35503c2a6bf817
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
47
Assets/Prefabs/TechTree/Resources 1.prefab
Normal file
47
Assets/Prefabs/TechTree/Resources 1.prefab
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &8651328025806423875
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 8746696933736187003}
|
||||||
|
- component: {fileID: 7519374622778807798}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Resources 1
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &8746696933736187003
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8651328025806423875}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 1027.3999, y: 613.55054, z: 5.9871492}
|
||||||
|
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!114 &7519374622778807798
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8651328025806423875}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: cdd6435cece787f40832679e1be6c6c2, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
resourceAmounts: []
|
||||||
7
Assets/Prefabs/TechTree/Resources 1.prefab.meta
Normal file
7
Assets/Prefabs/TechTree/Resources 1.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a863cd46d361a924e8e5712f17a1d318
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
104
Assets/Prefabs/TechTree/TechColumn.prefab
Normal file
104
Assets/Prefabs/TechTree/TechColumn.prefab
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &1487214480234748508
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 3837636961552424559}
|
||||||
|
- component: {fileID: 6285457439644908028}
|
||||||
|
- component: {fileID: 8145424867600378410}
|
||||||
|
- component: {fileID: 4988862143195119597}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: TechColumn
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &3837636961552424559
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1487214480234748508}
|
||||||
|
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: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 1}
|
||||||
|
m_AnchorMax: {x: 0, y: 1}
|
||||||
|
m_AnchoredPosition: {x: 0, y: -120}
|
||||||
|
m_SizeDelta: {x: 500, y: 700}
|
||||||
|
m_Pivot: {x: 0, y: 1}
|
||||||
|
--- !u!222 &6285457439644908028
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1487214480234748508}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &8145424867600378410
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1487214480234748508}
|
||||||
|
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}
|
||||||
|
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!114 &4988862143195119597
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1487214480234748508}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Padding:
|
||||||
|
m_Left: 10
|
||||||
|
m_Right: 10
|
||||||
|
m_Top: 10
|
||||||
|
m_Bottom: 10
|
||||||
|
m_ChildAlignment: 4
|
||||||
|
m_Spacing: 5
|
||||||
|
m_ChildForceExpandWidth: 1
|
||||||
|
m_ChildForceExpandHeight: 1
|
||||||
|
m_ChildControlWidth: 0
|
||||||
|
m_ChildControlHeight: 0
|
||||||
|
m_ChildScaleWidth: 0
|
||||||
|
m_ChildScaleHeight: 0
|
||||||
|
m_ReverseArrangement: 0
|
||||||
@@ -13,6 +13,7 @@ GameObject:
|
|||||||
- component: {fileID: 5196581417222935243}
|
- component: {fileID: 5196581417222935243}
|
||||||
- component: {fileID: 4581525535379480756}
|
- component: {fileID: 4581525535379480756}
|
||||||
- component: {fileID: 2259804339062908791}
|
- component: {fileID: 2259804339062908791}
|
||||||
|
- component: {fileID: 5661334640627325968}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: TechNode
|
m_Name: TechNode
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@@ -34,12 +35,13 @@ RectTransform:
|
|||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 2487585073407233440}
|
- {fileID: 2487585073407233440}
|
||||||
- {fileID: 8816033586092371476}
|
- {fileID: 8816033586092371476}
|
||||||
|
- {fileID: 7599977180321496189}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
m_AnchoredPosition: {x: 0, y: -80.32129}
|
m_AnchoredPosition: {x: -51.8073, y: -39.3575}
|
||||||
m_SizeDelta: {x: 200, y: 239.3574}
|
m_SizeDelta: {x: 303.6144, y: 321.285}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &111805378875009012
|
--- !u!222 &111805378875009012
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
@@ -62,14 +64,14 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_Color: {r: 0.9339623, g: 0.20705767, b: 0.20705767, a: 1}
|
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||||
m_RaycastTarget: 1
|
m_RaycastTarget: 1
|
||||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||||
m_Maskable: 1
|
m_Maskable: 1
|
||||||
m_OnCullStateChanged:
|
m_OnCullStateChanged:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
m_Sprite: {fileID: 0}
|
m_Sprite: {fileID: 21300000, guid: b3993b50fd4d84d8ab7678819adcb083, type: 3}
|
||||||
m_Type: 0
|
m_Type: 0
|
||||||
m_PreserveAspect: 0
|
m_PreserveAspect: 0
|
||||||
m_FillCenter: 1
|
m_FillCenter: 1
|
||||||
@@ -92,16 +94,26 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
techImage: {fileID: 6901669090262731949}
|
techImage: {fileID: 6901669090262731949}
|
||||||
|
techStatusImage: {fileID: 2149737177119617409}
|
||||||
|
techStatusLocked: {fileID: 21300000, guid: 2950c7a2bb5da41e08efde7e1e71e171, type: 3}
|
||||||
|
techStatusUnlocked: {fileID: 21300000, guid: 5a2b3b3f71a38431c8a130fca86375c8, type: 3}
|
||||||
|
techStatusResearching: {fileID: 21300000, guid: a9ad0ecb8bc3c4c0bbc2d32743b33323, type: 3}
|
||||||
|
techStatusCompleted: {fileID: 21300000, guid: 20a3d357f43e64b1a9a855f7a1aaf450, type: 3}
|
||||||
techTitleText: {fileID: 3237412204784009464}
|
techTitleText: {fileID: 3237412204784009464}
|
||||||
technology:
|
technology:
|
||||||
availabilityState: 0
|
|
||||||
techName:
|
techName:
|
||||||
|
availabilityState: 0
|
||||||
techDescription:
|
techDescription:
|
||||||
techImage: {fileID: 0}
|
techImage: {fileID: 0}
|
||||||
resourceCosts: []
|
resourceCosts: []
|
||||||
techRequirements: []
|
techRequirements: []
|
||||||
|
techModifiers: []
|
||||||
|
researchedTurns: 0
|
||||||
requiredResearchTurns: 0
|
requiredResearchTurns: 0
|
||||||
|
techUIColor: {r: 0, g: 0, b: 0, a: 0}
|
||||||
nodeImage: {fileID: 5196581417222935243}
|
nodeImage: {fileID: 5196581417222935243}
|
||||||
|
connector: {fileID: 2264866156801349296, guid: a4d9e7eac1e199046ba5289a50d98541, type: 3}
|
||||||
|
outline: {fileID: 5661334640627325968}
|
||||||
--- !u!114 &2259804339062908791
|
--- !u!114 &2259804339062908791
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -146,6 +158,21 @@ MonoBehaviour:
|
|||||||
m_OnClick:
|
m_OnClick:
|
||||||
m_PersistentCalls:
|
m_PersistentCalls:
|
||||||
m_Calls: []
|
m_Calls: []
|
||||||
|
--- !u!114 &5661334640627325968
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2088154411022447791}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: e19747de3f5aca642ab2be37e372fb86, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_EffectColor: {r: 0, g: 0, b: 0, a: 0.5}
|
||||||
|
m_EffectDistance: {x: 3, y: -3}
|
||||||
|
m_UseGraphicAlpha: 1
|
||||||
--- !u!1 &4840859237133704514
|
--- !u!1 &4840859237133704514
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -180,8 +207,8 @@ RectTransform:
|
|||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||||
m_AnchoredPosition: {x: -0.1968, y: -10}
|
m_AnchoredPosition: {x: 3.4176, y: -25.2611}
|
||||||
m_SizeDelta: {x: 191.6064, y: 200}
|
m_SizeDelta: {x: 153.8553, y: 156.6265}
|
||||||
m_Pivot: {x: 0.5, y: 0.5}
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
--- !u!222 &8926780816716359208
|
--- !u!222 &8926780816716359208
|
||||||
CanvasRenderer:
|
CanvasRenderer:
|
||||||
@@ -221,6 +248,81 @@ MonoBehaviour:
|
|||||||
m_FillOrigin: 0
|
m_FillOrigin: 0
|
||||||
m_UseSpriteMesh: 0
|
m_UseSpriteMesh: 0
|
||||||
m_PixelsPerUnitMultiplier: 1
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!1 &7394882777843033759
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 7599977180321496189}
|
||||||
|
- component: {fileID: 4580376650395878712}
|
||||||
|
- component: {fileID: 2149737177119617409}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Status
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &7599977180321496189
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7394882777843033759}
|
||||||
|
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: 730197510166235766}
|
||||||
|
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: 105}
|
||||||
|
m_SizeDelta: {x: 25, y: 50}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &4580376650395878712
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7394882777843033759}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &2149737177119617409
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7394882777843033759}
|
||||||
|
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 &8913311585746182097
|
--- !u!1 &8913311585746182097
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@@ -255,7 +357,7 @@ RectTransform:
|
|||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 0.5, y: 1}
|
m_AnchorMin: {x: 0.5, y: 1}
|
||||||
m_AnchorMax: {x: 0.5, y: 1}
|
m_AnchorMax: {x: 0.5, y: 1}
|
||||||
m_AnchoredPosition: {x: 0, y: 0}
|
m_AnchoredPosition: {x: 0, y: -82}
|
||||||
m_SizeDelta: {x: 200, y: 32.7355}
|
m_SizeDelta: {x: 200, y: 32.7355}
|
||||||
m_Pivot: {x: 0.5, y: 1}
|
m_Pivot: {x: 0.5, y: 1}
|
||||||
--- !u!222 &4226033253707352712
|
--- !u!222 &4226033253707352712
|
||||||
232
Assets/Prefabs/TechTree/TechWindow.prefab
Normal file
232
Assets/Prefabs/TechTree/TechWindow.prefab
Normal file
@@ -0,0 +1,232 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &7883127148892776870
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 7293486280552375151}
|
||||||
|
- component: {fileID: 8127182725389155015}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: TechWindow
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &7293486280552375151
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7883127148892776870}
|
||||||
|
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: 4805051134259484173}
|
||||||
|
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: 100, y: 100}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!114 &8127182725389155015
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 7883127148892776870}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: cc4df5657f24f9048a6cee68df18a5b8, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
panelToToggle: {fileID: 2079823740487284103}
|
||||||
|
keyToToggle: 102
|
||||||
|
--- !u!1001 &2558842276409971396
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 7293486280552375151}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 2073363510331156147, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 8127182725389155015}
|
||||||
|
- target: {fileID: 2189113196669917196, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 2189113196669917196, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4428374358683115746, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: techNode
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 4581525535379480756, guid: 43ef4c4a0a86f0b4b8f5bde185d01629, type: 3}
|
||||||
|
- target: {fileID: 4428374358683115746, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: techPanel
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 8551058652432766805}
|
||||||
|
- target: {fileID: 4566599247427807043, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: TechPanel
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4566599247427807043, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_IsActive
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6136616251983791505, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6136616251983791505, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.y
|
||||||
|
value: 792.5464
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_Pivot.x
|
||||||
|
value: 0.5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_Pivot.y
|
||||||
|
value: 0.5
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.x
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_AnchorMax.y
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_AnchorMin.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.x
|
||||||
|
value: 1820
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_SizeDelta.y
|
||||||
|
value: 780
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: -0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects:
|
||||||
|
- {fileID: 9087752481356244856, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents:
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 3534996694625853993, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 6381517572470915426}
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
--- !u!1 &1336445102845964525 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 3534996694625853993, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 2558842276409971396}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &6381517572470915426
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1336445102845964525}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Padding:
|
||||||
|
m_Left: 0
|
||||||
|
m_Right: 0
|
||||||
|
m_Top: 0
|
||||||
|
m_Bottom: 0
|
||||||
|
m_ChildAlignment: 0
|
||||||
|
m_Spacing: 30
|
||||||
|
m_ChildForceExpandWidth: 1
|
||||||
|
m_ChildForceExpandHeight: 1
|
||||||
|
m_ChildControlWidth: 0
|
||||||
|
m_ChildControlHeight: 0
|
||||||
|
m_ChildScaleWidth: 0
|
||||||
|
m_ChildScaleHeight: 0
|
||||||
|
m_ReverseArrangement: 0
|
||||||
|
--- !u!1 &2079823740487284103 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 4566599247427807043, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 2558842276409971396}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!224 &4805051134259484173 stripped
|
||||||
|
RectTransform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 7002022039547856073, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 2558842276409971396}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!224 &8551058652432766805 stripped
|
||||||
|
RectTransform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 6136616251983791505, guid: caba7991f4cf5fc479d2fcd29e973157, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 2558842276409971396}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
7
Assets/Prefabs/TechTree/TechWindow.prefab.meta
Normal file
7
Assets/Prefabs/TechTree/TechWindow.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: cdc394450f97b024c8ce25b418ff281a
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
546
Assets/Prefabs/TechTree/Tooltip.prefab
Normal file
546
Assets/Prefabs/TechTree/Tooltip.prefab
Normal file
@@ -0,0 +1,546 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &1540740621080542100
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6895960645071645738}
|
||||||
|
- component: {fileID: 112619304547174548}
|
||||||
|
- component: {fileID: 8064122245696361823}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Description
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &6895960645071645738
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1540740621080542100}
|
||||||
|
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: 5252969080537395222}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 390, y: 0}
|
||||||
|
m_Pivot: {x: 0, y: 1}
|
||||||
|
--- !u!222 &112619304547174548
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1540740621080542100}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &8064122245696361823
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1540740621080542100}
|
||||||
|
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: 4294967295
|
||||||
|
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_enableVertexGradient: 0
|
||||||
|
m_colorMode: 3
|
||||||
|
m_fontColorGradient:
|
||||||
|
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_fontColorGradientPreset: {fileID: 0}
|
||||||
|
m_spriteAsset: {fileID: 0}
|
||||||
|
m_tintAllSprites: 0
|
||||||
|
m_StyleSheet: {fileID: 0}
|
||||||
|
m_TextStyleHashCode: -1183493901
|
||||||
|
m_overrideHtmlColors: 0
|
||||||
|
m_faceColor:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontSize: 18
|
||||||
|
m_fontSizeBase: 36
|
||||||
|
m_fontWeight: 400
|
||||||
|
m_enableAutoSizing: 1
|
||||||
|
m_fontSizeMin: 12
|
||||||
|
m_fontSizeMax: 18
|
||||||
|
m_fontStyle: 1
|
||||||
|
m_HorizontalAlignment: 1
|
||||||
|
m_VerticalAlignment: 256
|
||||||
|
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: 5, y: 5, z: 5, w: 5}
|
||||||
|
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 &4903981023514464309
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5252969080537395222}
|
||||||
|
- component: {fileID: 3077465998240621022}
|
||||||
|
- component: {fileID: 5420423371718075687}
|
||||||
|
- component: {fileID: 222412779030388179}
|
||||||
|
- component: {fileID: 9012863870583988072}
|
||||||
|
- component: {fileID: -491917111353923023}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Tooltip
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &5252969080537395222
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4903981023514464309}
|
||||||
|
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: 6895960645071645738}
|
||||||
|
- {fileID: 7365983033848102783}
|
||||||
|
- {fileID: 8364462058388355552}
|
||||||
|
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: 80.566284}
|
||||||
|
m_SizeDelta: {x: 400, y: 0}
|
||||||
|
m_Pivot: {x: 0.5, y: 0.5}
|
||||||
|
--- !u!222 &3077465998240621022
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4903981023514464309}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &5420423371718075687
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4903981023514464309}
|
||||||
|
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: 21300000, guid: b0eb9c535328048ca85e8a9f5088e776, type: 3}
|
||||||
|
m_Type: 0
|
||||||
|
m_PreserveAspect: 0
|
||||||
|
m_FillCenter: 1
|
||||||
|
m_FillMethod: 4
|
||||||
|
m_FillAmount: 1
|
||||||
|
m_FillClockwise: 1
|
||||||
|
m_FillOrigin: 0
|
||||||
|
m_UseSpriteMesh: 0
|
||||||
|
m_PixelsPerUnitMultiplier: 1
|
||||||
|
--- !u!114 &222412779030388179
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4903981023514464309}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Padding:
|
||||||
|
m_Left: 10
|
||||||
|
m_Right: 10
|
||||||
|
m_Top: 10
|
||||||
|
m_Bottom: 10
|
||||||
|
m_ChildAlignment: 0
|
||||||
|
m_Spacing: 0
|
||||||
|
m_ChildForceExpandWidth: 1
|
||||||
|
m_ChildForceExpandHeight: 1
|
||||||
|
m_ChildControlWidth: 0
|
||||||
|
m_ChildControlHeight: 1
|
||||||
|
m_ChildScaleWidth: 0
|
||||||
|
m_ChildScaleHeight: 0
|
||||||
|
m_ReverseArrangement: 0
|
||||||
|
--- !u!114 &9012863870583988072
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4903981023514464309}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_HorizontalFit: 0
|
||||||
|
m_VerticalFit: 2
|
||||||
|
--- !u!114 &-491917111353923023
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4903981023514464309}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 3767383ff1186104f8155d759c4d97a7, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
techCostText: {fileID: 3385714104577012300}
|
||||||
|
techDescriptionText: {fileID: 8064122245696361823}
|
||||||
|
techModText: {fileID: 3110017704042887298}
|
||||||
|
--- !u!1 &6016304033209219933
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 8364462058388355552}
|
||||||
|
- component: {fileID: 9043700566856291521}
|
||||||
|
- component: {fileID: 3385714104577012300}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Values2
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &8364462058388355552
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6016304033209219933}
|
||||||
|
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: 5252969080537395222}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 369.247, y: 0}
|
||||||
|
m_Pivot: {x: 0, y: 0.5}
|
||||||
|
--- !u!222 &9043700566856291521
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6016304033209219933}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &3385714104577012300
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6016304033209219933}
|
||||||
|
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: 4294967295
|
||||||
|
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_enableVertexGradient: 0
|
||||||
|
m_colorMode: 3
|
||||||
|
m_fontColorGradient:
|
||||||
|
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_fontColorGradientPreset: {fileID: 0}
|
||||||
|
m_spriteAsset: {fileID: 0}
|
||||||
|
m_tintAllSprites: 0
|
||||||
|
m_StyleSheet: {fileID: 0}
|
||||||
|
m_TextStyleHashCode: -1183493901
|
||||||
|
m_overrideHtmlColors: 0
|
||||||
|
m_faceColor:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontSize: 18
|
||||||
|
m_fontSizeBase: 36
|
||||||
|
m_fontWeight: 400
|
||||||
|
m_enableAutoSizing: 1
|
||||||
|
m_fontSizeMin: 12
|
||||||
|
m_fontSizeMax: 18
|
||||||
|
m_fontStyle: 0
|
||||||
|
m_HorizontalAlignment: 1
|
||||||
|
m_VerticalAlignment: 256
|
||||||
|
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: 5, y: 5, z: 5, w: 5}
|
||||||
|
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 &8739971362171440240
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 7365983033848102783}
|
||||||
|
- component: {fileID: 5123953077202421746}
|
||||||
|
- component: {fileID: 3110017704042887298}
|
||||||
|
m_Layer: 5
|
||||||
|
m_Name: Values
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!224 &7365983033848102783
|
||||||
|
RectTransform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8739971362171440240}
|
||||||
|
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: 5252969080537395222}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
m_AnchorMin: {x: 0, y: 0}
|
||||||
|
m_AnchorMax: {x: 0, y: 0}
|
||||||
|
m_AnchoredPosition: {x: 0, y: 0}
|
||||||
|
m_SizeDelta: {x: 369.247, y: 0}
|
||||||
|
m_Pivot: {x: 0, y: 0.5}
|
||||||
|
--- !u!222 &5123953077202421746
|
||||||
|
CanvasRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8739971362171440240}
|
||||||
|
m_CullTransparentMesh: 1
|
||||||
|
--- !u!114 &3110017704042887298
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8739971362171440240}
|
||||||
|
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: 4294967295
|
||||||
|
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_enableVertexGradient: 0
|
||||||
|
m_colorMode: 3
|
||||||
|
m_fontColorGradient:
|
||||||
|
topLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
topRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
bottomRight: {r: 1, g: 1, b: 1, a: 1}
|
||||||
|
m_fontColorGradientPreset: {fileID: 0}
|
||||||
|
m_spriteAsset: {fileID: 0}
|
||||||
|
m_tintAllSprites: 0
|
||||||
|
m_StyleSheet: {fileID: 0}
|
||||||
|
m_TextStyleHashCode: -1183493901
|
||||||
|
m_overrideHtmlColors: 0
|
||||||
|
m_faceColor:
|
||||||
|
serializedVersion: 2
|
||||||
|
rgba: 4294967295
|
||||||
|
m_fontSize: 18
|
||||||
|
m_fontSizeBase: 36
|
||||||
|
m_fontWeight: 400
|
||||||
|
m_enableAutoSizing: 1
|
||||||
|
m_fontSizeMin: 12
|
||||||
|
m_fontSizeMax: 18
|
||||||
|
m_fontStyle: 0
|
||||||
|
m_HorizontalAlignment: 1
|
||||||
|
m_VerticalAlignment: 256
|
||||||
|
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: 5, y: 5, z: 5, w: 5}
|
||||||
|
m_isUsingLegacyAnimationComponent: 0
|
||||||
|
m_isVolumetricText: 0
|
||||||
|
m_hasFontAssetChanged: 0
|
||||||
|
m_baseMaterial: {fileID: 0}
|
||||||
|
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||||
7
Assets/Prefabs/TechTree/Tooltip.prefab.meta
Normal file
7
Assets/Prefabs/TechTree/Tooltip.prefab.meta
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 00310908120d55e4b9ef51caf951c0a2
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
File diff suppressed because it is too large
Load Diff
0
Assets/Scripts/BuildingButtonHandler.cs
Normal file
0
Assets/Scripts/BuildingButtonHandler.cs
Normal file
2
Assets/Scripts/BuildingButtonHandler.cs.meta
Normal file
2
Assets/Scripts/BuildingButtonHandler.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: cf3a5be4b2662c74c85b8a51d513a9ff
|
||||||
@@ -99,7 +99,7 @@ public class BuildingPlacement : MonoBehaviour
|
|||||||
}
|
}
|
||||||
rightClickMenu.SetActive(true); // Hide the right-click menu if it was open
|
rightClickMenu.SetActive(true); // Hide the right-click menu if it was open
|
||||||
// Check if the player has enough money
|
// Check if the player has enough money
|
||||||
if (City.Instance.money < preset.cost)
|
if (ResourceManager.Instance.GetResourceAmount(ResourceManager.ResourceTypes.Money).resourceAmount < preset.cost)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -147,20 +147,20 @@ public class BuildingPlacement : MonoBehaviour
|
|||||||
//places down the currently selected building
|
//places down the currently selected building
|
||||||
void PlaceBuilding()
|
void PlaceBuilding()
|
||||||
{
|
{
|
||||||
//check if the player is trying to place a building on top of another building
|
// Check if the player is trying to place a building on top of another building
|
||||||
if (City.Instance.buildings.Exists(x => x.transform.position == curIndicatorPos))
|
if (City.Instance.buildings.Exists(x => x.transform.position == curIndicatorPos))
|
||||||
{
|
{
|
||||||
Debug.Log("Cannot place building on top of another building!");
|
Debug.Log("Cannot place building on top of another building!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// Check if the player has enough money before placing
|
||||||
|
if (ResourceManager.Instance.GetResourceAmount(ResourceManager.ResourceTypes.Money).resourceAmount < curBuildingPreset.cost)
|
||||||
|
{
|
||||||
|
Debug.Log("Not enough money to place this building!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
GameObject buildingObj = Instantiate(curBuildingPreset.prefab, curIndicatorPos, curIndicatorRotation);
|
GameObject buildingObj = Instantiate(curBuildingPreset.prefab, curIndicatorPos, curIndicatorRotation);
|
||||||
City.Instance.OnPlaceBuilding(buildingObj.GetComponent<Building>());
|
City.Instance.OnPlaceBuilding(buildingObj.GetComponent<Building>());
|
||||||
/*if (placementPrefab != null)
|
|
||||||
{
|
|
||||||
Destroy(placementPrefab);
|
|
||||||
placementPrefab = null;
|
|
||||||
}*/
|
|
||||||
//currentlyPlacing = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//deletes the currently selected building
|
//deletes the currently selected building
|
||||||
|
|||||||
@@ -10,6 +10,11 @@ public class BuildingPreset : ScriptableObject
|
|||||||
public int population;
|
public int population;
|
||||||
public int jobs;
|
public int jobs;
|
||||||
public int food;
|
public int food;
|
||||||
|
public int water;
|
||||||
|
public int steel;
|
||||||
|
public int faith;
|
||||||
|
public int wood;
|
||||||
|
|
||||||
public enum BuildingType
|
public enum BuildingType
|
||||||
{
|
{
|
||||||
Residential,
|
Residential,
|
||||||
@@ -19,7 +24,15 @@ public class BuildingPreset : ScriptableObject
|
|||||||
School,
|
School,
|
||||||
Hospital,
|
Hospital,
|
||||||
PoliceStation,
|
PoliceStation,
|
||||||
FireStation
|
FireStation,
|
||||||
|
Church,
|
||||||
|
Road,
|
||||||
|
PowerPlant,
|
||||||
|
WaterPlant,
|
||||||
|
Factory,
|
||||||
|
Farm,
|
||||||
|
Mine,
|
||||||
|
Sawmill
|
||||||
}
|
}
|
||||||
public BuildingType buildingType;
|
public BuildingType buildingType;
|
||||||
}
|
}
|
||||||
@@ -35,19 +35,16 @@ public class City : MonoBehaviour
|
|||||||
[SerializeField]
|
[SerializeField]
|
||||||
private Light sunlight; // Reference to the sunlight light source
|
private Light sunlight; // Reference to the sunlight light source
|
||||||
[SerializeField] private GameObject sunTarget; // Reference to the sun target object for rotation
|
[SerializeField] private GameObject sunTarget; // Reference to the sun target object for rotation
|
||||||
public int money;
|
// Removed legacy fields: maxPopulation, maxJobs, incomePerJob, faithPerChurch
|
||||||
//public int day;
|
|
||||||
public int curPopulation;
|
|
||||||
public int curJobs;
|
|
||||||
public int curFood;
|
|
||||||
public int maxPopulation;
|
|
||||||
public int maxJobs;
|
|
||||||
public int incomePerJob;
|
|
||||||
public TextMeshProUGUI moneyTxt;
|
public TextMeshProUGUI moneyTxt;
|
||||||
public TextMeshProUGUI dayText;
|
public TextMeshProUGUI dayText;
|
||||||
public TextMeshProUGUI populationTxt;
|
public TextMeshProUGUI populationTxt;
|
||||||
public TextMeshProUGUI jobsTxt;
|
public TextMeshProUGUI jobsTxt;
|
||||||
public TextMeshProUGUI foodTxt;
|
public TextMeshProUGUI foodTxt;
|
||||||
|
public TextMeshProUGUI woodTxt;
|
||||||
|
public TextMeshProUGUI steelTxt;
|
||||||
|
public TextMeshProUGUI faithTxt;
|
||||||
|
public TextMeshProUGUI waterTxt;
|
||||||
public List<Building> buildings = new List<Building>();
|
public List<Building> buildings = new List<Building>();
|
||||||
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
||||||
void Start()
|
void Start()
|
||||||
@@ -73,46 +70,75 @@ public class City : MonoBehaviour
|
|||||||
//called when placing a building
|
//called when placing a building
|
||||||
public void OnPlaceBuilding(Building building)
|
public void OnPlaceBuilding(Building building)
|
||||||
{
|
{
|
||||||
//apply the building preset stats
|
// Apply the building preset stats
|
||||||
money -= building.preset.cost;
|
|
||||||
maxPopulation += building.preset.population;
|
|
||||||
maxJobs += building.preset.jobs;
|
|
||||||
//add the building to the list of buildings
|
|
||||||
buildings.Add(building);
|
buildings.Add(building);
|
||||||
//update the stats text
|
var preset = building.preset;
|
||||||
|
// Loop through all resource types and add if value is not zero
|
||||||
|
foreach (ResourceManager.ResourceTypes type in Enum.GetValues(typeof(ResourceManager.ResourceTypes)))
|
||||||
|
{
|
||||||
|
int value = GetResourceValueFromPreset(preset, type);
|
||||||
|
if (value != 0)
|
||||||
|
{
|
||||||
|
ResourceManager.Instance.AddResource(type, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
UpdateStats();
|
UpdateStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Helper method to get the value for a resource type from the preset
|
||||||
|
private int GetResourceValueFromPreset(BuildingPreset preset, ResourceManager.ResourceTypes type)
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case ResourceManager.ResourceTypes.Population: return preset.population;
|
||||||
|
case ResourceManager.ResourceTypes.Jobs: return preset.jobs;
|
||||||
|
case ResourceManager.ResourceTypes.Faith: return preset.faith;
|
||||||
|
case ResourceManager.ResourceTypes.Food: return preset.food;
|
||||||
|
case ResourceManager.ResourceTypes.Wood: return preset.wood;
|
||||||
|
case ResourceManager.ResourceTypes.Steel: return preset.steel;
|
||||||
|
case ResourceManager.ResourceTypes.Water: return preset.water;
|
||||||
|
case ResourceManager.ResourceTypes.Money: return preset.cost;
|
||||||
|
// Add more as needed
|
||||||
|
default: return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
//called when bulldozing a building
|
//called when bulldozing a building
|
||||||
public void OnRemoveBuilding(Building building)
|
public void OnRemoveBuilding(Building building)
|
||||||
{
|
{
|
||||||
//apply the building preset stats
|
// Subtract the building preset stats from resources
|
||||||
maxPopulation -= building.preset.population;
|
var preset = building.preset;
|
||||||
maxJobs -= building.preset.jobs;
|
foreach (ResourceManager.ResourceTypes type in Enum.GetValues(typeof(ResourceManager.ResourceTypes)))
|
||||||
//remove the building from the list of buildings
|
{
|
||||||
|
int value = GetResourceValueFromPreset(preset, type);
|
||||||
|
if (value != 0)
|
||||||
|
{
|
||||||
|
ResourceManager.Instance.AddResource(type, -value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Remove the building from the list and destroy it
|
||||||
buildings.Remove(building);
|
buildings.Remove(building);
|
||||||
//destroy the building game object
|
|
||||||
Destroy(building.gameObject);
|
Destroy(building.gameObject);
|
||||||
//update the stats text
|
|
||||||
UpdateStats();
|
UpdateStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
//update the stats text
|
//update the stats text
|
||||||
void UpdateStats()
|
void UpdateStats()
|
||||||
{
|
{
|
||||||
moneyTxt.text = "$" + money;
|
moneyTxt.text = "$" + ResourceManager.Instance.GetResourceAmount(ResourceManager.ResourceTypes.Money).resourceAmount;
|
||||||
populationTxt.text = curPopulation + " / " + maxPopulation;
|
populationTxt.text = ResourceManager.Instance.GetResourceAmount(ResourceManager.ResourceTypes.Population).resourceAmount.ToString();
|
||||||
jobsTxt.text = curJobs + " / " + maxJobs;
|
jobsTxt.text = ResourceManager.Instance.GetResourceAmount(ResourceManager.ResourceTypes.Jobs).resourceAmount.ToString();
|
||||||
foodTxt.text = curFood.ToString();
|
foodTxt.text = ResourceManager.Instance.GetResourceAmount(ResourceManager.ResourceTypes.Food).resourceAmount.ToString();
|
||||||
|
woodTxt.text = ResourceManager.Instance.GetResourceAmount(ResourceManager.ResourceTypes.Wood).resourceAmount.ToString();
|
||||||
|
steelTxt.text = ResourceManager.Instance.GetResourceAmount(ResourceManager.ResourceTypes.Steel).resourceAmount.ToString();
|
||||||
|
faithTxt.text = ResourceManager.Instance.GetResourceAmount(ResourceManager.ResourceTypes.Faith).resourceAmount.ToString();
|
||||||
|
waterTxt.text = ResourceManager.Instance.GetResourceAmount(ResourceManager.ResourceTypes.Water).resourceAmount.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
//called when clicking "End Turn" button
|
//called when clicking "End Turn" button
|
||||||
public void EndDay()
|
public void EndDay()
|
||||||
{
|
{
|
||||||
//calculate the updated stats
|
// Apply all per-day resource changes using ResourceManager
|
||||||
CalculateMoney();
|
ResourceManager.Instance.ApplyDailyResourceChanges();
|
||||||
CalculatePopulation();
|
|
||||||
CalculateJobs();
|
|
||||||
CalculateFood();
|
|
||||||
UpdateStats();
|
UpdateStats();
|
||||||
UpdateWeekDay(); // Update the current day of the week
|
UpdateWeekDay(); // Update the current day of the week
|
||||||
}
|
}
|
||||||
@@ -131,38 +157,6 @@ public class City : MonoBehaviour
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CalculateMoney()
|
|
||||||
{
|
|
||||||
money += curJobs * incomePerJob;
|
|
||||||
foreach (Building building in buildings)
|
|
||||||
{
|
|
||||||
money -= building.preset.costPerTurn;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
void CalculatePopulation()
|
|
||||||
{
|
|
||||||
if (curFood >= curPopulation && curPopulation < maxPopulation)
|
|
||||||
{
|
|
||||||
curFood -= curPopulation / 4;
|
|
||||||
curPopulation = Mathf.Min(curPopulation + (curFood / 4), maxPopulation);
|
|
||||||
}
|
|
||||||
else if (curFood < curPopulation)
|
|
||||||
{
|
|
||||||
curPopulation = curFood;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
void CalculateJobs()
|
|
||||||
{
|
|
||||||
curJobs = Mathf.Min(curPopulation, maxJobs);
|
|
||||||
}
|
|
||||||
void CalculateFood()
|
|
||||||
{
|
|
||||||
curFood = 0;
|
|
||||||
foreach (Building building in buildings)
|
|
||||||
{
|
|
||||||
curFood += building.preset.food;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private float UpdateCurrentTime()
|
private float UpdateCurrentTime()
|
||||||
{
|
{
|
||||||
// Always use the current timeMultiplier based on timeSpeedUp
|
// Always use the current timeMultiplier based on timeSpeedUp
|
||||||
@@ -202,9 +196,6 @@ public class City : MonoBehaviour
|
|||||||
float t = (curTime - sunriseTime) / (noonTime - sunriseTime);
|
float t = (curTime - sunriseTime) / (noonTime - sunriseTime);
|
||||||
intensity = Mathf.Lerp(minIntensity, maxIntensity, t);
|
intensity = Mathf.Lerp(minIntensity, maxIntensity, t);
|
||||||
sunPosition = Vector3.Lerp(sunriseTarget.transform.position, noonTarget.transform.position, t);
|
sunPosition = Vector3.Lerp(sunriseTarget.transform.position, noonTarget.transform.position, t);
|
||||||
#if UNITY_EDITOR
|
|
||||||
Debug.Log($"Sunrise period - Time: {curTime:F0}, Intensity: {intensity:F2}");
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -212,9 +203,6 @@ public class City : MonoBehaviour
|
|||||||
float t = (curTime - noonTime) / (sunsetTime - noonTime);
|
float t = (curTime - noonTime) / (sunsetTime - noonTime);
|
||||||
intensity = Mathf.Lerp(maxIntensity, minIntensity, t);
|
intensity = Mathf.Lerp(maxIntensity, minIntensity, t);
|
||||||
sunPosition = Vector3.Lerp(noonTarget.transform.position, sunsetTarget.transform.position, t);
|
sunPosition = Vector3.Lerp(noonTarget.transform.position, sunsetTarget.transform.position, t);
|
||||||
#if UNITY_EDITOR
|
|
||||||
Debug.Log($"Sunset period - Time: {curTime:F0}, Intensity: {intensity:F2}");
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -223,9 +211,6 @@ public class City : MonoBehaviour
|
|||||||
intensity = minIntensity;
|
intensity = minIntensity;
|
||||||
// During night, keep the sun at sunset position (sun is "below horizon")
|
// During night, keep the sun at sunset position (sun is "below horizon")
|
||||||
sunPosition = sunsetTarget.transform.position;
|
sunPosition = sunsetTarget.transform.position;
|
||||||
#if UNITY_EDITOR
|
|
||||||
Debug.Log($"Night cycle active - Time: {curTime:F0}, Intensity: {intensity:F2}");
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Move the sun target and apply light intensity
|
// Move the sun target and apply light intensity
|
||||||
|
|||||||
@@ -1,24 +1,20 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
public class PanelToggle : MonoBehaviour
|
public class PanelToggle : MonoBehaviour
|
||||||
{
|
{
|
||||||
void Awake()
|
|
||||||
{
|
|
||||||
// there is only 1 child so this is a quick way to get a reference
|
|
||||||
panelToToggle = transform.GetChild(0).gameObject;
|
|
||||||
currentToggle = panelToToggle.activeSelf; // sync var to panels state
|
|
||||||
}
|
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private GameObject panelToToggle;
|
private GameObject panelToToggle;
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
|
private bool currentToggle;
|
||||||
|
[SerializeField]
|
||||||
private KeyCode keyToToggle;
|
private KeyCode keyToToggle;
|
||||||
private bool currentToggle; // true if panel on
|
// Start is called before the first frame update
|
||||||
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
void Awake()
|
||||||
void Start()
|
|
||||||
{
|
{
|
||||||
|
panelToToggle = transform.GetChild(0).gameObject;
|
||||||
|
currentToggle = panelToToggle.activeSelf;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update is called once per frame
|
// Update is called once per frame
|
||||||
void Update()
|
void Update()
|
||||||
{
|
{
|
||||||
|
|||||||
85
Assets/Scripts/ResourceManager.cs
Normal file
85
Assets/Scripts/ResourceManager.cs
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
public class ResourceManager : MonoBehaviour
|
||||||
|
{
|
||||||
|
public enum ResourceTypes { Steel, Wood, Water, Population, Food, Faith, Money, Jobs, maxPopulation, faithPerDay, moneyPerDay, woodPerDay, steelPerDay, waterPerDay, foodPerDay, populationPerDay }
|
||||||
|
public List<ResourceAmount> resourceAmounts;
|
||||||
|
public static ResourceManager Instance { get; private set; }
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
if (Instance != null && Instance != this)
|
||||||
|
{
|
||||||
|
Destroy(this.gameObject);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Instance = this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public ResourceAmount GetResourceAmount(ResourceTypes resource)
|
||||||
|
{
|
||||||
|
var found = resourceAmounts.Find(r => r.resourceType == resource);
|
||||||
|
if (found == null)
|
||||||
|
{
|
||||||
|
Debug.LogWarning($"Resource {resource} not found!");
|
||||||
|
return new ResourceAmount { resourceType = resource, resourceAmount = 0 };
|
||||||
|
}
|
||||||
|
return found;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddResource(ResourceTypes type, int amount)
|
||||||
|
{
|
||||||
|
var res = GetResourceAmount(type);
|
||||||
|
res.resourceAmount += amount;
|
||||||
|
ClampResource(type);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clamp resource to prevent negative values for certain types
|
||||||
|
private void ClampResource(ResourceTypes type)
|
||||||
|
{
|
||||||
|
// Only clamp for resources that should not go negative
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case ResourceTypes.Food:
|
||||||
|
case ResourceTypes.Money:
|
||||||
|
case ResourceTypes.Wood:
|
||||||
|
case ResourceTypes.Steel:
|
||||||
|
case ResourceTypes.Water:
|
||||||
|
case ResourceTypes.Faith:
|
||||||
|
case ResourceTypes.Population:
|
||||||
|
var res = GetResourceAmount(type);
|
||||||
|
if (res.resourceAmount < 0)
|
||||||
|
res.resourceAmount = 0;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SetResource(ResourceTypes type, int amount)
|
||||||
|
{
|
||||||
|
var res = GetResourceAmount(type);
|
||||||
|
res.resourceAmount = amount;
|
||||||
|
}
|
||||||
|
public void ApplyDailyResourceChanges()
|
||||||
|
{
|
||||||
|
// For each resource type that has a corresponding per-day value, add it to the main resource
|
||||||
|
AddResource(ResourceTypes.Faith, GetResourceAmount(ResourceTypes.faithPerDay).resourceAmount);
|
||||||
|
AddResource(ResourceTypes.Money, GetResourceAmount(ResourceTypes.moneyPerDay).resourceAmount);
|
||||||
|
AddResource(ResourceTypes.Wood, GetResourceAmount(ResourceTypes.woodPerDay).resourceAmount);
|
||||||
|
AddResource(ResourceTypes.Steel, GetResourceAmount(ResourceTypes.steelPerDay).resourceAmount);
|
||||||
|
AddResource(ResourceTypes.Water, GetResourceAmount(ResourceTypes.waterPerDay).resourceAmount);
|
||||||
|
AddResource(ResourceTypes.Food, GetResourceAmount(ResourceTypes.foodPerDay).resourceAmount);
|
||||||
|
AddResource(ResourceTypes.Population, GetResourceAmount(ResourceTypes.populationPerDay).resourceAmount);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
public class ResourceAmount
|
||||||
|
{
|
||||||
|
public ResourceManager.ResourceTypes resourceType;
|
||||||
|
public int resourceAmount;
|
||||||
|
}
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
using UnityEngine;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
|
|
||||||
public class Resources : MonoBehaviour
|
|
||||||
{
|
|
||||||
private void Awake()
|
|
||||||
{
|
|
||||||
// if Instance is not null, but has a value that is not this
|
|
||||||
// version of the object, destroy this version because only
|
|
||||||
// one is allowed to exist.
|
|
||||||
// otherwise assign this version to Instance.
|
|
||||||
if(Instance != null && Instance != this)
|
|
||||||
{
|
|
||||||
Destroy(this.gameObject);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Instance = this;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// note that the setter is private, meaning that no other class can set this property
|
|
||||||
public static Resources Instance { get; private set; }
|
|
||||||
public enum ResourceTypes { Gold, Steel, Wood, Water };
|
|
||||||
public List<ResourceAmount> resourceAmounts;
|
|
||||||
// Start is called once before the first execution of Update after the MonoBehaviour is created
|
|
||||||
void Start()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update is called once per frame
|
|
||||||
void Update()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
public ResourceAmount GetResourceAmount(ResourceTypes resource)
|
|
||||||
{
|
|
||||||
// 'r' holds the current ResourceAmount element from our list as we iterate through it...
|
|
||||||
return resourceAmounts.Find(r => r.resourceType == resource);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
[System.Serializable]
|
|
||||||
public class ResourceAmount
|
|
||||||
{
|
|
||||||
public Resources.ResourceTypes resourceType;
|
|
||||||
public int resourceAmount;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,27 +1,27 @@
|
|||||||
using UnityEngine;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
public class TechDatabase : MonoBehaviour
|
public class TechDatabase : MonoBehaviour
|
||||||
{
|
{
|
||||||
public List<TechGroup> techGroups;
|
public List<TechGroup> techGroups;
|
||||||
[System.Serializable]
|
|
||||||
public class TechGroup
|
|
||||||
{
|
|
||||||
public List<Technology> technologies;
|
|
||||||
}
|
|
||||||
private void Update()
|
private void Update()
|
||||||
{
|
{
|
||||||
if(Input.GetKeyDown(KeyCode.O))
|
if (Input.GetKeyDown(KeyCode.A))
|
||||||
{
|
{
|
||||||
techGroups[0].technologies[0].StartResearching();
|
techGroups[0].technologies[0].StartResearching();
|
||||||
}
|
}
|
||||||
if (Input.GetKeyDown(KeyCode.P))
|
if (Input.GetKeyDown(KeyCode.S))
|
||||||
{
|
{
|
||||||
techGroups[1].technologies[0].StartResearching();
|
techGroups[1].technologies[0].StartResearching();
|
||||||
}
|
}
|
||||||
if (Input.GetKeyDown(KeyCode.Space))
|
if (Input.GetKeyDown(KeyCode.Space))
|
||||||
{
|
{
|
||||||
TechEvents.TurnPassed(null); // Trigger the turn passed event
|
TechEvents.TurnPassed();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
[System.Serializable]
|
||||||
|
public class TechGroup
|
||||||
|
{
|
||||||
|
public List<Technology> technologies;
|
||||||
|
}
|
||||||
@@ -2,36 +2,26 @@ using System.Collections;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
public class TechEvents : MonoBehaviour
|
public class TechEvents : MonoBehaviour
|
||||||
{
|
{
|
||||||
public static Action<Technology> OnTechResearchStarted;
|
public static Action<Technology> OnTechResearchStarted;
|
||||||
public static Action<Technology> OnTechResearchCompleted;
|
public static Action<Technology> OnTechResearchCompleted;
|
||||||
public static Action<Technology> OnTechUnlocked;
|
public static Action<Technology> OnTechUnlocked;
|
||||||
public static Action OnTurnPassed; // takes no parameter passed in
|
public static Action OnTurnPassed;
|
||||||
public static void TechResearchStarted(Technology tech)
|
public static void TechResearchStarted(Technology tech)
|
||||||
{
|
{
|
||||||
// note the use of the null check operator (?) below
|
|
||||||
// this translates into: "if this object is not null, call this method on it"
|
|
||||||
OnTechResearchStarted?.Invoke(tech);
|
OnTechResearchStarted?.Invoke(tech);
|
||||||
}
|
}
|
||||||
public static void TechResearchCompleted(Technology tech)
|
public static void TechResearchCompleted(Technology tech)
|
||||||
{
|
{
|
||||||
// note the use of the null check operator (?) below
|
|
||||||
// this translates into: "if this object is not null, call this method on it"
|
|
||||||
OnTechResearchCompleted?.Invoke(tech);
|
OnTechResearchCompleted?.Invoke(tech);
|
||||||
}
|
}
|
||||||
public static void TechUnlocked(Technology tech)
|
public static void TechUnlocked(Technology tech)
|
||||||
{
|
{
|
||||||
// note the use of the null check operator (?) below
|
|
||||||
// this translates into: "if this object is not null, call this method on it"
|
|
||||||
OnTechUnlocked?.Invoke(tech);
|
OnTechUnlocked?.Invoke(tech);
|
||||||
}
|
}
|
||||||
public static void TurnPassed(Technology tech)
|
public static void TurnPassed()
|
||||||
{
|
{
|
||||||
// note the use of the null check operator (?) below
|
|
||||||
// this translates into: "if this object is not null, call this method on it"
|
|
||||||
OnTurnPassed?.Invoke();
|
OnTurnPassed?.Invoke();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
23
Assets/Scripts/TechNodeConnector.cs
Normal file
23
Assets/Scripts/TechNodeConnector.cs
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
public class TechNodeConnector : MonoBehaviour
|
||||||
|
{
|
||||||
|
private UnityEngine.UI.Image image;
|
||||||
|
// Start is called before the first frame update
|
||||||
|
void Awake()
|
||||||
|
{
|
||||||
|
image = GetComponent<UnityEngine.UI.Image>();
|
||||||
|
}
|
||||||
|
public void MakeConnections(Vector3 fromPoint, Vector3 toPoint, Color color)
|
||||||
|
{
|
||||||
|
image.color = color;
|
||||||
|
Vector3 centerPosition = (fromPoint + toPoint) / 2;
|
||||||
|
Vector3 direction = Vector3.Normalize(fromPoint - toPoint);
|
||||||
|
transform.right = direction;
|
||||||
|
transform.position = centerPosition;
|
||||||
|
transform.localScale = new Vector3(Vector3.Distance(fromPoint, toPoint) / 10, 1, 1);
|
||||||
|
transform.SetAsFirstSibling();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
2
Assets/Scripts/TechNodeConnector.cs.meta
Normal file
2
Assets/Scripts/TechNodeConnector.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 7554ecf4667c65b4ba007999cd76c9e7
|
||||||
@@ -3,42 +3,83 @@ using System.Collections;
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.UI;
|
using UnityEngine.UI;
|
||||||
using TMPro;
|
using TMPro;
|
||||||
public class TechNodeUI : MonoBehaviour
|
using UnityEngine.EventSystems;
|
||||||
|
public class TechNodeUI : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
|
||||||
{
|
{
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private Image techImage;
|
private Image techImage;
|
||||||
|
[SerializeField] Image techStatusImage;
|
||||||
|
[SerializeField] Sprite techStatusLocked;
|
||||||
|
[SerializeField] Sprite techStatusUnlocked;
|
||||||
|
[SerializeField] Sprite techStatusResearching;
|
||||||
|
[SerializeField] Sprite techStatusCompleted;
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private TextMeshProUGUI techTitleText;
|
private TextMeshProUGUI techTitleText;
|
||||||
[HideInInspector]
|
[HideInInspector]
|
||||||
public Technology technology; // the technology this node represents
|
public Technology technology;
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private Image nodeImage;
|
private Image nodeImage;
|
||||||
|
[SerializeField]
|
||||||
|
private TechNodeConnector connector;
|
||||||
|
[SerializeField]
|
||||||
|
private Outline outline;
|
||||||
public void Initialize(Technology tech)
|
public void Initialize(Technology tech)
|
||||||
{
|
{
|
||||||
technology = tech;
|
technology = tech;
|
||||||
techTitleText.text = tech.techName;
|
techTitleText.text = tech.techName;
|
||||||
techImage.sprite = tech.techImage;
|
techImage.sprite = tech.techImage;
|
||||||
|
outline.effectColor = tech.techUIColor;
|
||||||
if (tech.availabilityState == Technology.AvailabilityState.Locked)
|
if (tech.availabilityState == Technology.AvailabilityState.Locked)
|
||||||
{
|
{
|
||||||
nodeImage.color = Color.gray; // gray out the node if locked
|
nodeImage.color = Color.gray;
|
||||||
|
techStatusImage.sprite = techStatusLocked;
|
||||||
|
techStatusImage.color = Color.black;
|
||||||
|
TechEvents.OnTechUnlocked += UnlockedTechnology;
|
||||||
}
|
}
|
||||||
GetComponent<Button>().onClick.AddListener(StartResearching);
|
GetComponent<Button>().onClick.AddListener(StartResearching);
|
||||||
}
|
}
|
||||||
public void StartResearching()
|
public void StartResearching()
|
||||||
{
|
{
|
||||||
if (technology.availabilityState == Technology.AvailabilityState.Unlocked &&
|
if (technology.availabilityState == Technology.AvailabilityState.Unlocked && technology.StartResearching())
|
||||||
technology.StartResearching())
|
|
||||||
{
|
{
|
||||||
nodeImage.color = Color.blue; // indicate being researched
|
nodeImage.color = Color.blue;
|
||||||
|
techStatusImage.color = Color.black;
|
||||||
|
techStatusImage.sprite = techStatusResearching;
|
||||||
TechEvents.OnTechResearchCompleted += CompletedResearch;
|
TechEvents.OnTechResearchCompleted += CompletedResearch;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public void Connect(List<TechNodeUI> nodes, Transform parent)
|
||||||
|
{
|
||||||
|
foreach (RequiredTech tech in technology.techRequirements)
|
||||||
|
{
|
||||||
|
TechNodeUI connectedNode = nodes.Find(t=>t.technology.techName == tech.techName);
|
||||||
|
TechNodeConnector nodeConnector = Instantiate(connector, parent);
|
||||||
|
nodeConnector.MakeConnections(transform.position, connectedNode.transform.position, connectedNode.technology.techUIColor);
|
||||||
|
}
|
||||||
|
}
|
||||||
public void CompletedResearch(Technology tech)
|
public void CompletedResearch(Technology tech)
|
||||||
{
|
{
|
||||||
// complete only for this technology
|
|
||||||
if (!tech.Equals(technology))
|
|
||||||
return;
|
|
||||||
nodeImage.color = Color.green;
|
nodeImage.color = Color.green;
|
||||||
|
techStatusImage.sprite = techStatusCompleted;
|
||||||
|
techStatusImage.color = Color.black;
|
||||||
TechEvents.OnTechResearchCompleted -= CompletedResearch;
|
TechEvents.OnTechResearchCompleted -= CompletedResearch;
|
||||||
}
|
}
|
||||||
|
public void UnlockedTechnology(Technology tech)
|
||||||
|
{
|
||||||
|
if (tech == technology)
|
||||||
|
{
|
||||||
|
nodeImage.color = Color.yellow;
|
||||||
|
techStatusImage.sprite = techStatusUnlocked;
|
||||||
|
techStatusImage.color = Color.black;
|
||||||
|
TechEvents.OnTechUnlocked -= UnlockedTechnology;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public void OnPointerEnter(PointerEventData eventData)
|
||||||
|
{
|
||||||
|
TechTooltip.Instance.Show(this.technology);
|
||||||
|
}
|
||||||
|
public void OnPointerExit(PointerEventData eventData)
|
||||||
|
{
|
||||||
|
TechTooltip.Instance.Hide();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
41
Assets/Scripts/TechTooltip.cs
Normal file
41
Assets/Scripts/TechTooltip.cs
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using System.Linq;
|
||||||
|
using TMPro;
|
||||||
|
public class TechTooltip : MonoBehaviour
|
||||||
|
{
|
||||||
|
public static TechTooltip Instance { get; private set; }
|
||||||
|
[SerializeField]
|
||||||
|
private TextMeshProUGUI techCostText, techDescriptionText, techModText;
|
||||||
|
private void LateUpdate()
|
||||||
|
{
|
||||||
|
transform.position = Input.mousePosition;
|
||||||
|
}
|
||||||
|
public void Show(Technology tech)
|
||||||
|
{
|
||||||
|
gameObject.SetActive(true);
|
||||||
|
string cost = string.Join("\n", tech.resourceCosts.Select(c => string.Format("-{0} {1}", c.resourceAmount, c.resourceType)));
|
||||||
|
string mods = string.Join("\n", tech.techModifiers.Select(m => string.Format("+{0} {1}", m.amount, m.modifier)));
|
||||||
|
techCostText.text = cost;
|
||||||
|
techModText.text = mods;
|
||||||
|
techDescriptionText.text = tech.techDescription;
|
||||||
|
}
|
||||||
|
public void Hide()
|
||||||
|
{
|
||||||
|
gameObject.SetActive(false);
|
||||||
|
}
|
||||||
|
// Start is called before the first frame update
|
||||||
|
void Awake()
|
||||||
|
{
|
||||||
|
gameObject.SetActive(false);
|
||||||
|
if (Instance != null && Instance != this)
|
||||||
|
{
|
||||||
|
Destroy(this.gameObject);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Instance = this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
2
Assets/Scripts/TechTooltip.cs.meta
Normal file
2
Assets/Scripts/TechTooltip.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3767383ff1186104f8155d759c4d97a7
|
||||||
@@ -3,20 +3,21 @@ using System.Collections.Generic;
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
public class TechTreeUI : MonoBehaviour
|
public class TechTreeUI : MonoBehaviour
|
||||||
{
|
{
|
||||||
private List<TechDatabase.TechGroup> techGroups;
|
private List<TechGroup> techGroups;
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private GameObject techColumn;
|
private GameObject techColumn;
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private TechNodeUI techNode;
|
private TechNodeUI techNode;
|
||||||
[SerializeField]
|
[SerializeField]
|
||||||
private Transform techPanel;
|
private Transform techPanel;
|
||||||
|
private List<TechNodeUI> techNodes = new List<TechNodeUI>();
|
||||||
// Start is called before the first frame update
|
// Start is called before the first frame update
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
techGroups = FindFirstObjectByType<TechDatabase>().techGroups;
|
techGroups = FindAnyObjectByType<TechDatabase>().techGroups;
|
||||||
BuildTree();
|
StartCoroutine(BuildTree());
|
||||||
}
|
}
|
||||||
void BuildTree()
|
IEnumerator BuildTree()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < techGroups.Count; i++)
|
for (int i = 0; i < techGroups.Count; i++)
|
||||||
{
|
{
|
||||||
@@ -24,8 +25,14 @@ public class TechTreeUI : MonoBehaviour
|
|||||||
for (int j = 0; j < techGroups[i].technologies.Count; j++)
|
for (int j = 0; j < techGroups[i].technologies.Count; j++)
|
||||||
{
|
{
|
||||||
TechNodeUI node = Instantiate(techNode, col);
|
TechNodeUI node = Instantiate(techNode, col);
|
||||||
|
techNodes.Add(node);
|
||||||
node.Initialize(techGroups[i].technologies[j]);
|
node.Initialize(techGroups[i].technologies[j]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
yield return 0;
|
||||||
|
for (int i = 0; i < techNodes.Count; i++)
|
||||||
|
{
|
||||||
|
techNodes[i].Connect(techNodes, techPanel);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,19 +2,21 @@ using System.Collections;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
|
||||||
[System.Serializable]
|
[System.Serializable]
|
||||||
public class Technology
|
public class Technology
|
||||||
{
|
{
|
||||||
public enum AvailabilityState { Locked, Unlocked, Researching, Learned };
|
|
||||||
public AvailabilityState availabilityState;
|
|
||||||
public string techName;
|
public string techName;
|
||||||
|
public enum AvailabilityState { Locked, Unlocked, Researching, Learned }
|
||||||
|
public AvailabilityState availabilityState;
|
||||||
public string techDescription;
|
public string techDescription;
|
||||||
public Sprite techImage;
|
public Sprite techImage;
|
||||||
public List<ResourceAmount> resourceCosts;
|
public List<ResourceAmount> resourceCosts;
|
||||||
public List<RequiredTech> techRequirements;
|
public List<RequiredTech> techRequirements;
|
||||||
|
public List<TechModifiers> techModifiers;
|
||||||
|
[SerializeField]
|
||||||
private int researchedTurns;
|
private int researchedTurns;
|
||||||
public int requiredResearchTurns;
|
public int requiredResearchTurns;
|
||||||
|
public Color techUIColor;
|
||||||
public Technology()
|
public Technology()
|
||||||
{
|
{
|
||||||
if (availabilityState == AvailabilityState.Locked)
|
if (availabilityState == AvailabilityState.Locked)
|
||||||
@@ -25,14 +27,14 @@ public class Technology
|
|||||||
public void Unlock()
|
public void Unlock()
|
||||||
{
|
{
|
||||||
availabilityState = AvailabilityState.Unlocked;
|
availabilityState = AvailabilityState.Unlocked;
|
||||||
TechEvents.OnTechResearchCompleted -= CheckRequirements; // add this line
|
TechEvents.TechUnlocked(this);
|
||||||
|
TechEvents.OnTechResearchCompleted -= CheckRequirements;
|
||||||
Debug.Log("Tech was unlocked:" + this.techName);
|
Debug.Log("Tech was unlocked:" + this.techName);
|
||||||
}
|
}
|
||||||
public void Learn()
|
public void Learn()
|
||||||
{
|
{
|
||||||
TechEvents.TechResearchCompleted(this);
|
TechEvents.TechResearchCompleted(this);
|
||||||
// stop listening for turns passing...
|
TechEvents.OnTurnPassed -= NewTurn;
|
||||||
TechEvents.OnTurnPassed -= NewTurn; // add this line
|
|
||||||
availabilityState = AvailabilityState.Learned;
|
availabilityState = AvailabilityState.Learned;
|
||||||
Debug.Log("Tech was learned: " + this.techName);
|
Debug.Log("Tech was learned: " + this.techName);
|
||||||
}
|
}
|
||||||
@@ -49,23 +51,14 @@ public class Technology
|
|||||||
}
|
}
|
||||||
private void CheckRequirements(Technology tech)
|
private void CheckRequirements(Technology tech)
|
||||||
{
|
{
|
||||||
// only do the check if this tech is locked
|
|
||||||
if (availabilityState == AvailabilityState.Locked)
|
if (availabilityState == AvailabilityState.Locked)
|
||||||
{
|
{
|
||||||
/* go through the techRequirements list and see if the newly available te
|
|
||||||
ch (the parameter
|
|
||||||
* that was passed into this function) was one of this tech's requirement
|
|
||||||
s.
|
|
||||||
*/
|
|
||||||
RequiredTech requireTech = techRequirements.FirstOrDefault(rt=>rt.techName == tech.techName);
|
RequiredTech requireTech = techRequirements.FirstOrDefault(rt=>rt.techName == tech.techName);
|
||||||
// if there is a requiredTech and it is not complete, perform these steps
|
|
||||||
if (requireTech != null && !requireTech.completed)
|
if (requireTech != null && !requireTech.completed)
|
||||||
{
|
{
|
||||||
requireTech.completed = true; // mark the requirement as complete
|
requireTech.completed = true;
|
||||||
// check if all requirements are complete...
|
|
||||||
if (!techRequirements.Any(t=>t.completed == false))
|
if (!techRequirements.Any(t=>t.completed == false))
|
||||||
{
|
{
|
||||||
// ...if so, this tech is now unlocked and available
|
|
||||||
Unlock();
|
Unlock();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -74,37 +67,26 @@ public class Technology
|
|||||||
public bool StartResearching()
|
public bool StartResearching()
|
||||||
{
|
{
|
||||||
bool hasEnoughResources = false;
|
bool hasEnoughResources = false;
|
||||||
// keep track of how many resources you have the required amount of...
|
|
||||||
List<ResourceAmount> resourceAmounts = new List<ResourceAmount>();
|
List<ResourceAmount> resourceAmounts = new List<ResourceAmount>();
|
||||||
// loop through each of the required resources
|
|
||||||
for (int i = 0; i < resourceCosts.Count; i++)
|
for (int i = 0; i < resourceCosts.Count; i++)
|
||||||
{
|
{
|
||||||
// find out how much of a type (wood, etc.) you currently have
|
ResourceAmount currentAmount = ResourceManager.Instance.GetResourceAmount(resourceCosts[i].resourceType);
|
||||||
ResourceAmount currentAmount = Resources.Instance.GetResourceAmount(resourceCosts[i].resourceType);
|
|
||||||
// find out how much is required. Cache the cost
|
|
||||||
ResourceAmount cost = resourceCosts[i];
|
ResourceAmount cost = resourceCosts[i];
|
||||||
// only add to list if you have enough of resource type...
|
|
||||||
if (currentAmount.resourceAmount >= cost.resourceAmount)
|
if (currentAmount.resourceAmount >= cost.resourceAmount)
|
||||||
{
|
{
|
||||||
resourceAmounts.Add(currentAmount);
|
resourceAmounts.Add(currentAmount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// if the number of resources you can fulfill is equal to the number
|
|
||||||
// required by the technology, then you can start researching
|
|
||||||
if (resourceAmounts.Count >= resourceCosts.Count)
|
if (resourceAmounts.Count >= resourceCosts.Count)
|
||||||
{
|
{
|
||||||
hasEnoughResources = true;
|
hasEnoughResources = true;
|
||||||
for (int i = 0; i < resourceCosts.Count; i++)
|
for (int i = 0; i < resourceCosts.Count; i++)
|
||||||
{
|
{
|
||||||
// go ahead and subtract all the resource costs from the player...
|
|
||||||
resourceAmounts[i].resourceAmount -= resourceCosts[i].resourceAmount;
|
resourceAmounts[i].resourceAmount -= resourceCosts[i].resourceAmount;
|
||||||
}
|
}
|
||||||
availabilityState = AvailabilityState.Researching;
|
availabilityState = AvailabilityState.Researching;
|
||||||
// fire off a TechResearchStarted event, specifying which kind of tech...
|
TechEvents.TechResearchStarted(this);
|
||||||
TechEvents.TechResearchStarted(this); // add this line
|
TechEvents.OnTurnPassed += NewTurn;
|
||||||
// start listening for turns to pass by subscribing to turn event.
|
|
||||||
// Have NewTurn() method handle the events...
|
|
||||||
TechEvents.OnTurnPassed += NewTurn; // add this line
|
|
||||||
}
|
}
|
||||||
return hasEnoughResources;
|
return hasEnoughResources;
|
||||||
}
|
}
|
||||||
@@ -115,3 +97,10 @@ public class Technology
|
|||||||
public string techName;
|
public string techName;
|
||||||
public bool completed;
|
public bool completed;
|
||||||
}
|
}
|
||||||
|
[System.Serializable]
|
||||||
|
public class TechModifiers
|
||||||
|
{
|
||||||
|
public enum ModifierType { Gold, Steel, Wood, Water, Population, Food }
|
||||||
|
public ModifierType modifier;
|
||||||
|
public float amount;
|
||||||
|
}
|
||||||
|
|||||||
Binary file not shown.
BIN
Library/Artifacts/01/0109524802cd8c56eaf1af4bb173a7b5
Normal file
BIN
Library/Artifacts/01/0109524802cd8c56eaf1af4bb173a7b5
Normal file
Binary file not shown.
BIN
Library/Artifacts/01/01a1a6501e567436cfcff343f9dfc7eb
Normal file
BIN
Library/Artifacts/01/01a1a6501e567436cfcff343f9dfc7eb
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.7 KiB |
Binary file not shown.
BIN
Library/Artifacts/03/03bfcd5edc0d2e9b02c219022492a627
Normal file
BIN
Library/Artifacts/03/03bfcd5edc0d2e9b02c219022492a627
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/07/0700c220d16fbe9d79b4510d0f272ce4
Normal file
BIN
Library/Artifacts/07/0700c220d16fbe9d79b4510d0f272ce4
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/0b/0b6b0f791f35bdf0327b38d4a8394cac
Normal file
BIN
Library/Artifacts/0b/0b6b0f791f35bdf0327b38d4a8394cac
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/0e/0e2eba2f496303020280b37cff965d15
Normal file
BIN
Library/Artifacts/0e/0e2eba2f496303020280b37cff965d15
Normal file
Binary file not shown.
BIN
Library/Artifacts/10/109a1d77a090f8159f0e36f025ee2733
Normal file
BIN
Library/Artifacts/10/109a1d77a090f8159f0e36f025ee2733
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/14/148947c371813cdcb7a5be855ca696fd
Normal file
BIN
Library/Artifacts/14/148947c371813cdcb7a5be855ca696fd
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/18/18b6e46a6d2485a465b59d93fb964622
Normal file
BIN
Library/Artifacts/18/18b6e46a6d2485a465b59d93fb964622
Normal file
Binary file not shown.
BIN
Library/Artifacts/18/18d4749ed2f8a78a5ed5dea6f792675d
Normal file
BIN
Library/Artifacts/18/18d4749ed2f8a78a5ed5dea6f792675d
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
Binary file not shown.
BIN
Library/Artifacts/1c/1c2a2c3d5a9b175ab51ca2098cb5c55a
Normal file
BIN
Library/Artifacts/1c/1c2a2c3d5a9b175ab51ca2098cb5c55a
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/20/2060bdc48ee0b70105e9196683a1df9e
Normal file
BIN
Library/Artifacts/20/2060bdc48ee0b70105e9196683a1df9e
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/21/21609fe0e0cacfb2bebb179d64da97bb
Normal file
BIN
Library/Artifacts/21/21609fe0e0cacfb2bebb179d64da97bb
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.0 KiB |
BIN
Library/Artifacts/21/21b6b04f39820abcce58fd67872368ea
Normal file
BIN
Library/Artifacts/21/21b6b04f39820abcce58fd67872368ea
Normal file
Binary file not shown.
BIN
Library/Artifacts/23/23d50cf3552d72a9e6305a1192f4fd57
Normal file
BIN
Library/Artifacts/23/23d50cf3552d72a9e6305a1192f4fd57
Normal file
Binary file not shown.
BIN
Library/Artifacts/26/2617a419cb709ae874c8a83ebb87adc9
Normal file
BIN
Library/Artifacts/26/2617a419cb709ae874c8a83ebb87adc9
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/28/28dcc9e52b61878a6e33bc320535bffb
Normal file
BIN
Library/Artifacts/28/28dcc9e52b61878a6e33bc320535bffb
Normal file
Binary file not shown.
BIN
Library/Artifacts/29/298d8f4015868254cc816e5ea0860f17
Normal file
BIN
Library/Artifacts/29/298d8f4015868254cc816e5ea0860f17
Normal file
Binary file not shown.
BIN
Library/Artifacts/2b/2b3295e6578037bfb6b572273cd375cd
Normal file
BIN
Library/Artifacts/2b/2b3295e6578037bfb6b572273cd375cd
Normal file
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 2.4 KiB |
BIN
Library/Artifacts/31/31fd1c29bbad984ab867540d7ab71899
Normal file
BIN
Library/Artifacts/31/31fd1c29bbad984ab867540d7ab71899
Normal file
Binary file not shown.
BIN
Library/Artifacts/33/333cf5a2b6a336b1b2474c160ead4542
Normal file
BIN
Library/Artifacts/33/333cf5a2b6a336b1b2474c160ead4542
Normal file
Binary file not shown.
BIN
Library/Artifacts/35/35198eff5cb0f9664028857ea5b087bd
Normal file
BIN
Library/Artifacts/35/35198eff5cb0f9664028857ea5b087bd
Normal file
Binary file not shown.
BIN
Library/Artifacts/35/35d8cdc81b042817a442de30a08ada50
Normal file
BIN
Library/Artifacts/35/35d8cdc81b042817a442de30a08ada50
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/39/39e98cafcd19a5b7f2a6b7562a51ad01
Normal file
BIN
Library/Artifacts/39/39e98cafcd19a5b7f2a6b7562a51ad01
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/3c/3c4f2d94258c0cc208e82e570c7a99be
Normal file
BIN
Library/Artifacts/3c/3c4f2d94258c0cc208e82e570c7a99be
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.8 KiB |
BIN
Library/Artifacts/3d/3db471d446501620e735be04a89fd307
Normal file
BIN
Library/Artifacts/3d/3db471d446501620e735be04a89fd307
Normal file
Binary file not shown.
BIN
Library/Artifacts/41/4184add88aec0286669f3b19f3499435
Normal file
BIN
Library/Artifacts/41/4184add88aec0286669f3b19f3499435
Normal file
Binary file not shown.
BIN
Library/Artifacts/41/41bd64184868fdd8c4acfc840204fc51
Normal file
BIN
Library/Artifacts/41/41bd64184868fdd8c4acfc840204fc51
Normal file
Binary file not shown.
BIN
Library/Artifacts/41/41ffa49ae1e2146d43458623088036b3
Normal file
BIN
Library/Artifacts/41/41ffa49ae1e2146d43458623088036b3
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/42/42c014619f080c33d43827eb6aa359f3
Normal file
BIN
Library/Artifacts/42/42c014619f080c33d43827eb6aa359f3
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/42/42f17ab7e203271b36c34574afd8de26
Normal file
BIN
Library/Artifacts/42/42f17ab7e203271b36c34574afd8de26
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user