From d1ad461a1780579b7981f7996f556ac5a8e4f23a Mon Sep 17 00:00:00 2001 From: Michal Date: Fri, 29 Sep 2017 14:02:21 +0200 Subject: [PATCH 01/25] Begin AI Rework Separated AI code into 2 files for data and logic created 8 files for AI presets according to its Cell.enmTeam --- .../Assets/Scenes/Debug.unity | 9708 ++++++++++++++--- Dots-RTS-Development/Assets/Scripts/AI.meta | 9 + .../Assets/Scripts/AI/AI_Behaviour.cs | 225 + .../Assets/Scripts/AI/AI_Behaviour.cs.meta | 12 + .../Assets/Scripts/AI/Difficulty.meta | 9 + .../Assets/Scripts/AI/Difficulty/AI_0.cs | 6 + .../Assets/Scripts/AI/Difficulty/AI_0.cs.meta | 12 + .../Assets/Scripts/AI/Difficulty/AI_1.cs | 6 + .../Assets/Scripts/AI/Difficulty/AI_1.cs.meta | 12 + .../Assets/Scripts/AI/Difficulty/AI_2.cs | 6 + .../Assets/Scripts/AI/Difficulty/AI_2.cs.meta | 12 + .../Assets/Scripts/AI/Difficulty/AI_3.cs | 6 + .../Assets/Scripts/AI/Difficulty/AI_3.cs.meta | 12 + .../Assets/Scripts/AI/Difficulty/AI_4.cs | 6 + .../Assets/Scripts/AI/Difficulty/AI_4.cs.meta | 12 + .../Assets/Scripts/AI/Difficulty/AI_5.cs | 6 + .../Assets/Scripts/AI/Difficulty/AI_5.cs.meta | 12 + .../Assets/Scripts/AI/Difficulty/AI_6.cs | 6 + .../Assets/Scripts/AI/Difficulty/AI_6.cs.meta | 12 + .../Assets/Scripts/AI/Difficulty/AI_7.cs | 6 + .../Assets/Scripts/AI/Difficulty/AI_7.cs.meta | 12 + .../Assets/Scripts/AI/Enemy_AI.cs | 509 + .../Scripts/{Cell => AI}/Enemy_AI.cs.meta | 0 .../Assets/Scripts/Cell/Enemy_AI.cs | 951 -- .../Assets/Scripts/Core Classes/Control.cs | 2 +- .../Scripts/Core Classes/Initialize_AI.cs | 49 +- .../Scripts/Menu & Wrappers/UI_Manager.cs | 8 +- .../Menu & Wrappers/UI_ReferenceHolder.cs | 2 +- 28 files changed, 8972 insertions(+), 2656 deletions(-) create mode 100644 Dots-RTS-Development/Assets/Scripts/AI.meta create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs.meta create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Difficulty.meta create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_0.cs create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_0.cs.meta create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_1.cs create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_1.cs.meta create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_2.cs create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_2.cs.meta create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_3.cs create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_3.cs.meta create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_4.cs create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_4.cs.meta create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_5.cs create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_5.cs.meta create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_6.cs create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_6.cs.meta create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_7.cs create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_7.cs.meta create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs rename Dots-RTS-Development/Assets/Scripts/{Cell => AI}/Enemy_AI.cs.meta (100%) delete mode 100644 Dots-RTS-Development/Assets/Scripts/Cell/Enemy_AI.cs diff --git a/Dots-RTS-Development/Assets/Scenes/Debug.unity b/Dots-RTS-Development/Assets/Scenes/Debug.unity index 9a63cdf..b54ecaa 100644 --- a/Dots-RTS-Development/Assets/Scenes/Debug.unity +++ b/Dots-RTS-Development/Assets/Scenes/Debug.unity @@ -108,394 +108,621 @@ NavMeshSettings: tileSize: 256 accuratePlacement: 0 m_NavMeshData: {fileID: 0} ---- !u!1 &69230176 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 69230177} - - component: {fileID: 69230179} - - component: {fileID: 69230178} - m_Layer: 5 - m_Name: MenuPanel - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &69230177 +--- !u!224 &35323953 stripped RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 69230176} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 172373928} - - {fileID: 1745659981} - - {fileID: 1147889583} - - {fileID: 467676892} - m_Father: {fileID: 851284966} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.35, y: 0} - m_AnchorMax: {x: 0.65, y: 1} - m_AnchoredPosition: {x: 0, y: 50} - m_SizeDelta: {x: 0, y: -300} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &69230178 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 69230176} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 0.392} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &69230179 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 69230176} ---- !u!1 &88745967 + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 2141533231} +--- !u!1 &55781605 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 5 m_Component: - - component: {fileID: 88745968} - - component: {fileID: 88745970} - - component: {fileID: 88745969} - m_Layer: 5 - m_Name: Text + - component: {fileID: 55781606} + - component: {fileID: 55781607} + m_Layer: 0 + m_Name: ATK_Upgrades m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &88745968 +--- !u!224 &55781606 RectTransform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 88745967} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_GameObject: {fileID: 55781605} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 467676892} - m_RootOrder: 0 + m_Children: + - {fileID: 74273459} + - {fileID: 190946058} + - {fileID: 1795659507} + - {fileID: 844722453} + - {fileID: 1230829625} + - {fileID: 318687279} + - {fileID: 1190850185} + - {fileID: 727875198} + - {fileID: 2095115910} + - {fileID: 387661362} + m_Father: {fileID: 2061106186} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchoredPosition: {x: 287.89264, y: 80.96989} + m_SizeDelta: {x: -575.7854, y: -161.93965} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &88745969 +--- !u!114 &55781607 MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 88745967} + m_GameObject: {fileID: 55781605} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} + m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_text: To Main Menu - m_isRightToLeft: 0 - m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} - m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, + m_Padding: + m_Left: 20 + m_Right: 0 + m_Top: 20 + m_Bottom: 20 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 +--- !u!224 &74273459 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} - m_fontSharedMaterials: [] - m_fontMaterial: {fileID: 0} - m_fontMaterials: [] - m_fontColor32: - serializedVersion: 2 - rgba: 4278190080 - m_fontColor: {r: 0, g: 0, b: 0, a: 1} - m_enableVertexGradient: 0 - m_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_overrideHtmlColors: 0 - m_faceColor: - serializedVersion: 2 - rgba: 4294967295 - m_outlineColor: - serializedVersion: 2 - rgba: 4278190080 - m_fontSize: 36 - m_fontSizeBase: 36 - m_fontWeight: 400 - m_enableAutoSizing: 0 - m_fontSizeMin: 18 - m_fontSizeMax: 72 - m_fontStyle: 0 - m_textAlignment: 514 - m_isAlignmentEnumConverted: 1 - m_characterSpacing: 0 - m_wordSpacing: 0 - m_lineSpacing: 0 - m_lineSpacingMax: 0 - m_paragraphSpacing: 0 - m_charWidthMaxAdj: 0 - m_enableWordWrapping: 1 - m_wordWrappingRatios: 0.4 - m_overflowMode: 0 - m_firstOverflowCharacterIndex: -1 - m_linkedTextComponent: {fileID: 0} - m_isLinkedTextComponent: 0 - m_enableKerning: 1 - m_enableExtraPadding: 0 - checkPaddingRequired: 0 - m_isRichText: 1 - m_parseCtrlCharacters: 1 - m_isOrthographic: 1 - m_isCullingEnabled: 0 - m_ignoreRectMaskCulling: 0 - m_ignoreCulling: 1 - m_horizontalMapping: 0 - m_verticalMapping: 0 - m_uvLineOffset: 0 - m_geometrySortingOrder: 0 - m_firstVisibleCharacter: 0 - m_useMaxVisibleDescender: 1 - m_pageToDisplay: 1 - m_margin: {x: 10, y: 0, z: 10, w: 0} - m_textInfo: - textComponent: {fileID: 88745969} - characterCount: 12 - spriteCount: 0 - spaceCount: 2 - wordCount: 3 - linkCount: 0 - lineCount: 1 - pageCount: 1 - materialCount: 1 - m_havePropertiesChanged: 1 - m_isUsingLegacyAnimationComponent: 0 - m_isVolumetricText: 0 - m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 1 - m_inputSource: 0 - m_hasFontAssetChanged: 0 - m_subTextObjects: - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - - {fileID: 0} - m_baseMaterial: {fileID: 0} - m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &88745970 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 88745967} ---- !u!1 &172373927 -GameObject: + m_PrefabInternal: {fileID: 1675133367} +--- !u!1001 &76943067 +Prefab: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 172373928} - - component: {fileID: 172373932} - - component: {fileID: 172373931} - - component: {fileID: 172373930} - - component: {fileID: 172373929} - m_Layer: 5 - m_Name: Continue - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &172373928 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1524291122} + m_Modifications: + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchoredPosition.x + value: -559 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -330 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_SizeDelta.x + value: 102.4 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_SizeDelta.y + value: 102.4 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 33357460491420296, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_Mesh + value: + objectReference: {fileID: 0} + - target: {fileID: 1930486067858668, guid: fbba495e544d3cc4ab7f76f6d081f3de, type: 2} + propertyPath: m_Name + value: Cell (3) + objectReference: {fileID: 0} + - target: {fileID: 114076177898254638, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: _team + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: fbba495e544d3cc4ab7f76f6d081f3de, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &76943068 stripped RectTransform: + m_PrefabParentObject: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + m_PrefabInternal: {fileID: 76943067} +--- !u!1001 &101221247 +Prefab: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 172373927} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 281695636} - m_Father: {fileID: 69230177} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.2, y: 0.70000005} - m_AnchorMax: {x: 0.8, y: 0.8} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &172373929 -MonoBehaviour: + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 55781606} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 996.8205 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01452 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade1 (7) + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &106669991 +Prefab: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 172373927} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7d86a9b9d2027874eb1352e8a26d9933, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &172373930 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 172373927} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 172373931} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 172373929} - m_MethodName: Continue - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null ---- !u!114 &172373931 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 172373927} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &172373932 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 172373927} ---- !u!1 &281695635 -GameObject: + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2060962866} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 70 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 0 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 100 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &112620237 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 55781606} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 334.80585 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01452 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade1 (2) + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &175010303 +GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 5 m_Component: - - component: {fileID: 281695636} - - component: {fileID: 281695638} - - component: {fileID: 281695637} - m_Layer: 5 + - component: {fileID: 175010304} + - component: {fileID: 175010306} + - component: {fileID: 175010305} + m_Layer: 0 m_Name: Text m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &281695636 +--- !u!224 &175010304 RectTransform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 281695635} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_GameObject: {fileID: 175010303} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 172373928} + m_Father: {fileID: 1014244534} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -503,12 +730,12 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &281695637 +--- !u!114 &175010305 MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 281695635} + m_GameObject: {fileID: 175010303} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} @@ -522,7 +749,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_text: Continue + m_text: Offense m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, @@ -587,10 +814,10 @@ MonoBehaviour: m_firstVisibleCharacter: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 10, y: 0, z: 10, w: 0} + m_margin: {x: 0, y: 0, z: 0, w: 0} m_textInfo: - textComponent: {fileID: 281695637} - characterCount: 8 + textComponent: {fileID: 175010305} + characterCount: 7 spriteCount: 0 spaceCount: 0 wordCount: 1 @@ -598,11 +825,11 @@ MonoBehaviour: lineCount: 1 pageCount: 1 materialCount: 1 - m_havePropertiesChanged: 1 + m_havePropertiesChanged: 0 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 1 + m_isInputParsingRequired: 0 m_inputSource: 0 m_hasFontAssetChanged: 0 m_subTextObjects: @@ -616,278 +843,206 @@ MonoBehaviour: - {fileID: 0} m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &281695638 +--- !u!222 &175010306 CanvasRenderer: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 281695635} ---- !u!1 &312501530 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 312501531} - - component: {fileID: 312501533} - - component: {fileID: 312501532} - m_Layer: 5 - m_Name: Handle - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &312501531 + m_GameObject: {fileID: 175010303} +--- !u!224 &190946058 stripped RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 312501530} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 747974083} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 20, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &312501532 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 312501530} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 0 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &312501533 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 312501530} ---- !u!1001 &428182774 + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1423274147} +--- !u!224 &204155610 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 254527393} +--- !u!1001 &209821916 Prefab: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 1847525497} m_Modifications: - - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalPosition.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalPosition.y value: 0 objectReference: {fileID: 0} - - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalRotation.w value: 1 objectReference: {fileID: 0} - - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_RootOrder - value: 7 + value: 3 objectReference: {fileID: 0} - - target: {fileID: 114014076353882504, guid: 08682cefe8d416547868645efaf1da0f, + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} - propertyPath: decisionSpeeds.Array.data[0] - value: 5 + propertyPath: m_AnchoredPosition.x + value: 467.04968 objectReference: {fileID: 0} - - target: {fileID: 114014076353882504, guid: 08682cefe8d416547868645efaf1da0f, + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} - propertyPath: decisionSpeeds.Array.data[1] - value: 2 + propertyPath: m_AnchoredPosition.y + value: -80.96981 objectReference: {fileID: 0} - - target: {fileID: 114014076353882504, guid: 08682cefe8d416547868645efaf1da0f, + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} - propertyPath: decisionSpeeds.Array.data[2] - value: 5 + propertyPath: m_SizeDelta.x + value: 100 objectReference: {fileID: 0} - - target: {fileID: 114014076353882504, guid: 08682cefe8d416547868645efaf1da0f, + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} - propertyPath: decisionSpeeds.Array.data[3] - value: 5 + propertyPath: m_SizeDelta.y + value: 100 objectReference: {fileID: 0} - - target: {fileID: 114014076353882504, guid: 08682cefe8d416547868645efaf1da0f, + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} - propertyPath: decisionSpeeds.Array.data[7] - value: 5 + propertyPath: m_AnchorMin.x + value: 0 objectReference: {fileID: 0} - - target: {fileID: 1007616434861556, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_Name - value: AI Initialization Average + value: Upgrade 4 objectReference: {fileID: 0} - - target: {fileID: 1007616434861556, guid: 08682cefe8d416547868645efaf1da0f, type: 2} - propertyPath: m_IsActive + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z value: 1 objectReference: {fileID: 0} m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} m_IsPrefabParent: 0 ---- !u!1 &432207514 +--- !u!1 &213837207 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 5 m_Component: - - component: {fileID: 432207515} - - component: {fileID: 432207517} - - component: {fileID: 432207516} + - component: {fileID: 213837208} + - component: {fileID: 213837212} + - component: {fileID: 213837211} + - component: {fileID: 213837210} + - component: {fileID: 213837209} m_Layer: 5 - m_Name: Fill + m_Name: MainMenu m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &432207515 +--- !u!224 &213837208 RectTransform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 432207514} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_GameObject: {fileID: 213837207} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1195263172} - m_RootOrder: 0 + m_Children: + - {fileID: 226458808} + m_Father: {fileID: 1954638777} + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 0, y: 1} + m_AnchorMin: {x: 0.2, y: 0.1} + m_AnchorMax: {x: 0.8, y: 0.2} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 10, y: 0} + m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &432207516 +--- !u!114 &213837209 MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 432207514} + m_GameObject: {fileID: 213837207} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 11500000, guid: aff88e1dbcede5541a7676780a4ce335, type: 3} m_Name: m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &432207517 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 432207514} ---- !u!1 &467676891 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 467676892} - - component: {fileID: 467676896} - - component: {fileID: 467676895} - - component: {fileID: 467676894} - - component: {fileID: 467676893} - m_Layer: 5 - m_Name: MainMenu - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &467676892 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 467676891} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 88745968} - m_Father: {fileID: 69230177} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.2, y: 0.1} - m_AnchorMax: {x: 0.8, y: 0.2} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &467676893 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 467676891} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: aff88e1dbcede5541a7676780a4ce335, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &467676894 +--- !u!114 &213837210 MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 467676891} + m_GameObject: {fileID: 213837207} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} @@ -917,11 +1072,11 @@ MonoBehaviour: m_PressedTrigger: Pressed m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 467676895} + m_TargetGraphic: {fileID: 213837211} m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 467676893} + - m_Target: {fileID: 213837209} m_MethodName: SwitchScene m_Mode: 5 m_Arguments: @@ -934,12 +1089,12 @@ MonoBehaviour: m_CallState: 2 m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null ---- !u!114 &467676895 +--- !u!114 &213837211 MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 467676891} + m_GameObject: {fileID: 213837207} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} @@ -961,22 +1116,22 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!222 &467676896 +--- !u!222 &213837212 CanvasRenderer: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 467676891} ---- !u!1 &468258653 + m_GameObject: {fileID: 213837207} +--- !u!1 &226458807 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 5 m_Component: - - component: {fileID: 468258654} - - component: {fileID: 468258656} - - component: {fileID: 468258655} + - component: {fileID: 226458808} + - component: {fileID: 226458810} + - component: {fileID: 226458809} m_Layer: 5 m_Name: Text m_TagString: Untagged @@ -984,17 +1139,17 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &468258654 +--- !u!224 &226458808 RectTransform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 468258653} + m_GameObject: {fileID: 226458807} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 1506649983} + m_Father: {fileID: 213837208} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -1002,12 +1157,12 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &468258655 +--- !u!114 &226458809 MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 468258653} + m_GameObject: {fileID: 226458807} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} @@ -1021,9 +1176,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_text: 'Menu - -' + m_text: Back to Main Menu m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, @@ -1051,8 +1204,8 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 25.2 - m_fontSizeBase: 25.2 + m_fontSize: 36 + m_fontSizeBase: 36 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 @@ -1069,7 +1222,7 @@ MonoBehaviour: m_enableWordWrapping: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 - m_firstOverflowCharacterIndex: 0 + m_firstOverflowCharacterIndex: -1 m_linkedTextComponent: {fileID: 0} m_isLinkedTextComponent: 0 m_enableKerning: 1 @@ -1090,20 +1243,20 @@ MonoBehaviour: m_pageToDisplay: 1 m_margin: {x: 0, y: 0, z: 0, w: 0} m_textInfo: - textComponent: {fileID: 468258655} - characterCount: 5 + textComponent: {fileID: 226458809} + characterCount: 17 spriteCount: 0 - spaceCount: 1 - wordCount: 1 + spaceCount: 3 + wordCount: 4 linkCount: 0 lineCount: 1 pageCount: 1 materialCount: 1 - m_havePropertiesChanged: 0 + m_havePropertiesChanged: 1 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 0 + m_isInputParsingRequired: 1 m_inputSource: 0 m_hasFontAssetChanged: 0 m_subTextObjects: @@ -1117,563 +1270,464 @@ MonoBehaviour: - {fileID: 0} m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &468258656 +--- !u!222 &226458810 CanvasRenderer: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 468258653} ---- !u!1 &519378317 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 519378318} - m_Layer: 0 - m_Name: Allies - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &519378318 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 519378317} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 565527968} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &565527967 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 565527968} - m_Layer: 0 - m_Name: Setup CellMovements - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!4 &565527968 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 565527967} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1106967123} - - {fileID: 519378318} - m_Father: {fileID: 0} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &595518411 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 595518420} - - component: {fileID: 595518419} - - component: {fileID: 595518418} - - component: {fileID: 595518417} - - component: {fileID: 595518416} - - component: {fileID: 595518415} - - component: {fileID: 595518414} - - component: {fileID: 595518413} - - component: {fileID: 595518412} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &595518412 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 595518411} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: cccf7b01c0895f2409ccb77538004e49, type: 3} - m_Name: - m_EditorClassIdentifier: - errorText: {fileID: 0} - thingsToDisable: - - {fileID: 0} - - {fileID: 0} ---- !u!114 &595518413 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 595518411} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 85adf20d5b6e33b4e8c1538c814f7887, type: 3} - m_Name: - m_EditorClassIdentifier: - c: {fileID: 595518419} - background: {fileID: 1695733553} ---- !u!114 &595518414 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 595518411} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -1690312454, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_EventMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &595518415 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 595518411} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 368f245efbf02d14eb0ad093fa9a8474, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!81 &595518416 -AudioListener: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 595518411} - m_Enabled: 1 ---- !u!124 &595518417 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 595518411} - m_Enabled: 1 ---- !u!92 &595518418 -Behaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 595518411} - m_Enabled: 1 ---- !u!20 &595518419 -Camera: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 595518411} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0} - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 100 - field of view: 60 - orthographic: 1 - orthographic size: 500 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 1 - m_AllowMSAA: 1 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 - m_StereoMirrorMode: 0 ---- !u!4 &595518420 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 595518411} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: -10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &747974082 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 747974083} - m_Layer: 5 - m_Name: Handle Slide Area - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &747974083 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 747974082} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 312501531} - m_Father: {fileID: 1398386097} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: -20, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!1001 &844258786 -Prefab: + m_GameObject: {fileID: 226458807} +--- !u!1001 &254527393 +Prefab: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 2060962866} m_Modifications: - - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalPosition.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalPosition.y value: 0 objectReference: {fileID: 0} - - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalRotation.x - value: 0 + value: -0 objectReference: {fileID: 0} - - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalRotation.y - value: 0 + value: -0 objectReference: {fileID: 0} - - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalRotation.z - value: 0 + value: -0 objectReference: {fileID: 0} - - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalRotation.w value: 1 objectReference: {fileID: 0} - - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_RootOrder - value: 6 + value: 2 objectReference: {fileID: 0} - - target: {fileID: 1007616434861556, guid: 08682cefe8d416547868645efaf1da0f, type: 2} - propertyPath: m_Name - value: AI Initialization Fast + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 334.6998 objectReference: {fileID: 0} - - target: {fileID: 1007616434861556, guid: 08682cefe8d416547868645efaf1da0f, type: 2} - propertyPath: m_IsActive + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x value: 0 objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 2 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 102 + objectReference: {fileID: 0} m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} m_IsPrefabParent: 0 ---- !u!1 &851284962 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 851284966} - - component: {fileID: 851284965} - - component: {fileID: 851284964} - - component: {fileID: 851284963} - m_Layer: 5 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &851284963 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 851284962} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!114 &851284964 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 851284962} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 1 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 1280, y: 720} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 0 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 ---- !u!223 &851284965 -Canvas: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 851284962} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_AdditionalShaderChannelsFlag: 27 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 ---- !u!224 &851284966 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 851284962} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_Children: - - {fileID: 1506649983} - - {fileID: 69230177} - - {fileID: 1398386097} - m_Father: {fileID: 0} - m_RootOrder: 1 - 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: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!1001 &927021405 +--- !u!1001 &270930603 Prefab: m_ObjectHideFlags: 0 serializedVersion: 2 m_Modification: - m_TransformParent: {fileID: 0} + m_TransformParent: {fileID: 2060962866} m_Modifications: - - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalPosition.x value: 0 objectReference: {fileID: 0} - - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalPosition.y value: 0 objectReference: {fileID: 0} - - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalRotation.x value: -0 objectReference: {fileID: 0} - - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalRotation.y value: -0 objectReference: {fileID: 0} - - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalRotation.z value: -0 objectReference: {fileID: 0} - - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_LocalRotation.w value: 1 objectReference: {fileID: 0} - - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} propertyPath: m_RootOrder value: 3 objectReference: {fileID: 0} - - target: {fileID: 114238875923900244, guid: 832544c7e7bf75b4db0a86944091eae7, + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} - propertyPath: background - value: - objectReference: {fileID: 1695733553} - - target: {fileID: 114250571848743984, guid: 832544c7e7bf75b4db0a86944091eae7, + propertyPath: m_AnchoredPosition.x + value: 467.04968 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} - propertyPath: background - value: - objectReference: {fileID: 1695733553} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 3 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 103 + objectReference: {fileID: 0} m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} m_IsPrefabParent: 0 ---- !u!1 &967983265 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 967983266} - m_Layer: 0 - m_Name: Setup Cell Selections - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &967983266 -Transform: +--- !u!1001 &280715171 +Prefab: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 967983265} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1873085164} - - {fileID: 1153033622} - - {fileID: 1530100203} - - {fileID: 1524291122} - m_Father: {fileID: 0} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1106967122 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1847525497} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 864.0994 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 7 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &293755674 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 5 m_Component: - - component: {fileID: 1106967123} + - component: {fileID: 293755675} + - component: {fileID: 293755679} + - component: {fileID: 293755678} + - component: {fileID: 293755677} + - component: {fileID: 293755676} m_Layer: 0 - m_Name: Enemy2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1106967123 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1106967122} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 565527968} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1147889582 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1147889583} - - component: {fileID: 1147889587} - - component: {fileID: 1147889586} - - component: {fileID: 1147889585} - - component: {fileID: 1147889584} - m_Layer: 5 - m_Name: LevelSelect + m_Name: DEF m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1147889583 +--- !u!224 &293755675 RectTransform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1147889582} + m_GameObject: {fileID: 293755674} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - - {fileID: 1227421712} - m_Father: {fileID: 69230177} - m_RootOrder: 2 + - {fileID: 1626650804} + m_Father: {fileID: 2038440617} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.2, y: 0.3} - m_AnchorMax: {x: 0.8, y: 0.4} + m_AnchorMin: {x: 0.33, y: 0.8} + m_AnchorMax: {x: 0.66, y: 1} m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1147889584 +--- !u!114 &293755676 MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1147889582} + m_GameObject: {fileID: 293755674} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: aff88e1dbcede5541a7676780a4ce335, type: 3} + m_Script: {fileID: 11500000, guid: 7d86a9b9d2027874eb1352e8a26d9933, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!114 &1147889585 +--- !u!114 &293755677 MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1147889582} + m_GameObject: {fileID: 293755674} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} @@ -1703,29 +1757,29 @@ MonoBehaviour: m_PressedTrigger: Pressed m_DisabledTrigger: Disabled m_Interactable: 1 - m_TargetGraphic: {fileID: 1147889586} + m_TargetGraphic: {fileID: 293755678} m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 1147889584} - m_MethodName: SwitchScene - m_Mode: 5 + - m_Target: {fileID: 293755676} + m_MethodName: SwitchUpgradeWindow + m_Mode: 2 m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 2 + m_ObjectArgument: {fileID: 293755675} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Transform, UnityEngine + m_IntArgument: 0 m_FloatArgument: 0 - m_StringArgument: Level_Select + m_StringArgument: m_BoolArgument: 0 m_CallState: 2 m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null ---- !u!114 &1147889586 +--- !u!114 &293755678 MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1147889582} + m_GameObject: {fileID: 293755674} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} @@ -1747,132 +1801,185 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!222 &1147889587 +--- !u!222 &293755679 CanvasRenderer: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1147889582} ---- !u!1 &1153033621 + m_GameObject: {fileID: 293755674} +--- !u!224 &307142235 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1426070475} +--- !u!1 &312501530 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 5 m_Component: - - component: {fileID: 1153033622} - m_Layer: 0 - m_Name: Neutral + - component: {fileID: 312501531} + - component: {fileID: 312501533} + - component: {fileID: 312501532} + m_Layer: 5 + m_Name: Handle m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1153033622 -Transform: +--- !u!224 &312501531 +RectTransform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1153033621} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -49.019547, y: -92.28551, z: 0} + m_GameObject: {fileID: 312501530} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 967983266} - m_RootOrder: 1 + m_Father: {fileID: 747974083} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &1168089120 -Prefab: + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &312501532 +MonoBehaviour: m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 312501530} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10913, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &312501533 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 312501530} +--- !u!224 &318687279 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 963472267} +--- !u!1001 &359571418 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} propertyPath: m_LocalRotation.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} propertyPath: m_LocalRotation.w value: 1 objectReference: {fileID: 0} - - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} propertyPath: m_RootOrder value: 9 objectReference: {fileID: 0} - - target: {fileID: 114962941412382150, guid: 5cc6ffdc88999d84ebf6db30430568d1, + - target: {fileID: 114014076353882504, guid: 08682cefe8d416547868645efaf1da0f, type: 2} - propertyPath: profileVis - value: - objectReference: {fileID: 1295505388312150, guid: 0fd06381fa84bae4fa1d5208c39b2833, + propertyPath: decisionSpeeds.Array.data[0] + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 114014076353882504, guid: 08682cefe8d416547868645efaf1da0f, + type: 2} + propertyPath: decisionSpeeds.Array.data[1] + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 114014076353882504, guid: 08682cefe8d416547868645efaf1da0f, + type: 2} + propertyPath: decisionSpeeds.Array.data[2] + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 114014076353882504, guid: 08682cefe8d416547868645efaf1da0f, + type: 2} + propertyPath: decisionSpeeds.Array.data[3] + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 114014076353882504, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: decisionSpeeds.Array.data[7] + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 1007616434861556, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_Name + value: AI Initialization New + objectReference: {fileID: 0} + - target: {fileID: 1007616434861556, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_IsActive + value: 1 + objectReference: {fileID: 0} m_RemovedComponents: [] - m_ParentPrefab: {fileID: 100100000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + m_ParentPrefab: {fileID: 100100000, guid: 08682cefe8d416547868645efaf1da0f, type: 2} m_IsPrefabParent: 0 ---- !u!1 &1195263171 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1195263172} - m_Layer: 5 - m_Name: Fill Area - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1195263172 +--- !u!224 &387661362 stripped RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1195263171} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 432207515} - m_Father: {fileID: 1398386097} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.25} - m_AnchorMax: {x: 1, y: 0.75} - m_AnchoredPosition: {x: -5, y: 0} - m_SizeDelta: {x: -20, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!1 &1227421711 + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 642272909} +--- !u!224 &392105351 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1475608828} +--- !u!1 &397896143 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 5 m_Component: - - component: {fileID: 1227421712} - - component: {fileID: 1227421714} - - component: {fileID: 1227421713} + - component: {fileID: 397896144} + - component: {fileID: 397896146} + - component: {fileID: 397896145} m_Layer: 5 m_Name: Text m_TagString: Untagged @@ -1880,17 +1987,17 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1227421712 +--- !u!224 &397896144 RectTransform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1227421711} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_GameObject: {fileID: 397896143} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 1147889583} + m_Father: {fileID: 1826534644} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -1898,12 +2005,12 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1227421713 +--- !u!114 &397896145 MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1227421711} + m_GameObject: {fileID: 397896143} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} @@ -1917,7 +2024,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_text: To Level Select + m_text: Edit Level m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, @@ -1982,13 +2089,13 @@ MonoBehaviour: m_firstVisibleCharacter: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 10, y: 0, z: 10, w: 0} + m_margin: {x: 0, y: 0, z: 0, w: 0} m_textInfo: - textComponent: {fileID: 1227421713} - characterCount: 15 + textComponent: {fileID: 397896145} + characterCount: 10 spriteCount: 0 - spaceCount: 2 - wordCount: 3 + spaceCount: 1 + wordCount: 2 linkCount: 0 lineCount: 1 pageCount: 1 @@ -2011,141 +2118,131 @@ MonoBehaviour: - {fileID: 0} m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &1227421714 +--- !u!222 &397896146 CanvasRenderer: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1227421711} ---- !u!1 &1398386096 + m_GameObject: {fileID: 397896143} +--- !u!1001 &428182774 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 114014076353882504, guid: 08682cefe8d416547868645efaf1da0f, + type: 2} + propertyPath: decisionSpeeds.Array.data[0] + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 114014076353882504, guid: 08682cefe8d416547868645efaf1da0f, + type: 2} + propertyPath: decisionSpeeds.Array.data[1] + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 114014076353882504, guid: 08682cefe8d416547868645efaf1da0f, + type: 2} + propertyPath: decisionSpeeds.Array.data[2] + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 114014076353882504, guid: 08682cefe8d416547868645efaf1da0f, + type: 2} + propertyPath: decisionSpeeds.Array.data[3] + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 114014076353882504, guid: 08682cefe8d416547868645efaf1da0f, + type: 2} + propertyPath: decisionSpeeds.Array.data[7] + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 1007616434861556, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_Name + value: AI Initialization Average + objectReference: {fileID: 0} + - target: {fileID: 1007616434861556, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &432207514 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 5 m_Component: - - component: {fileID: 1398386097} - - component: {fileID: 1398386098} + - component: {fileID: 432207515} + - component: {fileID: 432207517} + - component: {fileID: 432207516} m_Layer: 5 - m_Name: Slider + m_Name: Fill m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 0 ---- !u!224 &1398386097 + m_IsActive: 1 +--- !u!224 &432207515 RectTransform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1398386096} + m_GameObject: {fileID: 432207514} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 3, y: 3, z: 1} - m_Children: - - {fileID: 1445425548} - - {fileID: 1195263172} - - {fileID: 747974083} - m_Father: {fileID: 851284966} - m_RootOrder: 2 + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1195263172} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.5, y: 0.5} - m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: 0, y: -491} - m_SizeDelta: {x: 160, y: 20} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 10, y: 0} m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1398386098 +--- !u!114 &432207516 MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1398386096} + m_GameObject: {fileID: 432207514} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -113659843, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 312501532} - m_FillRect: {fileID: 432207515} - m_HandleRect: {fileID: 312501531} - m_Direction: 0 - m_MinValue: 0 - m_MaxValue: 1 - m_WholeNumbers: 0 - m_Value: 0 - m_OnValueChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null ---- !u!1 &1445425547 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1445425548} - - component: {fileID: 1445425550} - - component: {fileID: 1445425549} - m_Layer: 5 - m_Name: Background - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1445425548 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1445425547} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1398386097} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0.25} - m_AnchorMax: {x: 1, y: 0.75} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1445425549 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1445425547} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} @@ -2156,7 +2253,7 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} m_Type: 1 m_PreserveAspect: 0 m_FillCenter: 1 @@ -2164,122 +2261,56 @@ MonoBehaviour: m_FillAmount: 1 m_FillClockwise: 1 m_FillOrigin: 0 ---- !u!222 &1445425550 +--- !u!222 &432207517 CanvasRenderer: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1445425547} ---- !u!1 &1506649982 + m_GameObject: {fileID: 432207514} +--- !u!1 &468258653 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 5 m_Component: - - component: {fileID: 1506649983} - - component: {fileID: 1506649987} - - component: {fileID: 1506649986} - - component: {fileID: 1506649985} - - component: {fileID: 1506649984} + - component: {fileID: 468258654} + - component: {fileID: 468258656} + - component: {fileID: 468258655} m_Layer: 5 - m_Name: ToMainMenu + m_Name: Text m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!224 &1506649983 +--- !u!224 &468258654 RectTransform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1506649982} + m_GameObject: {fileID: 468258653} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 468258654} - m_Father: {fileID: 851284966} + m_Children: [] + m_Father: {fileID: 1506649983} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 1} + m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -10, y: -10} - m_SizeDelta: {x: 160, y: 30} - m_Pivot: {x: 1, y: 1} ---- !u!114 &1506649984 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1506649982} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7d86a9b9d2027874eb1352e8a26d9933, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &1506649985 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1506649982} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 1506649986} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1506649984} - m_MethodName: PauseGameorEscape - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null ---- !u!114 &1506649986 + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &468258655 MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1506649982} + m_GameObject: {fileID: 468258653} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} m_Name: m_EditorClassIdentifier: m_Material: {fileID: 0} @@ -2290,131 +2321,9 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1506649987 -CanvasRenderer: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1506649982} ---- !u!1 &1524291121 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1524291122} - m_Layer: 0 - m_Name: Enemy2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1524291122 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1524291121} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 967983266} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1530100202 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1530100203} - m_Layer: 0 - m_Name: Enemy1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1530100203 -Transform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1530100202} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 1.411314, y: -6.4076996, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 967983266} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1570895719 -GameObject: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1570895720} - - component: {fileID: 1570895722} - - component: {fileID: 1570895721} - m_Layer: 5 - m_Name: Text - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1570895720 -RectTransform: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1570895719} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1745659981} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1570895721 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1570895719} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_text: Edit Level + m_text: 'Menu + +' m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, @@ -2442,8 +2351,8 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 36 - m_fontSizeBase: 36 + m_fontSize: 25.2 + m_fontSizeBase: 25.2 m_fontWeight: 400 m_enableAutoSizing: 0 m_fontSizeMin: 18 @@ -2460,7 +2369,7 @@ MonoBehaviour: m_enableWordWrapping: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 - m_firstOverflowCharacterIndex: -1 + m_firstOverflowCharacterIndex: 0 m_linkedTextComponent: {fileID: 0} m_isLinkedTextComponent: 0 m_enableKerning: 1 @@ -2479,22 +2388,22 @@ MonoBehaviour: m_firstVisibleCharacter: 0 m_useMaxVisibleDescender: 1 m_pageToDisplay: 1 - m_margin: {x: 10, y: 0, z: 10, w: 0} + m_margin: {x: 0, y: 0, z: 0, w: 0} m_textInfo: - textComponent: {fileID: 1570895721} - characterCount: 10 + textComponent: {fileID: 468258655} + characterCount: 5 spriteCount: 0 spaceCount: 1 - wordCount: 2 + wordCount: 1 linkCount: 0 lineCount: 1 pageCount: 1 materialCount: 1 - m_havePropertiesChanged: 1 + m_havePropertiesChanged: 0 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 1 + m_isInputParsingRequired: 0 m_inputSource: 0 m_hasFontAssetChanged: 0 m_subTextObjects: @@ -2508,347 +2417,6756 @@ MonoBehaviour: - {fileID: 0} m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} ---- !u!222 &1570895722 +--- !u!222 &468258656 CanvasRenderer: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1570895719} ---- !u!1 &1673673328 + m_GameObject: {fileID: 468258653} +--- !u!224 &494621219 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 517773239} +--- !u!224 &504906981 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 690901149} +--- !u!1001 &517773239 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2060962866} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 731.7495 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 5 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &519378317 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 5 m_Component: - - component: {fileID: 1673673331} - - component: {fileID: 1673673330} - - component: {fileID: 1673673329} + - component: {fileID: 519378318} m_Layer: 0 - m_Name: EventSystem + m_Name: Allies m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &1673673329 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1673673328} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HorizontalAxis: Horizontal - m_VerticalAxis: Vertical - m_SubmitButton: Submit - m_CancelButton: Cancel - m_InputActionsPerSecond: 10 - m_RepeatDelay: 0.5 - m_ForceModuleActive: 0 ---- !u!114 &1673673330 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} - m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1673673328} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_FirstSelected: {fileID: 0} - m_sendNavigationEvents: 1 - m_DragThreshold: 5 ---- !u!4 &1673673331 +--- !u!4 &519378318 Transform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1673673328} + m_GameObject: {fileID: 519378317} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 8 + m_Father: {fileID: 565527968} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1695733552 +--- !u!1 &565527967 GameObject: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} serializedVersion: 5 m_Component: - - component: {fileID: 1695733553} - - component: {fileID: 1695733556} - - component: {fileID: 1695733555} - - component: {fileID: 1695733554} + - component: {fileID: 565527968} m_Layer: 0 - m_Name: Background + m_Name: Setup CellMovements m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1695733553 -RectTransform: + m_IsActive: 0 +--- !u!4 &565527968 +Transform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1695733552} + m_GameObject: {fileID: 565527967} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] + m_Children: + - {fileID: 1106967123} + - {fileID: 519378318} m_Father: {fileID: 0} - m_RootOrder: 2 + m_RootOrder: 6 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: 1920, y: 1080} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1695733554 +--- !u!224 &568052457 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1767578281} +--- !u!1 &595518411 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 595518420} + - component: {fileID: 595518419} + - component: {fileID: 595518418} + - component: {fileID: 595518417} + - component: {fileID: 595518416} + - component: {fileID: 595518415} + - component: {fileID: 595518414} + - component: {fileID: 595518413} + - component: {fileID: 595518412} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &595518412 MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1695733552} + m_GameObject: {fileID: 595518411} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: b8c029fcfef64b741b194ece9badbf97, type: 3} + m_Script: {fileID: 11500000, guid: cccf7b01c0895f2409ccb77538004e49, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!61 &1695733555 -BoxCollider2D: + errorText: {fileID: 0} + thingsToDisable: + - {fileID: 0} + - {fileID: 0} +--- !u!114 &595518413 +MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1695733552} + m_GameObject: {fileID: 595518411} m_Enabled: 1 - m_Density: 1 - m_Material: {fileID: 0} - m_IsTrigger: 1 - m_UsedByEffector: 0 - m_UsedByComposite: 0 - m_Offset: {x: 0, y: 0} - m_SpriteTilingProperty: - border: {x: 0, y: 0, z: 0, w: 0} - pivot: {x: 0.5, y: 0.5} - oldSize: {x: 1920, y: 1080} - newSize: {x: 19.2, y: 10.8} - adaptiveTilingThreshold: 0.5 - drawMode: 1 - adaptiveTiling: 0 - m_AutoTiling: 0 - serializedVersion: 2 - m_Size: {x: 1920, y: 1080} - m_EdgeRadius: 0 ---- !u!212 &1695733556 -SpriteRenderer: + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 85adf20d5b6e33b4e8c1538c814f7887, type: 3} + m_Name: + m_EditorClassIdentifier: + c: {fileID: 595518419} + background: {fileID: 1695733553} +--- !u!114 &595518414 +MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1695733552} + m_GameObject: {fileID: 595518411} m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_Materials: - - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_SelectedEditorRenderState: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_Sprite: {fileID: 21300000, guid: 3d7b909ceb86fec4aa15259ce722e378, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_FlipX: 0 - m_FlipY: 0 - m_DrawMode: 1 - m_Size: {x: 19.2, y: 10.8} - m_AdaptiveModeThreshold: 0.5 - m_SpriteTileMode: 0 - m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 ---- !u!1 &1745659980 -GameObject: + m_EditorHideFlags: 0 + m_Script: {fileID: -1690312454, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EventMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &595518415 +MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - serializedVersion: 5 - m_Component: - - component: {fileID: 1745659981} - - component: {fileID: 1745659985} - - component: {fileID: 1745659984} - - component: {fileID: 1745659983} - - component: {fileID: 1745659982} - m_Layer: 5 - m_Name: Edit - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &1745659981 -RectTransform: + m_GameObject: {fileID: 595518411} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 368f245efbf02d14eb0ad093fa9a8474, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!81 &595518416 +AudioListener: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1745659980} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1570895720} - m_Father: {fileID: 69230177} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0.2, y: 0.5} - m_AnchorMax: {x: 0.8, y: 0.6} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} - m_Pivot: {x: 0.5, y: 0.5} ---- !u!114 &1745659982 -MonoBehaviour: + m_GameObject: {fileID: 595518411} + m_Enabled: 1 +--- !u!124 &595518417 +Behaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1745659980} + m_GameObject: {fileID: 595518411} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7d86a9b9d2027874eb1352e8a26d9933, type: 3} - m_Name: - m_EditorClassIdentifier: ---- !u!114 &1745659983 -MonoBehaviour: +--- !u!92 &595518418 +Behaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1745659980} + m_GameObject: {fileID: 595518411} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Navigation: - m_Mode: 3 - m_SelectOnUp: {fileID: 0} - m_SelectOnDown: {fileID: 0} - m_SelectOnLeft: {fileID: 0} - m_SelectOnRight: {fileID: 0} - m_Transition: 1 - m_Colors: - m_NormalColor: {r: 1, g: 1, b: 1, a: 1} - m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} - m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} - m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} - m_ColorMultiplier: 1 - m_FadeDuration: 0.1 - m_SpriteState: - m_HighlightedSprite: {fileID: 0} - m_PressedSprite: {fileID: 0} - m_DisabledSprite: {fileID: 0} - m_AnimationTriggers: - m_NormalTrigger: Normal - m_HighlightedTrigger: Highlighted - m_PressedTrigger: Pressed - m_DisabledTrigger: Disabled - m_Interactable: 1 - m_TargetGraphic: {fileID: 1745659984} - m_OnClick: - m_PersistentCalls: - m_Calls: - - m_Target: {fileID: 1745659982} - m_MethodName: EditMode - m_Mode: 1 - m_Arguments: - m_ObjectArgument: {fileID: 0} - m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine - m_IntArgument: 0 - m_FloatArgument: 0 - m_StringArgument: - m_BoolArgument: 0 - m_CallState: 2 - m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, - Culture=neutral, PublicKeyToken=null ---- !u!114 &1745659984 -MonoBehaviour: +--- !u!20 &595518419 +Camera: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1745659980} + m_GameObject: {fileID: 595518411} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Material: {fileID: 0} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_RaycastTarget: 1 - m_OnCullStateChanged: - m_PersistentCalls: - m_Calls: [] - m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, - Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} - m_Type: 1 - m_PreserveAspect: 0 - m_FillCenter: 1 - m_FillMethod: 4 - m_FillAmount: 1 - m_FillClockwise: 1 - m_FillOrigin: 0 ---- !u!222 &1745659985 -CanvasRenderer: + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 100 + field of view: 60 + orthographic: 1 + orthographic size: 500 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &595518420 +Transform: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1745659980} ---- !u!1 &1873085163 + m_GameObject: {fileID: 595518411} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &603967449 GameObject: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} + m_PrefabParentObject: {fileID: 1222337537987322, guid: c3eb75ed400e9b243af3b7231a012f2e, + type: 2} m_PrefabInternal: {fileID: 0} serializedVersion: 5 m_Component: - - component: {fileID: 1873085164} + - component: {fileID: 603967450} + - component: {fileID: 603967452} + - component: {fileID: 603967451} m_Layer: 0 - m_Name: Allies + m_Name: Description m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1873085164 -Transform: +--- !u!224 &603967450 +RectTransform: m_ObjectHideFlags: 0 - m_PrefabParentObject: {fileID: 0} + m_PrefabParentObject: {fileID: 224832777635013020, guid: c3eb75ed400e9b243af3b7231a012f2e, + type: 2} m_PrefabInternal: {fileID: 0} - m_GameObject: {fileID: 1873085163} + m_GameObject: {fileID: 603967449} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 1.411314, y: -6.4076996, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] - m_Father: {fileID: 967983266} - m_RootOrder: 0 + m_Father: {fileID: 2061106186} + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.3, y: 0} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: -5} + m_SizeDelta: {x: 0, y: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &603967451 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 603967449} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Description for the upgrade currently selected. + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} + m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_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_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 40 + m_fontSizeBase: 40 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 513 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 10, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 603967451} + characterCount: 47 + spriteCount: 0 + spaceCount: 5 + wordCount: 6 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &603967452 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222543531929138142, guid: c3eb75ed400e9b243af3b7231a012f2e, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 603967449} +--- !u!224 &618098823 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1974507740} +--- !u!1001 &642272909 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 55781606} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 1261.6265 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01452 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade1 (9) + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &690901149 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2060962866} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 996.44934 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 7 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &717427685 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1035893648} +--- !u!224 &720866397 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 280715171} +--- !u!224 &727875198 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 101221247} +--- !u!1 &747974082 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 747974083} + m_Layer: 5 + m_Name: Handle Slide Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &747974083 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 747974082} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 312501531} + m_Father: {fileID: 1398386097} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1001 &822721381 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1847525497} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 202.3499 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 2 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 201 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &842309818 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 842309822} + - component: {fileID: 842309821} + - component: {fileID: 842309820} + - component: {fileID: 842309819} + m_Layer: 5 + m_Name: CanvasCamera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &842309819 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 842309818} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &842309820 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 842309818} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0.5 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &842309821 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 842309818} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 1 + m_Camera: {fileID: 595518419} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 27 + m_SortingLayerID: 338829331 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &842309822 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 842309818} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 2061106186} + m_Father: {fileID: 0} + m_RootOrder: 2 + 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: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1001 &844258786 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4224754741169344, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 1007616434861556, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_Name + value: AI Initialization Fast + objectReference: {fileID: 0} + - target: {fileID: 1007616434861556, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 08682cefe8d416547868645efaf1da0f, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &844722453 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1889650453} +--- !u!1 &851284962 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 851284966} + - component: {fileID: 851284965} + - component: {fileID: 851284964} + - component: {fileID: 851284963} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &851284963 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 851284962} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &851284964 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 851284962} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1280, y: 720} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &851284965 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 851284962} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 27 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &851284966 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 851284962} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1506649983} + - {fileID: 1954638777} + - {fileID: 1398386097} + m_Father: {fileID: 0} + m_RootOrder: 1 + 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: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1001 &854636879 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 55781606} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 599.6117 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01452 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade1 (4) + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &886355543 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1263995364} +--- !u!1001 &927021405 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 114238875923900244, guid: 832544c7e7bf75b4db0a86944091eae7, + type: 2} + propertyPath: background + value: + objectReference: {fileID: 1695733553} + - target: {fileID: 114250571848743984, guid: 832544c7e7bf75b4db0a86944091eae7, + type: 2} + propertyPath: background + value: + objectReference: {fileID: 1695733553} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &932396253 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 932396254} + - component: {fileID: 932396256} + - component: {fileID: 932396255} + m_Layer: 0 + m_Name: TYPE_Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &932396254 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 932396253} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1501892704} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &932396255 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 932396253} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 8c2663a9a43ba7f4bb430c2c842865bf, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &932396256 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 932396253} +--- !u!224 &938176612 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 822721381} +--- !u!1001 &946493779 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1847525497} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 1128.7992 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 9 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &963472267 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 55781606} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 732.01465 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01452 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade1 (5) + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &967983265 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 967983266} + m_Layer: 0 + m_Name: Setup Cell Selections + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &967983266 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 967983265} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1873085164} + - {fileID: 1153033622} + - {fileID: 1530100203} + - {fileID: 1524291122} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!224 &970469168 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 2124676167} +--- !u!1001 &987951195 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1873085164} + m_Modifications: + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 187.43188 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchoredPosition.y + value: 288.97968 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_SizeDelta.x + value: 102.4 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_SizeDelta.y + value: 102.4 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 33357460491420296, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_Mesh + value: + objectReference: {fileID: 0} + - target: {fileID: 114076177898254638, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: _team + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: fbba495e544d3cc4ab7f76f6d081f3de, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &987951196 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + m_PrefabInternal: {fileID: 987951195} +--- !u!1 &1014244533 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1014244534} + - component: {fileID: 1014244538} + - component: {fileID: 1014244537} + - component: {fileID: 1014244536} + - component: {fileID: 1014244535} + m_Layer: 0 + m_Name: ATK + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1014244534 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1014244533} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 175010304} + m_Father: {fileID: 2038440617} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.8} + m_AnchorMax: {x: 0.33, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1014244535 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1014244533} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7d86a9b9d2027874eb1352e8a26d9933, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1014244536 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1014244533} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1014244537} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1014244535} + m_MethodName: SwitchUpgradeWindow + m_Mode: 2 + m_Arguments: + m_ObjectArgument: {fileID: 1014244534} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Transform, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1014244537 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1014244533} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1014244538 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1014244533} +--- !u!1001 &1035893648 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1847525497} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 599.3996 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1060744518 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 2138836443} +--- !u!1 &1106967122 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1106967123} + m_Layer: 0 + m_Name: Enemy2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1106967123 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1106967122} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 565527968} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1124798346 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1124798347} + - component: {fileID: 1124798349} + - component: {fileID: 1124798348} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1124798347 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1124798346} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1320095856} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1124798348 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1124798346} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Utility + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} + m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_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_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1124798348} + characterCount: 7 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1124798349 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1124798346} +--- !u!224 &1125207235 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 209821916} +--- !u!224 &1131328987 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 946493779} +--- !u!1 &1132066845 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1132066846} + - component: {fileID: 1132066848} + - component: {fileID: 1132066847} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1132066846 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1132066845} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1633364888} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1132066847 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1132066845} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Back to Level Select + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} + m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_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_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1132066847} + characterCount: 20 + spriteCount: 0 + spaceCount: 3 + wordCount: 4 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1132066848 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1132066845} +--- !u!1 &1153033621 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1153033622} + m_Layer: 0 + m_Name: Neutral + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1153033622 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1153033621} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1323908184} + m_Father: {fileID: 967983266} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1168089120 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + propertyPath: m_RootOrder + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 114962941412382150, guid: 5cc6ffdc88999d84ebf6db30430568d1, + type: 2} + propertyPath: profileVis + value: + objectReference: {fileID: 1295505388312150, guid: 0fd06381fa84bae4fa1d5208c39b2833, + type: 2} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1180708109 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1847525497} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 1261.1492 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 10 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1183690920 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1847525497} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 334.6998 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 3 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1190850185 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1563785862} +--- !u!1 &1195263171 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1195263172} + m_Layer: 5 + m_Name: Fill Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1195263172 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1195263171} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 432207515} + m_Father: {fileID: 1398386097} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: -5, y: 0} + m_SizeDelta: {x: -20, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!224 &1230829625 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 854636879} +--- !u!1001 &1263995364 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2060962866} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 599.3996 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 4 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1320095855 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1320095856} + - component: {fileID: 1320095860} + - component: {fileID: 1320095859} + - component: {fileID: 1320095858} + - component: {fileID: 1320095857} + m_Layer: 0 + m_Name: UTIL + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1320095856 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1320095855} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1124798347} + m_Father: {fileID: 2038440617} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.66, y: 0.8} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1320095857 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1320095855} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7d86a9b9d2027874eb1352e8a26d9933, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1320095858 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1320095855} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1320095859} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1320095857} + m_MethodName: SwitchUpgradeWindow + m_Mode: 2 + m_Arguments: + m_ObjectArgument: {fileID: 1320095856} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Transform, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1320095859 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1320095855} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1320095860 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1320095855} +--- !u!1001 &1323908183 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1153033622} + m_Modifications: + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 498.16766 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchoredPosition.y + value: 77.81067 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_SizeDelta.x + value: 102.4 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_SizeDelta.y + value: 102.4 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 33357460491420296, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_Mesh + value: + objectReference: {fileID: 0} + - target: {fileID: 1930486067858668, guid: fbba495e544d3cc4ab7f76f6d081f3de, type: 2} + propertyPath: m_Name + value: Cell (1) + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: fbba495e544d3cc4ab7f76f6d081f3de, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1323908184 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + m_PrefabInternal: {fileID: 1323908183} +--- !u!224 &1351687108 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1183690920} +--- !u!1001 &1376431488 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1530100203} + m_Modifications: + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchoredPosition.x + value: -665.43274 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -258.90118 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_SizeDelta.x + value: 102.4 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_SizeDelta.y + value: 102.4 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 33357460491420296, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: m_Mesh + value: + objectReference: {fileID: 0} + - target: {fileID: 1930486067858668, guid: fbba495e544d3cc4ab7f76f6d081f3de, type: 2} + propertyPath: m_Name + value: Cell (2) + objectReference: {fileID: 0} + - target: {fileID: 114076177898254638, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + propertyPath: _team + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: fbba495e544d3cc4ab7f76f6d081f3de, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1376431489 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224650761449605890, guid: fbba495e544d3cc4ab7f76f6d081f3de, + type: 2} + m_PrefabInternal: {fileID: 1376431488} +--- !u!1 &1398386096 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1398386097} + - component: {fileID: 1398386098} + m_Layer: 5 + m_Name: Slider + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1398386097 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1398386096} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 3, y: 3, z: 1} + m_Children: + - {fileID: 1445425548} + - {fileID: 1195263172} + - {fileID: 747974083} + m_Father: {fileID: 851284966} + m_RootOrder: 2 + 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: -491} + m_SizeDelta: {x: 160, y: 20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1398386098 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1398386096} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -113659843, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 312501532} + m_FillRect: {fileID: 432207515} + m_HandleRect: {fileID: 312501531} + m_Direction: 0 + m_MinValue: 0 + m_MaxValue: 1 + m_WholeNumbers: 0 + m_Value: 0 + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.Slider+SliderEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!1001 &1423274147 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 55781606} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 202.40292 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01452 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade1 (1) + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &1426070475 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2060962866} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 1128.7992 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 8 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1445425547 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1445425548} + - component: {fileID: 1445425550} + - component: {fileID: 1445425549} + m_Layer: 5 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1445425548 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1445425547} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1398386097} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.25} + m_AnchorMax: {x: 1, y: 0.75} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1445425549 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1445425547} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1445425550 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1445425547} +--- !u!1001 &1475608828 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1847525497} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 731.7495 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 6 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1481934956 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1481934957} + - component: {fileID: 1481934961} + - component: {fileID: 1481934960} + - component: {fileID: 1481934959} + - component: {fileID: 1481934958} + m_Layer: 5 + m_Name: Continue + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1481934957 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1481934956} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1617629286} + m_Father: {fileID: 1954638777} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.2, y: 0.7} + m_AnchorMax: {x: 0.8, y: 0.8} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1481934958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1481934956} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7d86a9b9d2027874eb1352e8a26d9933, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1481934959 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1481934956} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1481934960} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1481934958} + m_MethodName: Continue + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1481934960 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1481934956} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1481934961 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1481934956} +--- !u!1 &1501892703 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1501892704} + m_Layer: 0 + m_Name: TYPE_Holder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1501892704 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1501892703} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 932396254} + - {fileID: 1859944107} + m_Father: {fileID: 2038440617} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0.8} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1506649982 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1506649983} + - component: {fileID: 1506649987} + - component: {fileID: 1506649986} + - component: {fileID: 1506649985} + - component: {fileID: 1506649984} + m_Layer: 5 + m_Name: ToMainMenu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1506649983 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1506649982} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 468258654} + m_Father: {fileID: 851284966} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -10, y: -10} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 1, y: 1} +--- !u!114 &1506649984 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1506649982} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7d86a9b9d2027874eb1352e8a26d9933, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1506649985 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1506649982} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1506649986} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1506649984} + m_MethodName: PauseGameorEscape + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1506649986 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1506649982} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1506649987 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1506649982} +--- !u!1 &1524291121 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1524291122} + m_Layer: 0 + m_Name: Enemy2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1524291122 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1524291121} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 76943068} + m_Father: {fileID: 967983266} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1530100202 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1530100203} + m_Layer: 0 + m_Name: Enemy1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1530100203 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1530100202} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1376431489} + m_Father: {fileID: 967983266} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1537627773 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1537627775} + - component: {fileID: 1537627774} + m_Layer: 0 + m_Name: PlayManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1537627774 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1537627773} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2434ed602925d054888df22ff06ce879, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1537627775 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1537627773} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 12 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1563785862 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 55781606} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 864.41754 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01452 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade1 (6) + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1617629285 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1617629286} + - component: {fileID: 1617629288} + - component: {fileID: 1617629287} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1617629286 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1617629285} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1481934957} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1617629287 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1617629285} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Continue + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} + m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_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_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1617629287} + characterCount: 8 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1617629288 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1617629285} +--- !u!1 &1626650803 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1626650804} + - component: {fileID: 1626650806} + - component: {fileID: 1626650805} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1626650804 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1626650803} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 293755675} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1626650805 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1626650803} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Defense + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} + m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_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_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1626650805} + characterCount: 7 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1626650806 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1626650803} +--- !u!1 &1633364887 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1633364888} + - component: {fileID: 1633364892} + - component: {fileID: 1633364891} + - component: {fileID: 1633364890} + - component: {fileID: 1633364889} + m_Layer: 5 + m_Name: LevelSelect + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1633364888 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1633364887} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1132066846} + m_Father: {fileID: 1954638777} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.2, y: 0.3} + m_AnchorMax: {x: 0.8, y: 0.4} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1633364889 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1633364887} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aff88e1dbcede5541a7676780a4ce335, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1633364890 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1633364887} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1633364891} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1633364889} + m_MethodName: SwitchScene + m_Mode: 5 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 2 + m_FloatArgument: 0 + m_StringArgument: Level_Select + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1633364891 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1633364887} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1633364892 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1633364887} +--- !u!1 &1673673328 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1673673331} + - component: {fileID: 1673673330} + - component: {fileID: 1673673329} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1673673329 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1673673328} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1673673330 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1673673328} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1673673331 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1673673328} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1675133367 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 55781606} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 70 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01452 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &1695733552 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1695733553} + - component: {fileID: 1695733556} + - component: {fileID: 1695733555} + - component: {fileID: 1695733554} + m_Layer: 0 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1695733553 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1695733552} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 1} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + 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: 1920, y: 1080} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1695733554 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1695733552} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b8c029fcfef64b741b194ece9badbf97, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!61 &1695733555 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1695733552} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1920, y: 1080} + newSize: {x: 19.2, y: 10.8} + adaptiveTilingThreshold: 0.5 + drawMode: 1 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 1920, y: 1080} + m_EdgeRadius: 0 +--- !u!212 &1695733556 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1695733552} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 3d7b909ceb86fec4aa15259ce722e378, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 1 + m_Size: {x: 19.2, y: 10.8} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!224 &1696318293 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 106669991} +--- !u!1001 &1767578281 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1847525497} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 996.44934 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 8 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1795659507 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 112620237} +--- !u!1 &1826534643 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1826534644} + - component: {fileID: 1826534648} + - component: {fileID: 1826534647} + - component: {fileID: 1826534646} + - component: {fileID: 1826534645} + m_Layer: 5 + m_Name: Edit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1826534644 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1826534643} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 397896144} + m_Father: {fileID: 1954638777} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.2, y: 0.5} + m_AnchorMax: {x: 0.8, y: 0.6} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1826534645 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1826534643} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7d86a9b9d2027874eb1352e8a26d9933, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1826534646 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1826534643} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1826534647} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1826534645} + m_MethodName: EditMode + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1826534647 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1826534643} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1826534648 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1826534643} +--- !u!1 &1847525496 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1847525497} + - component: {fileID: 1847525498} + m_Layer: 0 + m_Name: UTIL_Upgrades + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1847525497 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1847525496} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 35323953} + - {fileID: 938176612} + - {fileID: 1351687108} + - {fileID: 1125207235} + - {fileID: 717427685} + - {fileID: 392105351} + - {fileID: 720866397} + - {fileID: 568052457} + - {fileID: 1131328987} + - {fileID: 1937684747} + m_Father: {fileID: 2061106186} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 287.89264, y: 80.96989} + m_SizeDelta: {x: -575.7854, y: -161.93965} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1847525498 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1847525496} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 20 + m_Right: 0 + m_Top: 20 + m_Bottom: 20 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 +--- !u!1 &1859944106 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1859944107} + - component: {fileID: 1859944109} + - component: {fileID: 1859944108} + m_Layer: 0 + m_Name: TYPE_Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1859944107 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1859944106} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1501892704} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.35} + m_AnchorMax: {x: 1, y: 0.65} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1859944108 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1859944106} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Type Name + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} + m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_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_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 40 + m_fontSizeBase: 40 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 513 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1859944108} + characterCount: 9 + spriteCount: 0 + spaceCount: 1 + wordCount: 2 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 0 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 0 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1859944109 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1859944106} +--- !u!1 &1873085163 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1873085164} + m_Layer: 0 + m_Name: Allies + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1873085164 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1873085163} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 987951196} + m_Father: {fileID: 967983266} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1889650453 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 55781606} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 467.20877 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01452 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade1 (3) + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1937684747 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1180708109} +--- !u!1 &1954638776 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1954638777} + - component: {fileID: 1954638780} + - component: {fileID: 1954638779} + - component: {fileID: 1954638778} + m_Layer: 5 + m_Name: MenuPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &1954638777 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1954638776} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.66673535, y: 0.66673535, z: 0.66673535} + m_Children: + - {fileID: 1481934957} + - {fileID: 1826534644} + - {fileID: 1633364888} + - {fileID: 213837208} + m_Father: {fileID: 851284966} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.3, y: 0.2} + m_AnchorMax: {x: 0.7, y: 0.9} + m_AnchoredPosition: {x: -0.000061035156, y: 0.000030517578} + m_SizeDelta: {x: 255.9259, y: 251.97571} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!95 &1954638778 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1954638776} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: bc4d1b58d99b901408d553496af80ffc, type: 2} + m_CullingMode: 0 + m_UpdateMode: 2 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 +--- !u!114 &1954638779 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1954638776} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1954638780 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1954638776} +--- !u!1001 &1974507740 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2060962866} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 202.3499 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 101 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &2005898026 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 55781606} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 1129.2234 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01452 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade1 (8) + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &2038440616 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2038440617} + m_Layer: 0 + m_Name: UPGRADE_Types + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2038440617 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2038440616} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1014244534} + - {fileID: 293755675} + - {fileID: 1320095856} + - {fileID: 1501892704} + m_Father: {fileID: 2061106186} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0.29747918, y: 1} + m_AnchoredPosition: {x: 0, y: 9.094947e-13} + m_SizeDelta: {x: 0, y: -1.8189894e-12} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2060962865 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2060962866} + - component: {fileID: 2060962867} + m_Layer: 0 + m_Name: DEF_Upgrades + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &2060962866 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2060962865} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1696318293} + - {fileID: 618098823} + - {fileID: 204155610} + - {fileID: 2120936961} + - {fileID: 886355543} + - {fileID: 494621219} + - {fileID: 1060744518} + - {fileID: 504906981} + - {fileID: 307142235} + - {fileID: 970469168} + m_Father: {fileID: 2061106186} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 287.89264, y: 80.96989} + m_SizeDelta: {x: -575.7854, y: -161.93965} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2060962867 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2060962865} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 20 + m_Right: 0 + m_Top: 20 + m_Bottom: 20 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 +--- !u!1 &2061106185 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1401110639400866, guid: c3eb75ed400e9b243af3b7231a012f2e, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2061106186} + - component: {fileID: 2061106189} + - component: {fileID: 2061106188} + - component: {fileID: 2061106187} + m_Layer: 0 + m_Name: UPGRADE_Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2061106186 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224075837406404278, guid: c3eb75ed400e9b243af3b7231a012f2e, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2061106185} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2038440617} + - {fileID: 55781606} + - {fileID: 2060962866} + - {fileID: 1847525497} + - {fileID: 603967450} + m_Father: {fileID: 842309822} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0.3} + m_AnchoredPosition: {x: 0, y: -360} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2061106187 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114228613550174286, guid: c3eb75ed400e9b243af3b7231a012f2e, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2061106185} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &2061106188 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222699010110340014, guid: c3eb75ed400e9b243af3b7231a012f2e, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2061106185} +--- !u!95 &2061106189 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 95024705389128710, guid: c3eb75ed400e9b243af3b7231a012f2e, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2061106185} + m_Enabled: 0 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 2 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 +--- !u!224 &2095115910 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 2005898026} +--- !u!224 &2120936961 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 270930603} +--- !u!1001 &2124676167 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2060962866} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 1261.1492 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 9 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &2138836443 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 2060962866} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 864.0994 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 6 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!1001 &2141533231 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1847525497} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 70 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 200 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 diff --git a/Dots-RTS-Development/Assets/Scripts/AI.meta b/Dots-RTS-Development/Assets/Scripts/AI.meta new file mode 100644 index 0000000..afc72cb --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7a5f8e9401a637e43b90e9d744e0fe61 +folderAsset: yes +timeCreated: 1506673248 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs b/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs new file mode 100644 index 0000000..80a6dd2 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs @@ -0,0 +1,225 @@ +using UnityEngine; +using System.Collections; + +public class AI_Behaviour : Enemy_AI { + + private enum Decision { EXPAND, ATTACK, HELP }; + + private string s = ""; + public bool printOutLog = false; + + protected override void Start() { + base.Start(); + StartCoroutine(PreformAction()); + } + + private Decision CalculateBestChoice() { + s += "ATK = " + attackChoiceProbability + "EXP = " + expandChoiceProbability + "DEF = " + defendChoiceProbability + " | "; + s += "SELECTED AI = " + selectedAiCell + " TARGET = " + selectedTargetCell + " DEFENSE = " + selectedAiCellForAid + " EXPAND = " + selectedNeutralCell + " | "; + if (attackChoiceProbability > expandChoiceProbability) { + s += "ATTACK++ ? | "; + if ((defendChoiceProbability > expandChoiceProbability) && (defendChoiceProbability > attackChoiceProbability)) { + s += "defense ++ | "; + if (Random.Range(0, 10) < 5) { + s += "def 50% | "; + return Decision.HELP; + } + else { + if (Random.Range(0, 10) < 5) { + s += "atk 25% | "; + return Decision.ATTACK; + } + else { + s += "exp 25% | "; + return Decision.EXPAND; + } + } + } + else { + s += "attack++ | "; + if (Random.Range(0, 10) < 7.5f) { + s += "atk 75% | "; + return Decision.ATTACK; + } + else { + if (Random.Range(0, 10) < 5) { + s += "def 12.5% | "; + return Decision.HELP; + } + else { + s += "exp 12.5% | "; + return Decision.EXPAND; + } + } + } + } + else { + s += "EXPAND++ ? | "; + if (Random.Range(0, 10) < 8) { + s += "exp 80% | "; + return Decision.EXPAND; + } + else { + if (Random.Range(0, 10) < 5) { + s += "atk 10% | "; + return Decision.ATTACK; + } + else { + s += "def 10% | "; + return Decision.HELP; + } + } + } + } + + #region Function to preform ATTACKS, DEFENCES, EXPANSIONS + //Expand from - to + private void Expand(CellBehaviour selectedCell, CellBehaviour toTarget) { + if (_neutrals.Count == 0) { + print("Expanding to NONE -- return;"); + return; + } + selectedCell.AttackCell(toTarget); + } + + //Attack from - who + private void Attack(CellBehaviour selectedCell, CellBehaviour target) { + selectedCell.AttackCell(target); + } + + //Defend from - who + private void Defend(CellBehaviour selectedCell, CellBehaviour target) { + selectedCell.EmpowerCell(target); + } + #endregion + + //This is where the AI magic happens + public IEnumerator PreformAction() { + + + while (isActive) { + print("Waiting " + (decisionSpeed) + " seconds."); + restart: //If selection fails for a known reason use goto restart; + yield return new WaitForSeconds(decisionSpeed); + redoAction: //If selection fails due to a flaw in the design LEL use goto redoAction; + + bool isAlone = false; + /*AI selection + * If this AI has cells to select from, run a procedure that will chose one cell with which the AI will work this cycle. + * Else this AI will shut down. + */ + if (_aiCells.Count != 0) { + s += "Selecting | "; + selectedAiCell = AiCellSelector(); + //If we have exactly one cell in the pool, we cant select others, no halping each other is possible. + if (_aiCells.Count == 1) { + isAlone = true; + s += "Alone | "; + } + s += "Not Alone | "; + + } + else { + isActive = false; + s += "No AI cell Selestion, DONE!"; + if (printOutLog) { + print(s); + } + s = ""; + yield break; + } + + if (selectedAiCell == null) { + s += "Could not Select Cell"; + + if (printOutLog) { + print(s); + } + s = ""; + goto restart; + } + + /* This section will select a cell from each cathegory, only one cathergory will be chosen in the end. */ + + //Aid selection + if (!isAlone) { + s += "Selecting Friend | "; + selectedAiCellForAid = AiAidSelector(); + } + + //Target selection + if (_targets.Count != 0) { + s += "Selecting Target | "; + selectedTargetCell = TargetCellSelector(); + } + else { + s += "No TARGET cell Selestion, DONE!"; + if (printOutLog) { + print(s); + } + s = ""; + yield break; + } + + //Neutral cell selection + if (_neutrals.Count != 0) { + s += "Selecting Neutral | "; + selectedNeutralCell = ExpandCellSelector(); + } + else { + s += "No Neutrals exist | "; + selectedNeutralCell = null; + } + + + s += "Calculating choices | "; + Decision factor = CalculateBestChoice(); + + //If these combinations are met the script will fail.. we have to redo the selection + if (selectedNeutralCell == null && factor == Decision.EXPAND) { + s += "Expanding with no free cells, DONE!"; + if (printOutLog) { + print(s); + } + s = ""; + goto redoAction; + } + if (isAlone == true && factor == Decision.HELP) { + s += "Aiding with no allies, DONE!"; + if (printOutLog) { + print(s); + } + s = ""; + goto redoAction; + } + if (selectedTargetCell == null && factor == Decision.ATTACK) { + s += "Attacking with no targets, DONE!"; + if (printOutLog) { + print(s); + } + s = ""; + goto restart; + } + + + if (factor == Decision.EXPAND) { + s += "Expanding as " + selectedAiCell + " to " + selectedNeutralCell + " END "; + Expand(selectedAiCell, selectedNeutralCell); + + } + else if (factor == Decision.ATTACK) { + s += "Attacking as " + selectedAiCell + " cell " + selectedTargetCell + " END "; + Attack(selectedAiCell, selectedTargetCell); + + } + else { + s += "Aiding as " + selectedAiCell + " teammates cell " + selectedAiCellForAid + " END "; + Defend(selectedAiCell, selectedAiCellForAid); + } + if (printOutLog) { + print(s); + } + s = ""; + } + } +} diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs.meta b/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs.meta new file mode 100644 index 0000000..ed58d8a --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3a2ef4e139294a74baf360354015977a +timeCreated: 1506673248 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Difficulty.meta b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty.meta new file mode 100644 index 0000000..a3a880e --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 10f3b05fc022cb74f9f55015694d4309 +folderAsset: yes +timeCreated: 1506677100 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_0.cs b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_0.cs new file mode 100644 index 0000000..a46706c --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_0.cs @@ -0,0 +1,6 @@ +using UnityEngine; +using System.Collections; + +public class AI_0 : AI_Behaviour { + +} diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_0.cs.meta b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_0.cs.meta new file mode 100644 index 0000000..ce00d0b --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_0.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a1611c62423d3724e84d7c9619f3aeac +timeCreated: 1506677100 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_1.cs b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_1.cs new file mode 100644 index 0000000..38322cd --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_1.cs @@ -0,0 +1,6 @@ +using UnityEngine; +using System.Collections; + +public class AI_1 : AI_Behaviour { + +} diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_1.cs.meta b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_1.cs.meta new file mode 100644 index 0000000..805d3da --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_1.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 38daf636a4ff1154882192bbf279b5eb +timeCreated: 1506681358 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_2.cs b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_2.cs new file mode 100644 index 0000000..f427471 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_2.cs @@ -0,0 +1,6 @@ +using UnityEngine; +using System.Collections; + +public class AI_2 : AI_Behaviour { + +} diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_2.cs.meta b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_2.cs.meta new file mode 100644 index 0000000..7062db6 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_2.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: aed1e7cf739fc034a971791f04cfd5a7 +timeCreated: 1506681358 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_3.cs b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_3.cs new file mode 100644 index 0000000..6c2a55c --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_3.cs @@ -0,0 +1,6 @@ +using UnityEngine; +using System.Collections; + +public class AI_3: AI_Behaviour { + +} diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_3.cs.meta b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_3.cs.meta new file mode 100644 index 0000000..c35b3b2 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_3.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1cb843a340fc1424cbd4af1e231232ad +timeCreated: 1506681358 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_4.cs b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_4.cs new file mode 100644 index 0000000..6a2ca15 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_4.cs @@ -0,0 +1,6 @@ +using UnityEngine; +using System.Collections; + +public class AI_4 : AI_Behaviour { + +} diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_4.cs.meta b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_4.cs.meta new file mode 100644 index 0000000..26d2e1b --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_4.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 80f8f0453698a4f45aacec5a449e1502 +timeCreated: 1506681358 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_5.cs b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_5.cs new file mode 100644 index 0000000..c1e7809 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_5.cs @@ -0,0 +1,6 @@ +using UnityEngine; +using System.Collections; + +public class AI_5 : AI_Behaviour { + +} diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_5.cs.meta b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_5.cs.meta new file mode 100644 index 0000000..d66978c --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_5.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 70313f63b9ae8074aa0b3e29a162cc1d +timeCreated: 1506681358 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_6.cs b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_6.cs new file mode 100644 index 0000000..6cb09a2 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_6.cs @@ -0,0 +1,6 @@ +using UnityEngine; +using System.Collections; + +public class AI_6 : AI_Behaviour { + +} diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_6.cs.meta b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_6.cs.meta new file mode 100644 index 0000000..933faf2 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_6.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 590e1efbaeb9ab04ca85f46913245ce1 +timeCreated: 1506681358 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_7.cs b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_7.cs new file mode 100644 index 0000000..ddfb0e8 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_7.cs @@ -0,0 +1,6 @@ +using UnityEngine; +using System.Collections; + +public class AI_7 : AI_Behaviour { + +} diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_7.cs.meta b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_7.cs.meta new file mode 100644 index 0000000..1d26882 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Difficulty/AI_7.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 9a46d6f126282664cae67c9e4b362e80 +timeCreated: 1506681358 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs new file mode 100644 index 0000000..1da9697 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -0,0 +1,509 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Enemy_AI : MonoBehaviour { + + + public bool isActive = true; + + public int aICellSelectElementTreshold = 10; + public int aICellAidElementTreshold = 10; + public float decisionSpeed = 1f; + + public Cell.enmTeam aiTeam; + + + + private enum Decision { EXPAND, ATTACK, HELP }; + + public List _targets = new List(); //Cells this AI will attack + public List _aiCells = new List(); //This AIs cells + public List _neutrals = new List(); //Neutral cells in the scene + public List _allies = new List(); //Cells this AI will not attack + + public List alliesOfThisAI = new List(); + + protected CellBehaviour selectedAiCell; //Selected AI cell that will prefrom the action. + protected CellBehaviour selectedTargetCell; //Selected target that can be attacked + protected CellBehaviour selectedNeutralCell; //Selected cell for expansion + protected CellBehaviour selectedAiCellForAid = null; //Selected cell for empowering + + protected float attackChoiceProbability = 0; + protected float expandChoiceProbability = 0; + protected float defendChoiceProbability = 0; + + private string s = ""; + + //Event subscribers / unsubscribers + private void OnEnable() { + CellBehaviour.TeamChanged += RemoveCell; + } + private void OnDisable() { + CellBehaviour.TeamChanged -= RemoveCell; + } + + //Sort cells on screen to lists by their team + protected virtual void Start() { + for (int i = 0; i < PlayManager.cells.Count; i++) { + + CellBehaviour current = PlayManager.cells[i]; + + if (current.cellTeam == aiTeam) { + _aiCells.Add(current); + } + else if (current.cellTeam == Cell.enmTeam.NEUTRAL) { + _neutrals.Add(current); + } + else { + _targets.Add(current); + } + } + + ConsiderAllies(); + print("AI " + getCurrentAiTeam + " Initialized!"); + } + + //Update this AI's allies and targets + private void ConsiderAllies() { + + //Loop through all allied Enemy_AIs + for (int j = 0; j < alliesOfThisAI.Count; j++) { + Enemy_AI currentAI = alliesOfThisAI[j]; //print("My ally has " + alliesOfThisAI[j]._aiCells.Count + " cells. " + gameObject.name); + + //Loop though all aiCells of the allied Enemy_AI + for (int k = 0; k < alliesOfThisAI[j]._aiCells.Count; k++) { + CellBehaviour currentCellOfTheAlliedAI = alliesOfThisAI[j]._aiCells[k]; //print(currentAlliedCellOfTheAlliedAI.gameObject.name); + + //Loop though all the targets of this AI + for (int l = 0; l < _targets.Count; l++) { + CellBehaviour myTarget = _targets[l]; //print("Comparing " + currentAlliedCellOfTheAlliedAI + " to " + current + "ENEMY 2"); + + //If aiCell of the other AI and target of this AI are the same cell do Stuff + if (currentCellOfTheAlliedAI == myTarget) { + this._allies.Add(myTarget); + this._targets.Remove(myTarget); + } + } + } + } + } + + //Accepts a cell, the algorythm searches for that cell in every AI and saves it in a data holder + private List GetCellInstances(CellBehaviour referenceCell) { + List AIs_Cells = new List(); + for (int i = 0; i < Initialize_AI.AIs.Length; i++) { + if (Initialize_AI.AIs[i] != null) { + Enemy_AI currentAI = Initialize_AI.AIs[i]; + DataHolder d = new DataHolder { AI = currentAI }; + AIs_Cells.Add(d); + + for (int j = 0; j < currentAI._aiCells.Count; j++) { + if (referenceCell == currentAI._aiCells[j]) { + d.cells[0] = referenceCell; + } + } + for (int j = 0; j < currentAI._targets.Count; j++) { + if (referenceCell == currentAI._targets[j]) { + d.cells[1] = referenceCell; + } + } + for (int j = 0; j < currentAI._allies.Count; j++) { + if (referenceCell == currentAI._allies[j]) { + d.cells[2] = referenceCell; + } + } + for (int j = 0; j < currentAI._neutrals.Count; j++) { + if (referenceCell == currentAI._neutrals[j]) { + d.cells[3] = referenceCell; + } + } + } + } + return AIs_Cells; + } + + //Triggered when a cell changs team + private void RemoveCell(CellBehaviour sender, Cell.enmTeam cellTeam, Cell.enmTeam elementTeam) { + + List data = GetCellInstances(sender); + #region DataDebugging + //print(data.Count); + //for (int i = 0; i < data.Count; i++) { + // print("AI name: " + data[i].AI.name); + // if (data[i].AI._aiTeam == _aiTeam) { + // print("The Data this Ai cell should see: "); + // for (int j = 0; j < data[i].cells.Length; j++) { + // switch (j) { + // case 0: { + // if (data[i].cells[j] != null) { + // print("This cell is a cell of this AI " + data[i].cells[j].gameObject.name); + // } + // else { + // print("No Data found for this AIs aiCell"); + // } + // break; + // } + // case 1: { + // if (data[i].cells[j] != null) { + // print("This cell is a target of this AI " + data[i].cells[j].gameObject.name); + // } + // else { + // print("No Data found for this AIs target"); + // } + // break; + // } + // case 2: { + // if (data[i].cells[j] != null) { + // print("This cell is an ally of this AI " + data[i].cells[j].gameObject.name); + // } + // else { + // print("No Data found for this AIs ally"); + // } + // break; + // } + // case 3: { + // if (data[i].cells[j] != null) { + // print("This cell is a neutral cell of this AI " + data[i].cells[j].gameObject.name); + // } + // else { + // print("No Data found for this AIs neutal"); + // } + // break; + // } + // } + // } + // } + //} + #endregion + + //Loop through all AIs and determine what to do with the removed cell in reference to the current AI + //Each cell is loacted somewhere in every AI structure, be it Cell of the AI, its target, its ally, or a neutral cell. + //If the cell does't exist in the AI then something went wrong. + + foreach (DataHolder instance in data) { + if (instance.AI == this) { + List aiCells = new List(instance.AI._aiCells); + foreach (CellBehaviour c in aiCells) { + for (int i = 0; i < instance.cells.Length; i++) { + if (instance.cells[i] != null) { + if (c == instance.cells[i]) { + //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its AICELLS"); + if (elementTeam != aiTeam) { + if (_aiCells.Contains(sender)) { + _aiCells.Remove(sender); + } + if (!_targets.Contains(sender)) { + _targets.Add(sender); + } + } + } + } + } + } + List targets = new List(instance.AI._targets); + foreach (CellBehaviour c in targets) { + for (int i = 0; i < instance.cells.Length; i++) { + if (instance.cells[i] != null) { + if (c == instance.cells[i]) { + //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its TRAGETS"); + if (elementTeam == aiTeam) { + if (!_aiCells.Contains(sender)) { + _aiCells.Add(sender); + } + if (_targets.Contains(sender)) { + _targets.Remove(sender); + } + } + else { + foreach (Enemy_AI ai in instance.AI.alliesOfThisAI) { + if (elementTeam == ai.aiTeam) { + //print("Adding Ally because " + ai.name + " overtook " + c.name + " and " + this.gameObject.name + " is his ally"); + if (!_allies.Contains(sender)) { + _allies.Add(sender); + } + if (_targets.Contains(sender)) { + _targets.Remove(sender); + } + } + } + } + } + } + } + } + List allies = new List(instance.AI._allies); + foreach (CellBehaviour c in allies) { + for (int i = 0; i < instance.cells.Length; i++) { + if (instance.cells[i] != null) { + if (c == instance.cells[i]) { + //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its ALLIES"); + if (elementTeam == aiTeam) { + if (!_allies.Contains(sender)) { + _allies.Remove(sender); + } + if (!_aiCells.Contains(sender)) { + _aiCells.Add(sender); + } + } + else { + bool isOvertakenByAlly = false; + foreach (Enemy_AI ai in instance.AI.alliesOfThisAI) { + if (elementTeam == ai.aiTeam) { + //print("Adding Ally because " + ai.name + " overtook " + c.name + " and " + this.gameObject.name + " is his ally"); + if (!_allies.Contains(sender)) { + _allies.Add(sender); + } + isOvertakenByAlly = true; + } + } + if (!isOvertakenByAlly) { + if (!_targets.Contains(sender)) { + _targets.Add(sender); + } + if (_allies.Contains(sender)) { + _allies.Remove(sender); + } + } + } + } + } + } + } + List neutralCells = new List(instance.AI._neutrals); + foreach (CellBehaviour c in neutralCells) { + for (int i = 0; i < instance.cells.Length; i++) { + if (instance.cells[i] != null) { + if (c == instance.cells[i]) { + //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its NEUTRALS"); + _neutrals.Remove(sender); + + if (elementTeam == aiTeam) { + _aiCells.Add(sender); + } + else { + bool willBeAlly = false; + foreach (Enemy_AI ai in instance.AI.alliesOfThisAI) { + if (elementTeam == ai.aiTeam) { + //print("Adding Ally because " + ai.name + " overtook " + c.name + " and " + this.gameObject.name + " is his ally"); + if (!_allies.Contains(sender)) { + _allies.Add(sender); + } + willBeAlly = true; + } + } + if (!willBeAlly) { + if (!_targets.Contains(sender)) { + _targets.Add(sender); + } + } + } + } + } + } + } + } + } + } + + public CellBehaviour AiCellSelector() { + int elementRecordAI = -1; + int recordIndex = -1; + CellBehaviour current; + + for (int i = 0; i < _aiCells.Count; i++) { + current = _aiCells[i]; + + //Find the best cell to work with (the most elements) + if (current.elementCount > elementRecordAI) { + elementRecordAI = current.elementCount; + recordIndex = i; + } + + //Just return curent cell + if (UnityEngine.Random.Range(0, 10) < 1) { + s += "Selected 10% chance | "; + return current; + } + } + //If the biggest cell has more than "x" elements 80% return it + if (elementRecordAI > aICellSelectElementTreshold) { + if (UnityEngine.Random.Range(0, 10) < 6) { + s += "Selected cell above threshold | "; + return _aiCells[recordIndex]; + } + else { + s += "Cells above treshold exist, but were not selected | "; + //If a target that can be overtaken exists still try to attack + for (int i = 0; i < _aiCells.Count; i++) { + for (int j = 0; j < _targets.Count; j++) { + if ((_aiCells[i].elementCount * 0.5f) > ((_targets[j].elementCount) + 1)) { + if (UnityEngine.Random.Range(0, 10) < 6) { + s += "Selected Cell with guaranteed Overtake | "; + return _aiCells[i]; + } + else { + s += "NO selection in second Chance | "; + return null; + } + } + } + } + s += "NO selection above " + aICellSelectElementTreshold + " treshold REALISM PLS | "; + return null; + } + } + else { + s += "NO cell (highest "+ elementRecordAI +") above " + aICellSelectElementTreshold + " treshold | "; + return null; + } + } + + public CellBehaviour TargetCellSelector() { + //if I don't have an attacker .. don't even bother. + if (selectedAiCell == null) { + return null; + } + + int elementRecord = 99999; + int recordIndex = -1; + + CellBehaviour current; + + for (int i = 0; i < _targets.Count; i++) { + current = _targets[i]; + + //Just return curent cell + if (UnityEngine.Random.Range(0, 10) < 2) { + attackChoiceProbability = 0.3f; + return current; + } + //Find the best cell to attack + if (current.elementCount < elementRecord) { + elementRecord = current.elementCount; + recordIndex = i; + } + //If curret cell's element count is smaller than the one attacking 60% return it + if (current.elementCount < selectedAiCell.elementCount) { + if (UnityEngine.Random.Range(0, 10) < 6) { + attackChoiceProbability = 0.6f; + return current; + } + } + } + //70% return the best target + if (UnityEngine.Random.Range(0, 10) < 7) { + attackChoiceProbability = 0.7f; + return _targets[recordIndex]; + } + else { + attackChoiceProbability = 0f; + return _targets[recordIndex]; + } + } + + public CellBehaviour ExpandCellSelector() { + CellBehaviour current; + + int elementRecord = 99999; + int recordIndex = -1; + for (int i = 0; i < _neutrals.Count; i++) { + current = _neutrals[i]; + + //If there is still posibility to expand just return the curent cell + if (UnityEngine.Random.Range(0, 10) < 4) { + expandChoiceProbability = 0.4f; + return current; + } + //Find a neutral cell that has the least elements + if (current.elementCount < elementRecord) { + elementRecord = current.elementCount; + recordIndex = i; + } + + //If the neutral cell has less than "x" elements in it 80% return it + if (current.elementCount < 5) { + if (UnityEngine.Random.Range(0, 10) < 8) { + expandChoiceProbability = 0.8f; + return current; + } + } + } + //20% return the best cell you found + expandChoiceProbability = 0.2f; + return _neutrals[recordIndex]; + } + + public CellBehaviour AiAidSelector() { + + CellBehaviour current; + + int elementRecord = 99999; + int recordIndex = -1; + for (int i = 0; i < _aiCells.Count; i++) { + current = _aiCells[i]; + //Locate a cell with the lest amount of elements + if (current.elementCount < elementRecord) { + if (current != selectedAiCell) { + elementRecord = current.elementCount; + recordIndex = i; + } + } + //If you get one and it has < 5 elements => 50% return it + if (current.elementCount < 5) { + if (UnityEngine.Random.Range(0, 10) < 5) { + if (current != selectedAiCell) { + if (Mathf.Abs(selectedAiCell.elementCount - current.elementCount) > aICellAidElementTreshold) { + defendChoiceProbability = 0.5f; + } + else { + defendChoiceProbability = 0.2f; + } + return current; + } + } + } + //Random cell for help + if (UnityEngine.Random.Range(0, 10) < 1) { + expandChoiceProbability = 0.1f; + return current; + } + } + // 40% return the best cell you found + if (UnityEngine.Random.Range(0, 10) < 4) { + if(Mathf.Abs(selectedAiCell.elementCount - _aiCells[recordIndex].elementCount) > aICellAidElementTreshold) { + defendChoiceProbability = 0.6f; + } + else { + defendChoiceProbability = 0.2f; + } + return _aiCells[recordIndex]; + } + //Helping not recommended + else { + defendChoiceProbability = 0f; + return _aiCells[recordIndex]; + } + } + + /// + /// Get current AIs Team + /// + public Cell.enmTeam getCurrentAiTeam { + get { return aiTeam; } + private set { aiTeam = value; } + } +} + +public class DataHolder { + /// + /// The AI for which this configuration is valid + /// + public Enemy_AI AI; + /// + /// Instances in this AI --> [0] = AI, [1] = target, [2] = ally, [3] = neutral + /// + public CellBehaviour[] cells = new CellBehaviour[4] { null, null, null, null }; + +} \ No newline at end of file diff --git a/Dots-RTS-Development/Assets/Scripts/Cell/Enemy_AI.cs.meta b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs.meta similarity index 100% rename from Dots-RTS-Development/Assets/Scripts/Cell/Enemy_AI.cs.meta rename to Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs.meta diff --git a/Dots-RTS-Development/Assets/Scripts/Cell/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/Cell/Enemy_AI.cs deleted file mode 100644 index fe4c018..0000000 --- a/Dots-RTS-Development/Assets/Scripts/Cell/Enemy_AI.cs +++ /dev/null @@ -1,951 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class Enemy_AI : MonoBehaviour { - - - public bool isActive = true; - public int aICellSelectElementTreshold = 10; - public int aICellAidElementTreshold = 10; - public float decisionSpeed = 1f; - - public Cell.enmTeam _aiTeam; - - private enum Decision { EXPAND, ATTACK, HELP }; - - public List _targets = new List(); //Cells this AI will attack - public List _aiCells = new List(); //This AIs cells - public List _neutrals = new List(); //Neutral cells in the scene - public List _allies = new List(); //Cells this AI will not attack - - public List alliesOfThisAI = new List(); - - private CellBehaviour selectedAiCell; //Selected AI cell that will prefrom the action. - private CellBehaviour selectedTargetCell; //Selected target that can be attacked - private CellBehaviour selectedNeutralCell; //Selected cell for expansion - private CellBehaviour selectedAiCellForAid = null; //Selected cell for empowering - - private float attackChoiceProbability = 0; - private float expandChoiceProbability = 0; - private float defendChoiceProbability = 0; - - - //Event subscribers / unsubscribers - private void OnEnable() { - CellBehaviour.TeamChanged += RemoveCell; - } - private void OnDisable() { - CellBehaviour.TeamChanged -= RemoveCell; - } - - //Sort cells on screen to lists by their team - private IEnumerator Start() { - for (int i = 0; i < PlayManager.cells.Count; i++) { - - CellBehaviour current = PlayManager.cells[i]; - - if (current.cellTeam == _aiTeam) { - _aiCells.Add(current); - } - else if (current.cellTeam == Cell.enmTeam.NEUTRAL) { - _neutrals.Add(current); - } - else { - _targets.Add(current); - } - } - yield return null; - - ConsiderAllies(); - - StartCoroutine(PreformAction()); - } - - //Update this AI's allies and targets - private void ConsiderAllies() { - - //Loop through all allied Enemy_AIs - for (int j = 0; j < alliesOfThisAI.Count; j++) { - Enemy_AI currentAI = alliesOfThisAI[j]; //print("My ally has " + alliesOfThisAI[j]._aiCells.Count + " cells. " + gameObject.name); - - //Loop though all aiCells of the allied Enemy_AI - for (int k = 0; k < alliesOfThisAI[j]._aiCells.Count; k++) { - CellBehaviour currentCellOfTheAlliedAI = alliesOfThisAI[j]._aiCells[k]; //print(currentAlliedCellOfTheAlliedAI.gameObject.name); - - //Loop though all the targets of this AI - for (int l = 0; l < _targets.Count; l++) { - CellBehaviour myTarget = _targets[l]; //print("Comparing " + currentAlliedCellOfTheAlliedAI + " to " + current + "ENEMY 2"); - - //If aiCell of the other AI and target of this AI are the same cell do Stuff - if (currentCellOfTheAlliedAI == myTarget) { - this._allies.Add(myTarget); - this._targets.Remove(myTarget); - } - } - } - } - } - - - - - private List GetCellInstances(CellBehaviour referenceCell) { - List AIs_Cells = new List(); - for (int i = 0; i < Initialize_AI.AIs.Length; i++) { - if (Initialize_AI.AIs[i] != null) { - Enemy_AI currentAI = Initialize_AI.AIs[i]; - DataHolder d = new DataHolder { AI = currentAI }; - AIs_Cells.Add(d); - - for (int j = 0; j < currentAI._aiCells.Count; j++) { - if (referenceCell == currentAI._aiCells[j]) { - d.cells[0] = referenceCell; - } - } - for (int j = 0; j < currentAI._targets.Count; j++) { - if (referenceCell == currentAI._targets[j]) { - d.cells[1] = referenceCell; - } - } - for (int j = 0; j < currentAI._allies.Count; j++) { - if (referenceCell == currentAI._allies[j]) { - d.cells[2] = referenceCell; - } - } - for (int j = 0; j < currentAI._neutrals.Count; j++) { - if (referenceCell == currentAI._neutrals[j]) { - d.cells[3] = referenceCell; - } - } - } - } - return AIs_Cells; - } - - //Triggered when a cell changs team - private void RemoveCell(CellBehaviour sender, Cell.enmTeam cellTeam, Cell.enmTeam elementTeam) { - - List data = GetCellInstances(sender); - #region DataDebugging - //print(data.Count); - //for (int i = 0; i < data.Count; i++) { - // print("AI name: " + data[i].AI.name); - // if (data[i].AI._aiTeam == _aiTeam) { - // print("The Data this Ai cell should see: "); - // for (int j = 0; j < data[i].cells.Length; j++) { - // switch (j) { - // case 0: { - // if (data[i].cells[j] != null) { - // print("This cell is a cell of this AI " + data[i].cells[j].gameObject.name); - // } - // else { - // print("No Data found for this AIs aiCell"); - // } - // break; - // } - // case 1: { - // if (data[i].cells[j] != null) { - // print("This cell is a target of this AI " + data[i].cells[j].gameObject.name); - // } - // else { - // print("No Data found for this AIs target"); - // } - // break; - // } - // case 2: { - // if (data[i].cells[j] != null) { - // print("This cell is an ally of this AI " + data[i].cells[j].gameObject.name); - // } - // else { - // print("No Data found for this AIs ally"); - // } - // break; - // } - // case 3: { - // if (data[i].cells[j] != null) { - // print("This cell is a neutral cell of this AI " + data[i].cells[j].gameObject.name); - // } - // else { - // print("No Data found for this AIs neutal"); - // } - // break; - // } - // } - // } - // } - //} - #endregion - - //Loop through all AIs and determine what to do with the removed cell in reference to the current AI - //Each cell is loacted somewhere in every AI structure, be it Cell of the AI, its target, its ally, or a neutral cell. - //If the cell does't exist in the AI then something went wrong. - - foreach (DataHolder instance in data) { - if (instance.AI == this) { - List aiCells = new List(instance.AI._aiCells); - foreach (CellBehaviour c in aiCells) { - for (int i = 0; i < instance.cells.Length; i++) { - if (instance.cells[i] != null) { - if (c == instance.cells[i]) { - //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its AICELLS"); - if (elementTeam != _aiTeam) { - if (_aiCells.Contains(sender)) { - _aiCells.Remove(sender); - } - if (!_targets.Contains(sender)) { - _targets.Add(sender); - } - } - } - } - } - } - List targets = new List(instance.AI._targets); - foreach (CellBehaviour c in targets) { - for (int i = 0; i < instance.cells.Length; i++) { - if (instance.cells[i] != null) { - if (c == instance.cells[i]) { - //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its TRAGETS"); - if (elementTeam == _aiTeam) { - if (!_aiCells.Contains(sender)) { - _aiCells.Add(sender); - } - if (_targets.Contains(sender)) { - _targets.Remove(sender); - } - } - else { - foreach (Enemy_AI ai in instance.AI.alliesOfThisAI) { - if (elementTeam == ai._aiTeam) { - //print("Adding Ally because " + ai.name + " overtook " + c.name + " and " + this.gameObject.name + " is his ally"); - if (!_allies.Contains(sender)) { - _allies.Add(sender); - } - if (_targets.Contains(sender)) { - _targets.Remove(sender); - } - } - } - } - } - } - } - } - List allies = new List(instance.AI._allies); - foreach (CellBehaviour c in allies) { - for (int i = 0; i < instance.cells.Length; i++) { - if (instance.cells[i] != null) { - if (c == instance.cells[i]) { - //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its ALLIES"); - if (elementTeam == _aiTeam) { - if (!_allies.Contains(sender)) { - _allies.Remove(sender); - } - if (!_aiCells.Contains(sender)) { - _aiCells.Add(sender); - } - } - else { - bool isOvertakenByAlly = false; - foreach (Enemy_AI ai in instance.AI.alliesOfThisAI) { - if (elementTeam == ai._aiTeam) { - //print("Adding Ally because " + ai.name + " overtook " + c.name + " and " + this.gameObject.name + " is his ally"); - if (!_allies.Contains(sender)) { - _allies.Add(sender); - } - isOvertakenByAlly = true; - } - } - if (!isOvertakenByAlly) { - if (!_targets.Contains(sender)) { - _targets.Add(sender); - } - if (_allies.Contains(sender)) { - _allies.Remove(sender); - } - } - } - } - } - } - } - List neutralCells = new List(instance.AI._neutrals); - foreach (CellBehaviour c in neutralCells) { - for (int i = 0; i < instance.cells.Length; i++) { - if (instance.cells[i] != null) { - if (c == instance.cells[i]) { - //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its NEUTRALS"); - _neutrals.Remove(sender); - - if (elementTeam == _aiTeam) { - _aiCells.Add(sender); - } - else { - bool willBeAlly = false; - foreach (Enemy_AI ai in instance.AI.alliesOfThisAI) { - if (elementTeam == ai._aiTeam) { - //print("Adding Ally because " + ai.name + " overtook " + c.name + " and " + this.gameObject.name + " is his ally"); - if (!_allies.Contains(sender)) { - _allies.Add(sender); - } - willBeAlly = true; - } - } - if (!willBeAlly) { - if (!_targets.Contains(sender)) { - _targets.Add(sender); - } - } - } - } - } - } - } - } - } - - #region Older Iterations on Cell processing on remove - - //foreach (DataHolder instance in data) { - // print("AAAAAAAAAAAAAA 5 * 5"); - // for (int i = 0; i < Initialize_AI.AIs.Length; i++) { - // if (Initialize_AI.AIs[i] != null) { - // print("BBBBBBBBBBB " + data.Count + " " + Initialize_AI.AIs.Length + " " + data.Count * Initialize_AI.AIs.Length * 5); - // if (instance.AI == Initialize_AI.AIs[i]) { - // - // for (int j = 0; j < instance.cells.Length; j++) { - // if (instance.cells[j] != null) { - // print("Current Process = " + gameObject.name + " " + instance.AI.gameObject.name + " " + instance.cells[j].name + " " + j); - // } - // switch (j) { - // case 0: { - // if (instance.cells[j] != null) { - // - // print("I know that " + instance.AI.name + " contains " + instance.cells[j].name + " as AICELL!"); - // if (cellTeam != _aiTeam) { - // print("Cell " + sender.name + " of team " + cellTeam + " will be " + elementTeam + " => " + this.gameObject.name + " has to remove it from aiCells"); - // _aiCells.Remove(sender); - // } - // - // if (elementTeam == _aiTeam) { - // print("Cell " + sender.name + " of team " + cellTeam + " will be " + elementTeam + " => " + this.gameObject.name + " has to add it as a aicell."); - // _aiCells.Add(sender); - // } - // } - // continue; - // } - // case 1: { - // if (instance.cells[j] != null) { - // print("I know that " + instance.AI.name + " contains " + instance.cells[j].name + " as TARGET!"); - // if (cellTeam == _aiTeam) { - // print("Cell " + sender.name + " of team " + cellTeam + " will be " + elementTeam + " => " + this.gameObject.name + " has to remove it from targets"); - // _targets.Remove(sender); - // } - // if (elementTeam == _aiTeam) { - // print("Cell " + sender.name + " of team " + cellTeam + " will be " + elementTeam + " => " + this.gameObject.name + " has to add it as an aiCell."); - // _aiCells.Add(sender); - // } - // } - // continue; - // } - // case 2: { - // if (instance.cells[j] != null) { - // print("I know that " + instance.AI.name + " contains " + instance.cells[j].name + " as ALLY!"); - // if (cellTeam == _aiTeam) { - // print("Cell " + sender.name + " of team " + cellTeam + " will be " + elementTeam + " => " + this.gameObject.name + " has to remove it from allies"); - // _allies.Remove(sender); - // } - // if (elementTeam == _aiTeam) { - // print("Cell " + sender.name + " of team " + cellTeam + " will be " + elementTeam + " => " + this.gameObject.name + " has to add it as a ally."); - // _allies.Add(sender); - // } - // } - // continue; - // } - // case 3: { - // if (instance.cells[j] != null) { - // print("I know that " + instance.AI.name + " contains " + instance.cells[j].name + " as NEUTRAL!"); - // print("Cell " + sender.name + " of team " + cellTeam + " will be " + elementTeam + " => " + this.gameObject.name + " has to remove it from neutrals"); - // _neutrals.Remove(sender); - // if (elementTeam == _aiTeam) { - // print("Cell " + sender.name + " of team " + cellTeam + " will be " + elementTeam + " => " + this.gameObject.name + " has to add it as a aicell."); - // _aiCells.Add(sender); - // } - // } - // continue; - // } - // } - // } - // } - // } - // } - //} - - //foreach (DataHolder instance in data) { - // if (instance.AI == this) { - // for (int i = 0; i < instance.cells.Length; i++) { - // if (instance.cells[i] != null) { - // if (i == 0) { - // if (elementTeam == this._aiTeam) { - // _aiCells.Add(sender); - // } - // else { - // _aiCells.Remove(sender); - // } - // } - // else if (i == 1) { - // if (elementTeam != this._aiTeam) { - // _targets.Add(sender); - // } - // else { - // _aiCells.Add(sender); - // _targets.Remove(sender); - // } - // } - // else if (i == 2) { - // if (elementTeam != this._aiTeam) { - // _allies.Add(sender); - // } - // } - // else { - // if (elementTeam != this._aiTeam) { - // _neutrals.Remove(sender); - // } - // } - // } - // else { - // if (i == 0) { - // if (elementTeam != this._aiTeam) { - // _aiCells.Remove(sender); - // } - // } - // else if (i == 1) { - // if (elementTeam == this._aiTeam) { - // _targets.Remove(sender); - // } - // } - // else if (i == 2) { - // if (elementTeam != this._aiTeam) { - // _targets.Add(sender); - // _allies.Remove(sender); - // } - // } - // else { - - // _neutrals.Remove(sender); - // - // } - // } - // } - // } - //} - // - //Debug.Break(); - // - //if (cellTeam == Cell.enmTeam.NEUTRAL) { - // _neutrals.Remove(sender); - // AddCell(sender, elementTeam); - // return; - //} - // - ////Cell was of team ALLIED - //else if (cellTeam == Cell.enmTeam.ALLIED) { - // _targets.Remove(sender); - // AddCell(sender, elementTeam); - // return; - //} - ////Cell was of team ENEMYX - //else { - // //The AI the cell belonged to - // Enemy_AI homeAI = null; - // Enemy_AI newHomeAI = null; - // - // for (int i = 0; i < Initialize_AI.AIs.Length; i++) { - // if (Initialize_AI.AIs[i] != null) { - // - // //If cellteam and aiteam are the same => remove from controlled - // if (Initialize_AI.AIs[i]._aiTeam == cellTeam && cellTeam == _aiTeam) { - // homeAI = Initialize_AI.AIs[i]; - // /*Initialize_AI.AIs[i].*/ - // _aiCells.Remove(sender); - // } - // - // if (Initialize_AI.AIs[i]._aiTeam == elementTeam) { - // newHomeAI = Initialize_AI.AIs[i]; - // } - // } - // } - - // //Compare every AI with the AI that the cell belonged to if any AI was an ally of of THE AI remove it from their allies if not - // for (int i = 0; i < Initialize_AI.AIs.Length; i++) { - // if (Initialize_AI.AIs[i] != null) { - // for (int j = 0; j < Initialize_AI.AIs[i].alliesOfThisAI.Count; j++) { - // Enemy_AI allyOfAnyAI = Initialize_AI.AIs[i].alliesOfThisAI[j]; - // - // - // if (allyOfAnyAI == homeAI && homeAI._aiTeam == _aiTeam) { - // /*allyOfAnyAI.*/ - // _allies.Remove(sender); - // } - // else { - // /*allyOfAnyAI.*/ - // _targets.Remove(sender); - // } - // } - // } - // } - // //AddCell(sender, future, newHomeAI); - // ConsiderAllies(); - //} - //Debug.Break(); - - #endregion - } - - - private void AddCell(CellBehaviour sender, Cell.enmTeam current, Enemy_AI defaultAI = null) { - Enemy_AI homeAI = defaultAI; - if (homeAI == null) { - for (int i = 0; i < Initialize_AI.AIs.Length; i++) { - if (Initialize_AI.AIs[i] != null) { - - //If cellteam and aiteam are the same => remove from controlled - if (Initialize_AI.AIs[i]._aiTeam == current) { - homeAI = Initialize_AI.AIs[i]; - } - } - } - } - - //Cell is joning team NEUTRAL - if (current == Cell.enmTeam.NEUTRAL) { - throw new Exception("Impossible"); - } - - //Cell is joning team ALLIED - else if (current == Cell.enmTeam.ALLIED) { - _targets.Add(sender); - return; - } - - //Cell is joning team ENEMYX - else { - //Compare every AI with the AI that the cell will belong to. IF the other AI is an ally of this AI ==> add it to their allies ELSE add it to their targets. - for (int i = 0; i < Initialize_AI.AIs.Length; i++) { - if (Initialize_AI.AIs[i] != null) { - if (homeAI._aiTeam == current && current == _aiTeam) { - _aiCells.Add(sender); - } - else { - for (int j = 0; j < Initialize_AI.AIs[i].alliesOfThisAI.Count; j++) { - Enemy_AI allyOfAnyAI = Initialize_AI.AIs[i].alliesOfThisAI[j]; - - if (allyOfAnyAI == homeAI && homeAI._aiTeam == _aiTeam) { - _allies.Add(sender); - } - else { - bool isTargetAlready = false; - for (int k = 0; k < allyOfAnyAI._targets.Count; k++) { - if (sender == allyOfAnyAI._targets[k]) { - isTargetAlready = true; - } - } - if (!isTargetAlready) { - allyOfAnyAI._targets.Add(sender); - } - } - } - } - } - } - if (_aiCells.Count == 0) { - isActive = false; - } - } - } - private string s = ""; - - //This is where the AI magic happens - public IEnumerator PreformAction() { - - - while (isActive) { - print("Waiting " + (decisionSpeed) + " seconds."); - restart: //If selection fails for a known reason use goto restart; - yield return new WaitForSeconds(decisionSpeed); - redoAction: //If selection fails due to a flaw in the design LEL use goto redoAction; - - bool isAlone = false; - /*AI selection - * If this AI has cells to select from, run a procedure that will chose one cell with which the AI will work this cycle. - * Else this AI will shut down. - */ - if (_aiCells.Count != 0) { - s += "Selecting | "; - selectedAiCell = AiCellSelector(); - //If we have exactly one cell in the pool, we cant select others, no halping each other is possible. - if (_aiCells.Count == 1) { - isAlone = true; - s += "Alone | "; - } - s += "Not Alone | "; - - } - else { - isActive = false; - s += "No AI cell Selestion, DONE!"; - print(s); - s = ""; - yield break; - } - - if (selectedAiCell == null) { - s += "Could not Select Cell"; - print(s); - s = ""; - goto restart; - } - - /* This section will select a cell from each cathegory, only one cathergory will be chosen in the end. */ - - //Aid selection - if (!isAlone) { - s += "Selecting Friend | "; - selectedAiCellForAid = AiAidSelector(); - } - - //Target selection - if (_targets.Count != 0) { - s += "Selecting Target | "; - selectedTargetCell = TargetCellSelector(); - } - else { - s += "No TARGET cell Selestion, DONE!"; - print(s); - s = ""; - yield break; - } - - //Neutral cell selection - if (_neutrals.Count != 0) { - s += "Selecting Neutral | "; - selectedNeutralCell = ExpandCellSelector(); - } - else { - s += "No Neutrals exist | "; - selectedNeutralCell = null; - } - - - s += "Calculating choices | "; - Decision factor = CalculateBestChoice(); - - //If these combinations are met the script will fail.. we have to redo the selection - if (selectedNeutralCell == null && factor == Decision.EXPAND) { - s += "Expanding with no free cells, DONE!"; - print(s); - s = ""; - goto redoAction; - } - if (isAlone == true && factor == Decision.HELP) { - s += "Aiding with no allies, DONE!"; - print(s); - s = ""; - goto redoAction; - } - if (selectedTargetCell == null && factor == Decision.ATTACK) { - s += "Attacking with no targets, DONE!"; - print(s); - s = ""; - goto restart; - } - - - if (factor == Decision.EXPAND) { - s += "Expanding as " + selectedAiCell + " to " + selectedNeutralCell + " END "; - Expand(selectedAiCell, selectedNeutralCell); - - } - else if (factor == Decision.ATTACK) { - s += "Attacking as " + selectedAiCell + " cell " + selectedTargetCell + " END "; - Attack(selectedAiCell, selectedTargetCell); - - } - else { - s += "Aiding as " + selectedAiCell + " teammates cell " + selectedAiCellForAid + " END "; - Defend(selectedAiCell, selectedAiCellForAid); - } - print(s); - s = ""; - } - } - - #region Function to preform ATTACKS, DEFENCES, EXPANSIONS - //Expand from - to - public void Expand(CellBehaviour selectedCell, CellBehaviour toTarget) { - if (_neutrals.Count == 0) { - //Attack(selectedCell, toTarget); - return; - } - selectedCell.AttackCell(toTarget); - } - - //Attack from - who - public void Attack(CellBehaviour selectedCell, CellBehaviour target) { - selectedCell.AttackCell(target); - } - - //Defend from - who - public void Defend(CellBehaviour selectedCell, CellBehaviour target) { - selectedCell.EmpowerCell(target); - } - #endregion - - public CellBehaviour AiCellSelector() { - int elementRecordAI = -1; - int recordIndex = -1; - CellBehaviour current; - - for (int i = 0; i < _aiCells.Count; i++) { - current = _aiCells[i]; - - //Find the best cell to work with (the most elements) - if (current.elementCount > elementRecordAI) { - elementRecordAI = current.elementCount; - recordIndex = i; - } - - //Just return curent cell - if (UnityEngine.Random.Range(0, 10) < 1) { - s += "Selected 10% chance | "; - return current; - } - } - //If the biggest cell has more than "x" elements 80% return it - if (elementRecordAI > aICellSelectElementTreshold) { - if (UnityEngine.Random.Range(0, 10) < 6) { - s += "Selected cell above threshold | "; - return _aiCells[recordIndex]; - } - else { - s += "Cells above treshold exist, but were not selected | "; - //If a target that can be overtaken exists still try to attack - for (int i = 0; i < _aiCells.Count; i++) { - for (int j = 0; j < _targets.Count; j++) { - if ((_aiCells[i].elementCount * 0.5f) > ((_targets[j].elementCount) + 1)) { - if (UnityEngine.Random.Range(0, 10) < 6) { - s += "Selected Cell with guaranteed Overtake | "; - return _aiCells[i]; - } - else { - s += "NO selection in second Chance | "; - return null; - } - } - } - } - s += "NO selection above " + aICellSelectElementTreshold + " treshold REALISM PLS | "; - return null; - } - } - else { - s += "NO cell (highest "+ elementRecordAI +") above " + aICellSelectElementTreshold + " treshold | "; - return null; - } - } - - public CellBehaviour TargetCellSelector() { - //if I don't have an attacker .. don't even bother. - if (selectedAiCell == null) { - return null; - } - - int elementRecord = 99999; - int recordIndex = -1; - - CellBehaviour current; - - for (int i = 0; i < _targets.Count; i++) { - current = _targets[i]; - - //Just return curent cell - if (UnityEngine.Random.Range(0, 10) < 2) { - attackChoiceProbability = 0.3f; - return current; - } - //Find the best cell to attack - if (current.elementCount < elementRecord) { - elementRecord = current.elementCount; - recordIndex = i; - } - //If curret cell's element count is smaller than the one attacking 60% return it - if (current.elementCount < selectedAiCell.elementCount) { - if (UnityEngine.Random.Range(0, 10) < 6) { - attackChoiceProbability = 0.6f; - return current; - } - } - } - //70% return the best target - if (UnityEngine.Random.Range(0, 10) < 7) { - attackChoiceProbability = 0.7f; - return _targets[recordIndex]; - } - else { - attackChoiceProbability = 0f; - return _targets[recordIndex]; - } - } - - public CellBehaviour ExpandCellSelector() { - CellBehaviour current; - - int elementRecord = 99999; - int recordIndex = -1; - for (int i = 0; i < _neutrals.Count; i++) { - current = _neutrals[i]; - - //If there is still posibility to expand just return the curent cell - if (UnityEngine.Random.Range(0, 10) < 4) { - expandChoiceProbability = 0.4f; - return current; - } - //Find a neutral cell that has the least elements - if (current.elementCount < elementRecord) { - elementRecord = current.elementCount; - recordIndex = i; - } - - //If the neutral cell has less than "x" elements in it 80% return it - if (current.elementCount < 5) { - if (UnityEngine.Random.Range(0, 10) < 8) { - expandChoiceProbability = 0.8f; - return current; - } - } - } - //20% return the best cell you found - expandChoiceProbability = 0.2f; - return _neutrals[recordIndex]; - } - - public CellBehaviour AiAidSelector() { - - CellBehaviour current; - - int elementRecord = 99999; - int recordIndex = -1; - for (int i = 0; i < _aiCells.Count; i++) { - current = _aiCells[i]; - //Locate a cell with the lest amount of elements - if (current.elementCount < elementRecord) { - if (current != selectedAiCell) { - elementRecord = current.elementCount; - recordIndex = i; - } - } - //If you get one and it has < 5 elements => 50% return it - if (current.elementCount < 5) { - if (UnityEngine.Random.Range(0, 10) < 5) { - if (current != selectedAiCell) { - if (Mathf.Abs(selectedAiCell.elementCount - current.elementCount) > aICellAidElementTreshold) { - defendChoiceProbability = 0.5f; - } - else { - defendChoiceProbability = 0.2f; - } - return current; - } - } - } - //Random cell for help - if (UnityEngine.Random.Range(0, 10) < 1) { - expandChoiceProbability = 0.1f; - return current; - } - } - // 40% return the best cell you found - if (UnityEngine.Random.Range(0, 10) < 4) { - if(Mathf.Abs(selectedAiCell.elementCount - _aiCells[recordIndex].elementCount) > aICellAidElementTreshold) { - defendChoiceProbability = 0.6f; - } - else { - defendChoiceProbability = 0.2f; - } - return _aiCells[recordIndex]; - } - //Helping not recommended - else { - defendChoiceProbability = 0f; - return _aiCells[recordIndex]; - } - } - - - private Decision CalculateBestChoice() { - s += "ATK = " + attackChoiceProbability + "EXP = " + expandChoiceProbability + "DEF = " + defendChoiceProbability + " | "; - s += "SELECTED AI = " + selectedAiCell + " TARGET = " + selectedTargetCell + " DEFENSE = " + selectedAiCellForAid + " EXPAND = " + selectedNeutralCell + " | "; - if (attackChoiceProbability > expandChoiceProbability) { - s += "ATTACK++ ? | "; - if ((defendChoiceProbability > expandChoiceProbability) && (defendChoiceProbability > attackChoiceProbability)) { - s += "defense ++ | "; - if (UnityEngine.Random.Range(0, 10) < 5) { - s += "def 50% | "; - return Decision.HELP; - } - else { - if (UnityEngine.Random.Range(0, 10) < 5) { - s += "atk 25% | "; - return Decision.ATTACK; - } - else { - s += "exp 25% | "; - return Decision.EXPAND; - } - } - } - else { - s += "attack++ | "; - if (UnityEngine.Random.Range(0, 10) < 7.5f) { - s += "atk 75% | "; - return Decision.ATTACK; - } - else { - if (UnityEngine.Random.Range(0, 10) < 5) { - s += "def 12.5% | "; - return Decision.HELP; - } - else { - s += "exp 12.5% | "; - return Decision.EXPAND; - } - } - } - } - else { - s += "EXPAND++ ? | "; - if (UnityEngine.Random.Range(0, 10) < 8) { - s += "exp 80% | "; - return Decision.EXPAND; - } - else { - if (UnityEngine.Random.Range(0, 10) < 5) { - s += "atk 10% | "; - return Decision.ATTACK; - } - else { - s += "def 10% | "; - return Decision.HELP; - } - } - } - } -} - -public class DataHolder { - public Enemy_AI AI; - public CellBehaviour[] cells = new CellBehaviour[4] { null, null, null, null }; - -} \ No newline at end of file diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Control.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Control.cs index 118ec10..4a50294 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Control.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Control.cs @@ -236,7 +236,7 @@ IEnumerator TakePicture() { private bool IsInPausebleScene() { string s = SceneManager.GetActiveScene().name; - if (s == Scenes.EDITOR || s == Scenes.PLAYER) { + if (s == Scenes.EDITOR || s == Scenes.PLAYER || s == Scenes.DEBUG) { return true; } else { diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs index f27fdff..f4e62f2 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs @@ -70,21 +70,58 @@ public void StartAiInitialization(Dictionary clanDict) } } - //Creates a new AI, sets its state to true in the corresponding slot in the Array - private void SetAis(int index, Cell.enmTeam team) { - //print("Attepting to set AI at " + index + " with team " + team); + + public void SetAis(int index, Cell.enmTeam team) { if (initAIs[index] == false) { initAIs[index] = true; aiTeams[index] = team; GameObject aiHolder = new GameObject("AI code " + index + " enemy " + (index + 1)); - Enemy_AI ai = aiHolder.AddComponent(); + //Select AI preset according to the enemy team + AI_Behaviour ai; + switch (index) { + case 0: { + ai = aiHolder.AddComponent(); + break; + } + case 1: { + ai = aiHolder.AddComponent(); + break; + } + case 2: { + ai = aiHolder.AddComponent(); + break; + } + case 3: { + ai = aiHolder.AddComponent(); + break; + } + case 4: { + ai = aiHolder.AddComponent(); + break; + } + case 5: { + ai = aiHolder.AddComponent(); + break; + } + case 6: { + ai = aiHolder.AddComponent(); + break; + } + case 7: { + ai = aiHolder.AddComponent(); + break; + } + default: { + ai = aiHolder.AddComponent(); + break; + } + } ai.decisionSpeed = decisionSpeeds[index]; - ai._aiTeam = team; + ai.aiTeam = team; ai.isActive = true; AIs[index] = ai; } - } } diff --git a/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/UI_Manager.cs b/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/UI_Manager.cs index 59f5537..ce48760 100644 --- a/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/UI_Manager.cs +++ b/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/UI_Manager.cs @@ -135,7 +135,9 @@ public static void CloseMostRecent() { Control.script.StartCoroutine(DisableAfterAnimation(win.animator)); } } - OnWindowClose(win); + if (OnWindowClose != null) { + OnWindowClose(win); + } } else { Control.script.Pause(); @@ -179,7 +181,9 @@ private static IEnumerator DisableAfterAnimation(Animator win) { if (win.GetCurrentAnimatorStateInfo(0).IsName("Hide")) { win.gameObject.SetActive(false); - UI_ReferenceHolder.LE_cellPanel.StartCoroutine(UI_ReferenceHolder.LE_cellPanel.MoveToAnchor(0.25f, 2)); + if (SceneManager.GetActiveScene().name == Scenes.EDITOR) { + UI_ReferenceHolder.LE_cellPanel.StartCoroutine(UI_ReferenceHolder.LE_cellPanel.MoveToAnchor(0.25f, 2)); + } } } diff --git a/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/UI_ReferenceHolder.cs b/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/UI_ReferenceHolder.cs index 54b805d..fb4bb4d 100644 --- a/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/UI_ReferenceHolder.cs +++ b/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/UI_ReferenceHolder.cs @@ -136,7 +136,7 @@ private void SceneManager_activeSceneChanged(Scene oldS, Scene newS) { } case Scenes.DEBUG: { // DebugScene MULTI_menuPanel = GameObject.Find("Canvas").transform.Find("MenuPanel").gameObject; - MULTI_upgradePanel = GameObject.Find("CanvasCamera").transform.Find("Upgrade_Panel").GetComponent(); + MULTI_upgradePanel = GameObject.Find("CanvasCamera").transform.Find("UPGRADE_Panel").GetComponent(); return; } case Scenes.POSTG: { // PostGame Scene From d495107fe7bd4bd4bc1624e5d6c563d6979602fd Mon Sep 17 00:00:00 2001 From: Michal-MK Date: Mon, 2 Oct 2017 18:46:51 +0200 Subject: [PATCH 02/25] Changed .gitignore .vs folder is now ignored. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index f1fd712..061139e 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ /Dots-RTS-Development/Assets/BulkRename # Autogenerated VS/MD solution and project files +*.vs ExportedObj/ *.csproj *.unityproj From 63b44e77a119493f296df2c8a516999f8b517f53 Mon Sep 17 00:00:00 2001 From: Michal-MK Date: Mon, 2 Oct 2017 20:17:45 +0200 Subject: [PATCH 03/25] Moved project to 2017.1.1f1 File changes in due to Unity update. --- Dots-RTS-Development/Assets/BulkRename.meta | 9 +++++++++ Dots-RTS-Development/Assets/StreamingAssets.meta | 4 ++-- Dots-RTS-Development/Assets/TextMesh Pro.meta | 4 ++-- Dots-RTS-Development/ProjectSettings/ProjectVersion.txt | 2 +- 4 files changed, 14 insertions(+), 5 deletions(-) create mode 100644 Dots-RTS-Development/Assets/BulkRename.meta diff --git a/Dots-RTS-Development/Assets/BulkRename.meta b/Dots-RTS-Development/Assets/BulkRename.meta new file mode 100644 index 0000000..ccdb37b --- /dev/null +++ b/Dots-RTS-Development/Assets/BulkRename.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 15eedef553a4a5c4c9ac76d8104e5807 +folderAsset: yes +timeCreated: 1506764672 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/StreamingAssets.meta b/Dots-RTS-Development/Assets/StreamingAssets.meta index 4f9bb00..1a488e6 100644 --- a/Dots-RTS-Development/Assets/StreamingAssets.meta +++ b/Dots-RTS-Development/Assets/StreamingAssets.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: c29f1bc38ebb0d24eba9b03d34055efb +guid: 626a0540df7dbf24384e6dd59257a795 folderAsset: yes -timeCreated: 1499182666 +timeCreated: 1506764672 licenseType: Free DefaultImporter: userData: diff --git a/Dots-RTS-Development/Assets/TextMesh Pro.meta b/Dots-RTS-Development/Assets/TextMesh Pro.meta index 0f5e24b..7833720 100644 --- a/Dots-RTS-Development/Assets/TextMesh Pro.meta +++ b/Dots-RTS-Development/Assets/TextMesh Pro.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 67905def6975d7242929087f67196eac +guid: 182af6e1764a5dc43b7a2f4c1d01773f folderAsset: yes -timeCreated: 1501758258 +timeCreated: 1506764568 licenseType: Free DefaultImporter: userData: diff --git a/Dots-RTS-Development/ProjectSettings/ProjectVersion.txt b/Dots-RTS-Development/ProjectSettings/ProjectVersion.txt index c0a7b29..a211ccd 100644 --- a/Dots-RTS-Development/ProjectSettings/ProjectVersion.txt +++ b/Dots-RTS-Development/ProjectSettings/ProjectVersion.txt @@ -1 +1 @@ -m_EditorVersion: 2017.1.0p4 +m_EditorVersion: 2017.1.1f1 From ef74f0b122657ee65e5301cbd21cfa28296818dc Mon Sep 17 00:00:00 2001 From: Michal-MK Date: Mon, 2 Oct 2017 22:05:56 +0200 Subject: [PATCH 04/25] Enemy_AI Rework DataHolder now holds indexes instead of cells - saves extra looping to get a match, DataHolder is now valid only for the AI that it was created with. Removed old RemoveCell() function, better way of handling cell changes is on the way. Added some comments to obscure functions. --- .../Assets/Scenes/Level_Editor.unity | 28 +- .../Assets/Scripts/AI/Enemy_AI.cs | 482 ++++++++++-------- .../Scripts/Core Classes/Initialize_AI.cs | 2 +- .../Assets/Scripts/Debug/DebugButton.cs | 24 +- .../ProjectSettings/GraphicsSettings.asset | 1 - 5 files changed, 292 insertions(+), 245 deletions(-) diff --git a/Dots-RTS-Development/Assets/Scenes/Level_Editor.unity b/Dots-RTS-Development/Assets/Scenes/Level_Editor.unity index e2d2dfd..5f79f83 100644 --- a/Dots-RTS-Development/Assets/Scenes/Level_Editor.unity +++ b/Dots-RTS-Development/Assets/Scenes/Level_Editor.unity @@ -6595,8 +6595,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.75} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: -2.5} + m_SizeDelta: {x: -10, y: -5} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &700429520 MonoBehaviour: @@ -16758,38 +16758,38 @@ MonoBehaviour: m_OnEndEdit: m_PersistentCalls: m_Calls: [] - m_TypeName: TMPro.TMP_InputField+SubmitEvent, TextMeshPro-1.0.55.56.0b11, Version=0.0.0.0, - Culture=neutral, PublicKeyToken=null + m_TypeName: TMPro.TMP_InputField+SubmitEvent, TextMeshPro-1.0.55.2017.1.0b12, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null m_OnSubmit: m_PersistentCalls: m_Calls: [] - m_TypeName: TMPro.TMP_InputField+SubmitEvent, TextMeshPro-1.0.55.56.0b11, Version=0.0.0.0, - Culture=neutral, PublicKeyToken=null + m_TypeName: TMPro.TMP_InputField+SubmitEvent, TextMeshPro-1.0.55.2017.1.0b12, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null m_OnSelect: m_PersistentCalls: m_Calls: [] - m_TypeName: TMPro.TMP_InputField+SelectionEvent, TextMeshPro-1.0.55.56.0b11, Version=0.0.0.0, - Culture=neutral, PublicKeyToken=null + m_TypeName: TMPro.TMP_InputField+SelectionEvent, TextMeshPro-1.0.55.2017.1.0b12, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null m_OnDeselect: m_PersistentCalls: m_Calls: [] - m_TypeName: TMPro.TMP_InputField+SelectionEvent, TextMeshPro-1.0.55.56.0b11, Version=0.0.0.0, - Culture=neutral, PublicKeyToken=null + m_TypeName: TMPro.TMP_InputField+SelectionEvent, TextMeshPro-1.0.55.2017.1.0b12, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null m_OnTextSelection: m_PersistentCalls: m_Calls: [] - m_TypeName: TMPro.TMP_InputField+TextSelectionEvent, TextMeshPro-1.0.55.56.0b11, + m_TypeName: TMPro.TMP_InputField+TextSelectionEvent, TextMeshPro-1.0.55.2017.1.0b12, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null m_OnEndTextSelection: m_PersistentCalls: m_Calls: [] - m_TypeName: TMPro.TMP_InputField+TextSelectionEvent, TextMeshPro-1.0.55.56.0b11, + m_TypeName: TMPro.TMP_InputField+TextSelectionEvent, TextMeshPro-1.0.55.2017.1.0b12, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null m_OnValueChanged: m_PersistentCalls: m_Calls: [] - m_TypeName: TMPro.TMP_InputField+OnChangeEvent, TextMeshPro-1.0.55.56.0b11, Version=0.0.0.0, - Culture=neutral, PublicKeyToken=null + m_TypeName: TMPro.TMP_InputField+OnChangeEvent, TextMeshPro-1.0.55.2017.1.0b12, + Version=0.0.0.0, Culture=neutral, PublicKeyToken=null m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} m_CustomCaretColor: 0 m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs index 1da9697..3899588 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -1,5 +1,3 @@ -using System; -using System.Collections; using System.Collections.Generic; using UnityEngine; @@ -14,8 +12,6 @@ public class Enemy_AI : MonoBehaviour { public Cell.enmTeam aiTeam; - - private enum Decision { EXPAND, ATTACK, HELP }; public List _targets = new List(); //Cells this AI will attack @@ -23,7 +19,7 @@ private enum Decision { EXPAND, ATTACK, HELP }; public List _neutrals = new List(); //Neutral cells in the scene public List _allies = new List(); //Cells this AI will not attack - public List alliesOfThisAI = new List(); + protected List alliesOfThisAI = new List(); protected CellBehaviour selectedAiCell; //Selected AI cell that will prefrom the action. protected CellBehaviour selectedTargetCell; //Selected target that can be attacked @@ -35,17 +31,19 @@ private enum Decision { EXPAND, ATTACK, HELP }; protected float defendChoiceProbability = 0; private string s = ""; - + //Event subscribers / unsubscribers private void OnEnable() { - CellBehaviour.TeamChanged += RemoveCell; + //CellBehaviour.TeamChanged += RemoveCell; } private void OnDisable() { - CellBehaviour.TeamChanged -= RemoveCell; + //CellBehaviour.TeamChanged -= RemoveCell; } //Sort cells on screen to lists by their team protected virtual void Start() { + CellBehaviour.TeamChanged += CellBehaviour_TeamChanged; + for (int i = 0; i < PlayManager.cells.Count; i++) { CellBehaviour current = PlayManager.cells[i]; @@ -65,6 +63,21 @@ protected virtual void Start() { print("AI " + getCurrentAiTeam + " Initialized!"); } + protected virtual void OnDestroy() { + CellBehaviour.TeamChanged -= CellBehaviour_TeamChanged; + } + + private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previous, Cell.enmTeam current) { + if (isActive) { + Enemy_AI prevAI = (Enemy_AI)previous; + DataHolder dataPrevAI = new DataHolder(prevAI, sender); + Enemy_AI currAI = (Enemy_AI)current; + DataHolder dataCurrAI = new DataHolder(currAI, sender); + + + } + } + //Update this AI's allies and targets private void ConsiderAllies() { @@ -90,223 +103,218 @@ private void ConsiderAllies() { } } - //Accepts a cell, the algorythm searches for that cell in every AI and saves it in a data holder + /// + /// Accepts a cell, returns location of that cell in every AI present. + /// + /// Cell to use in the aglorythm + /// private List GetCellInstances(CellBehaviour referenceCell) { List AIs_Cells = new List(); for (int i = 0; i < Initialize_AI.AIs.Length; i++) { if (Initialize_AI.AIs[i] != null) { Enemy_AI currentAI = Initialize_AI.AIs[i]; - DataHolder d = new DataHolder { AI = currentAI }; - AIs_Cells.Add(d); - - for (int j = 0; j < currentAI._aiCells.Count; j++) { - if (referenceCell == currentAI._aiCells[j]) { - d.cells[0] = referenceCell; - } - } - for (int j = 0; j < currentAI._targets.Count; j++) { - if (referenceCell == currentAI._targets[j]) { - d.cells[1] = referenceCell; - } - } - for (int j = 0; j < currentAI._allies.Count; j++) { - if (referenceCell == currentAI._allies[j]) { - d.cells[2] = referenceCell; - } - } - for (int j = 0; j < currentAI._neutrals.Count; j++) { - if (referenceCell == currentAI._neutrals[j]) { - d.cells[3] = referenceCell; - } - } + DataHolder data = new DataHolder(currentAI, referenceCell); + AIs_Cells.Add(data); } } return AIs_Cells; } - //Triggered when a cell changs team - private void RemoveCell(CellBehaviour sender, Cell.enmTeam cellTeam, Cell.enmTeam elementTeam) { - - List data = GetCellInstances(sender); - #region DataDebugging - //print(data.Count); - //for (int i = 0; i < data.Count; i++) { - // print("AI name: " + data[i].AI.name); - // if (data[i].AI._aiTeam == _aiTeam) { - // print("The Data this Ai cell should see: "); - // for (int j = 0; j < data[i].cells.Length; j++) { - // switch (j) { - // case 0: { - // if (data[i].cells[j] != null) { - // print("This cell is a cell of this AI " + data[i].cells[j].gameObject.name); - // } - // else { - // print("No Data found for this AIs aiCell"); - // } - // break; - // } - // case 1: { - // if (data[i].cells[j] != null) { - // print("This cell is a target of this AI " + data[i].cells[j].gameObject.name); - // } - // else { - // print("No Data found for this AIs target"); - // } - // break; - // } - // case 2: { - // if (data[i].cells[j] != null) { - // print("This cell is an ally of this AI " + data[i].cells[j].gameObject.name); - // } - // else { - // print("No Data found for this AIs ally"); - // } - // break; - // } - // case 3: { - // if (data[i].cells[j] != null) { - // print("This cell is a neutral cell of this AI " + data[i].cells[j].gameObject.name); - // } - // else { - // print("No Data found for this AIs neutal"); - // } - // break; - // } - // } - // } - // } - //} - #endregion - - //Loop through all AIs and determine what to do with the removed cell in reference to the current AI - //Each cell is loacted somewhere in every AI structure, be it Cell of the AI, its target, its ally, or a neutral cell. - //If the cell does't exist in the AI then something went wrong. - - foreach (DataHolder instance in data) { - if (instance.AI == this) { - List aiCells = new List(instance.AI._aiCells); - foreach (CellBehaviour c in aiCells) { - for (int i = 0; i < instance.cells.Length; i++) { - if (instance.cells[i] != null) { - if (c == instance.cells[i]) { - //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its AICELLS"); - if (elementTeam != aiTeam) { - if (_aiCells.Contains(sender)) { - _aiCells.Remove(sender); - } - if (!_targets.Contains(sender)) { - _targets.Add(sender); - } - } - } - } - } - } - List targets = new List(instance.AI._targets); - foreach (CellBehaviour c in targets) { - for (int i = 0; i < instance.cells.Length; i++) { - if (instance.cells[i] != null) { - if (c == instance.cells[i]) { - //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its TRAGETS"); - if (elementTeam == aiTeam) { - if (!_aiCells.Contains(sender)) { - _aiCells.Add(sender); - } - if (_targets.Contains(sender)) { - _targets.Remove(sender); - } - } - else { - foreach (Enemy_AI ai in instance.AI.alliesOfThisAI) { - if (elementTeam == ai.aiTeam) { - //print("Adding Ally because " + ai.name + " overtook " + c.name + " and " + this.gameObject.name + " is his ally"); - if (!_allies.Contains(sender)) { - _allies.Add(sender); - } - if (_targets.Contains(sender)) { - _targets.Remove(sender); - } - } - } - } - } - } - } - } - List allies = new List(instance.AI._allies); - foreach (CellBehaviour c in allies) { - for (int i = 0; i < instance.cells.Length; i++) { - if (instance.cells[i] != null) { - if (c == instance.cells[i]) { - //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its ALLIES"); - if (elementTeam == aiTeam) { - if (!_allies.Contains(sender)) { - _allies.Remove(sender); - } - if (!_aiCells.Contains(sender)) { - _aiCells.Add(sender); - } - } - else { - bool isOvertakenByAlly = false; - foreach (Enemy_AI ai in instance.AI.alliesOfThisAI) { - if (elementTeam == ai.aiTeam) { - //print("Adding Ally because " + ai.name + " overtook " + c.name + " and " + this.gameObject.name + " is his ally"); - if (!_allies.Contains(sender)) { - _allies.Add(sender); - } - isOvertakenByAlly = true; - } - } - if (!isOvertakenByAlly) { - if (!_targets.Contains(sender)) { - _targets.Add(sender); - } - if (_allies.Contains(sender)) { - _allies.Remove(sender); - } - } - } - } - } - } - } - List neutralCells = new List(instance.AI._neutrals); - foreach (CellBehaviour c in neutralCells) { - for (int i = 0; i < instance.cells.Length; i++) { - if (instance.cells[i] != null) { - if (c == instance.cells[i]) { - //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its NEUTRALS"); - _neutrals.Remove(sender); - - if (elementTeam == aiTeam) { - _aiCells.Add(sender); - } - else { - bool willBeAlly = false; - foreach (Enemy_AI ai in instance.AI.alliesOfThisAI) { - if (elementTeam == ai.aiTeam) { - //print("Adding Ally because " + ai.name + " overtook " + c.name + " and " + this.gameObject.name + " is his ally"); - if (!_allies.Contains(sender)) { - _allies.Add(sender); - } - willBeAlly = true; - } - } - if (!willBeAlly) { - if (!_targets.Contains(sender)) { - _targets.Add(sender); - } - } - } - } - } - } - } - } - } + /// + /// + /// + /// The cell to look for. + /// The AI to look in. + /// + private DataHolder GetCellInstances(CellBehaviour referenceCell, Enemy_AI ai) { + DataHolder data = new DataHolder(ai, referenceCell); + return data; } + //Triggered when a cell chanegs team + //private void RemoveCell(CellBehaviour sender, Cell.enmTeam cellTeam, Cell.enmTeam elementTeam) { + + // List data = GetCellInstances(sender); + // #region DataDebugging + // //print(data.Count); + // //for (int i = 0; i < data.Count; i++) { + // // print("AI name: " + data[i].AI.name); + // // if (data[i].AI._aiTeam == _aiTeam) { + // // print("The Data this Ai cell should see: "); + // // for (int j = 0; j < data[i].cells.Length; j++) { + // // switch (j) { + // // case 0: { + // // if (data[i].cells[j] != null) { + // // print("This cell is a cell of this AI " + data[i].cells[j].gameObject.name); + // // } + // // else { + // // print("No Data found for this AIs aiCell"); + // // } + // // break; + // // } + // // case 1: { + // // if (data[i].cells[j] != null) { + // // print("This cell is a target of this AI " + data[i].cells[j].gameObject.name); + // // } + // // else { + // // print("No Data found for this AIs target"); + // // } + // // break; + // // } + // // case 2: { + // // if (data[i].cells[j] != null) { + // // print("This cell is an ally of this AI " + data[i].cells[j].gameObject.name); + // // } + // // else { + // // print("No Data found for this AIs ally"); + // // } + // // break; + // // } + // // case 3: { + // // if (data[i].cells[j] != null) { + // // print("This cell is a neutral cell of this AI " + data[i].cells[j].gameObject.name); + // // } + // // else { + // // print("No Data found for this AIs neutal"); + // // } + // // break; + // // } + // // } + // // } + // // } + // //} + // #endregion + + // //Loop through all AIs and determine what to do with the removed cell in reference to the current AI + // //Each cell is loacted somewhere in every AI structure, be it Cell of the AI, its target, its ally, or a neutral cell. + // //If the cell does't exist in the AI then something went wrong. + + // foreach (DataHolder instance in data) { + // if (instance.AI == this) { + // List aiCells = new List(instance.AI._aiCells); + // foreach (CellBehaviour c in aiCells) { + // for (int i = 0; i < instance.cells.Length; i++) { + // if (instance.cells[i] != null) { + // if (c == instance.cells[i]) { + // //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its AICELLS"); + // if (elementTeam != getCurrentAiTeam) { + // if (_aiCells.Contains(sender)) { + // _aiCells.Remove(sender); + // } + // if (!_targets.Contains(sender)) { + // _targets.Add(sender); + // } + // } + // } + // } + // } + // } + // List targets = new List(instance.AI._targets); + // foreach (CellBehaviour c in targets) { + // for (int i = 0; i < instance.cells.Length; i++) { + // if (instance.cells[i] != null) { + // if (c == instance.cells[i]) { + // //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its TRAGETS"); + // if (elementTeam == getCurrentAiTeam) { + // if (!_aiCells.Contains(sender)) { + // _aiCells.Add(sender); + // } + // if (_targets.Contains(sender)) { + // _targets.Remove(sender); + // } + // } + // else { + // foreach (Enemy_AI ai in instance.AI.alliesOfThisAI) { + // if (elementTeam == ai.getCurrentAiTeam) { + // //print("Adding Ally because " + ai.name + " overtook " + c.name + " and " + this.gameObject.name + " is his ally"); + // if (!_allies.Contains(sender)) { + // _allies.Add(sender); + // } + // if (_targets.Contains(sender)) { + // _targets.Remove(sender); + // } + // } + // } + // } + // } + // } + // } + // } + // List allies = new List(instance.AI._allies); + // foreach (CellBehaviour c in allies) { + // for (int i = 0; i < instance.cells.Length; i++) { + // if (instance.cells[i] != null) { + // if (c == instance.cells[i]) { + // //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its ALLIES"); + // if (elementTeam == getCurrentAiTeam) { + // if (!_allies.Contains(sender)) { + // _allies.Remove(sender); + // } + // if (!_aiCells.Contains(sender)) { + // _aiCells.Add(sender); + // } + // } + // else { + // bool isOvertakenByAlly = false; + // foreach (Enemy_AI ai in instance.AI.alliesOfThisAI) { + // if (elementTeam == ai.getCurrentAiTeam) { + // //print("Adding Ally because " + ai.name + " overtook " + c.name + " and " + this.gameObject.name + " is his ally"); + // if (!_allies.Contains(sender)) { + // _allies.Add(sender); + // } + // isOvertakenByAlly = true; + // } + // } + // if (!isOvertakenByAlly) { + // if (!_targets.Contains(sender)) { + // _targets.Add(sender); + // } + // if (_allies.Contains(sender)) { + // _allies.Remove(sender); + // } + // } + // } + // } + // } + // } + // } + // List neutralCells = new List(instance.AI._neutrals); + // foreach (CellBehaviour c in neutralCells) { + // for (int i = 0; i < instance.cells.Length; i++) { + // if (instance.cells[i] != null) { + // if (c == instance.cells[i]) { + // //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its NEUTRALS"); + // _neutrals.Remove(sender); + + // if (elementTeam == getCurrentAiTeam) { + // _aiCells.Add(sender); + // } + // else { + // bool willBeAlly = false; + // foreach (Enemy_AI ai in instance.AI.alliesOfThisAI) { + // if (elementTeam == ai.getCurrentAiTeam) { + // //print("Adding Ally because " + ai.name + " overtook " + c.name + " and " + this.gameObject.name + " is his ally"); + // if (!_allies.Contains(sender)) { + // _allies.Add(sender); + // } + // willBeAlly = true; + // } + // } + // if (!willBeAlly) { + // if (!_targets.Contains(sender)) { + // _targets.Add(sender); + // } + // } + // } + // } + // } + // } + // } + // } + // } + //} + + public CellBehaviour AiCellSelector() { int elementRecordAI = -1; int recordIndex = -1; @@ -355,7 +363,7 @@ public CellBehaviour AiCellSelector() { } } else { - s += "NO cell (highest "+ elementRecordAI +") above " + aICellSelectElementTreshold + " treshold | "; + s += "NO cell (highest " + elementRecordAI + ") above " + aICellSelectElementTreshold + " treshold | "; return null; } } @@ -472,7 +480,7 @@ public CellBehaviour AiAidSelector() { } // 40% return the best cell you found if (UnityEngine.Random.Range(0, 10) < 4) { - if(Mathf.Abs(selectedAiCell.elementCount - _aiCells[recordIndex].elementCount) > aICellAidElementTreshold) { + if (Mathf.Abs(selectedAiCell.elementCount - _aiCells[recordIndex].elementCount) > aICellAidElementTreshold) { defendChoiceProbability = 0.6f; } else { @@ -494,16 +502,56 @@ public Cell.enmTeam getCurrentAiTeam { get { return aiTeam; } private set { aiTeam = value; } } + + public void AddAlly(Enemy_AI ai) { + alliesOfThisAI.Add(ai); + } + + public static explicit operator Enemy_AI(Cell.enmTeam team) { + return Initialize_AI.AIs[(int)team - 2]; + } + } public class DataHolder { /// /// The AI for which this configuration is valid /// - public Enemy_AI AI; + private Enemy_AI _ai; /// /// Instances in this AI --> [0] = AI, [1] = target, [2] = ally, [3] = neutral /// - public CellBehaviour[] cells = new CellBehaviour[4] { null, null, null, null }; + private int[] cellIndexes = new int[4] { -1, -1, -1, -1 }; + public DataHolder(Enemy_AI AI, CellBehaviour cell) { + _ai = AI; + + for (int i = 0; i < AI._aiCells.Count; i++) { + if(AI._aiCells[i] == cell) { + cellIndexes[0] = i; + } + } + for (int i = 0; i < AI._targets.Count; i++) { + if (AI._targets[i] == cell) { + cellIndexes[1] = i; + } + } + for (int i = 0; i < AI._allies.Count; i++) { + if (AI._allies[i] == cell) { + cellIndexes[2] = i; + } + } + for (int i = 0; i < AI._neutrals.Count; i++) { + if (AI._neutrals[i] == cell) { + cellIndexes[3] = i; + } + } + } + public Enemy_AI getAI { + get { return _ai; } + } + + public int[] getCellIndexes { + get { return cellIndexes; } + } } \ No newline at end of file diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs index f4e62f2..284ca34 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs @@ -65,7 +65,7 @@ public void StartAiInitialization(Dictionary clanDict) List allies = temp.allies; foreach (int team in allies) { - AIs[(int)j - 2].alliesOfThisAI.Add(AIs[team - 2]); + AIs[(int)j - 2].AddAlly(AIs[team - 2]); } } diff --git a/Dots-RTS-Development/Assets/Scripts/Debug/DebugButton.cs b/Dots-RTS-Development/Assets/Scripts/Debug/DebugButton.cs index ceff1f0..6847c60 100644 --- a/Dots-RTS-Development/Assets/Scripts/Debug/DebugButton.cs +++ b/Dots-RTS-Development/Assets/Scripts/Debug/DebugButton.cs @@ -5,18 +5,18 @@ public class DebugButton : MonoBehaviour { public Enemy_AI aiScript; public void ListMembers() { - print("Targets-----------------------------------------"); - for (int i = 0; i < aiScript._targets.Count; i++) { - print(aiScript._targets[i].gameObject.name); - } - print("AI-----------------------------------------"); - for (int i = 0; i < aiScript._aiCells.Count; i++) { - print(aiScript._aiCells[i].gameObject.name); - } - print("Neutrals-----------------------------------------"); - for (int i = 0; i < aiScript._neutrals.Count; i++) { - print(aiScript._neutrals[i].gameObject.name); - } + //print("Targets-----------------------------------------"); + //for (int i = 0; i < aiScript._targets.Count; i++) { + // print(aiScript._targets[i].gameObject.name); + //} + //print("AI-----------------------------------------"); + //for (int i = 0; i < aiScript._aiCells.Count; i++) { + // print(aiScript._aiCells[i].gameObject.name); + //} + //print("Neutrals-----------------------------------------"); + //for (int i = 0; i < aiScript._neutrals.Count; i++) { + // print(aiScript._neutrals[i].gameObject.name); + //} } public void ListUpgradesOnUI() { diff --git a/Dots-RTS-Development/ProjectSettings/GraphicsSettings.asset b/Dots-RTS-Development/ProjectSettings/GraphicsSettings.asset index 40ff158..d74737e 100644 --- a/Dots-RTS-Development/ProjectSettings/GraphicsSettings.asset +++ b/Dots-RTS-Development/ProjectSettings/GraphicsSettings.asset @@ -36,7 +36,6 @@ GraphicsSettings: - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 16002, guid: 0000000000000000f000000000000000, type: 0} m_PreloadedShaders: [] m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} From 68d7f0f357e38835ad09e7ae085ad7ab6788d534 Mon Sep 17 00:00:00 2001 From: Michal-MK Date: Wed, 4 Oct 2017 13:21:51 +0200 Subject: [PATCH 05/25] Enemy_AI rewrite Cell.enmTeam can now be casted into an AI --> fetching AIs from AIs list in InitializeAI GetCellInstances can now operate more efficienty if provided with an AI to look into. Generated getters for allies and newly targets Added targetsOfThisAI as a new list to stand against allies. Simplified AI Init code. Renamed AllyHolder to AIHolder since it now holds targets aswell. --- .../Assets/Scripts/AI/Enemy_AI.cs | 354 +++++++----------- .../Scripts/Core Classes/Initialize_AI.cs | 103 +++-- .../Assets/Scripts/Core Classes/SaveData.cs | 2 +- .../Scripts/LevelEditor/SaveAndLoadEditor.cs | 2 +- .../Assets/Scripts/LevelEditor/TeamSetup.cs | 49 +-- 5 files changed, 210 insertions(+), 300 deletions(-) diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs index 3899588..675d331 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using UnityEngine; @@ -20,6 +21,7 @@ private enum Decision { EXPAND, ATTACK, HELP }; public List _allies = new List(); //Cells this AI will not attack protected List alliesOfThisAI = new List(); + protected List targetsOfThisAI = new List(); protected CellBehaviour selectedAiCell; //Selected AI cell that will prefrom the action. protected CellBehaviour selectedTargetCell; //Selected target that can be attacked @@ -69,29 +71,97 @@ protected virtual void OnDestroy() { private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previous, Cell.enmTeam current) { if (isActive) { - Enemy_AI prevAI = (Enemy_AI)previous; - DataHolder dataPrevAI = new DataHolder(prevAI, sender); - Enemy_AI currAI = (Enemy_AI)current; - DataHolder dataCurrAI = new DataHolder(currAI, sender); - + if ((int)current >= 2 && (int)previous >= 2) { + Enemy_AI prevAI = (Enemy_AI)previous; + DataHolder dataPrevAI = new DataHolder(prevAI, sender); + Enemy_AI currAI = (Enemy_AI)current; + DataHolder dataCurrAI = new DataHolder(currAI, sender); + + for (int i = 0; i < dataPrevAI.getCellIndexes.Length; i++) { + if (dataPrevAI.getCellIndexes[i] != -1) { + switch (i) { + case 0: { + prevAI._aiCells.RemoveAt(dataPrevAI.getCellIndexes[i]); + break; + } + case 1: { + prevAI._targets.RemoveAt(dataPrevAI.getCellIndexes[i]); + break; + } + case 2: { + prevAI._allies.RemoveAt(dataPrevAI.getCellIndexes[i]); + break; + } + case 3: { + prevAI._neutrals.RemoveAt(dataPrevAI.getCellIndexes[i]); + break; + } + } + } + } + //Here, sender stops existing for every enemy... time to readd it. + switch ((int)current) { + case 0: { //Neutral + Debug.LogError("Cell joining Neutral team."); + break; + } + case 1: { //Player + currAI._targets.Add(sender); + print("Implement this for Player and Enemy teams"); + break; + } + default: { //Any Enemy + if(getCurrentAiTeam == current) { + _aiCells.Add(sender); + return; + } + else { + for (int i = 0; i < currAI.alliesOfThisAI.Count; i++) { + currAI.alliesOfThisAI[i]._allies.Add(sender); + } + for (int i = 0; i < prevAI.alliesOfThisAI.Count; i++) { + prevAI.alliesOfThisAI[i]._targets.Add(sender); + } + } + break; + } + } + UpdateAlliesInAI(sender, current); + } + else { + //Cell is not controlled by an Enemy --> it can't be in aiCells nor _allies + + } + } + else { + CellBehaviour.TeamChanged -= CellBehaviour_TeamChanged; + } + } + private void UpdateAlliesInAI(CellBehaviour sender, Cell.enmTeam current) { + List allyCells = new List(); + Enemy_AI curr = (Enemy_AI)current; + for (int i = 0; i < curr.alliesOfThisAI.Count; i++) { + allyCells.AddRange(curr.alliesOfThisAI[i]._aiCells); } + print(allyCells.Count + " cells in allyList for " + gameObject.name); + } //Update this AI's allies and targets - private void ConsiderAllies() { + private void ConsiderAllies() { //Needs revalidtion / rewrite //Loop through all allied Enemy_AIs - for (int j = 0; j < alliesOfThisAI.Count; j++) { - Enemy_AI currentAI = alliesOfThisAI[j]; //print("My ally has " + alliesOfThisAI[j]._aiCells.Count + " cells. " + gameObject.name); + for (int j = 0; j < getAllies.Count; j++) { + Enemy_AI currentAlly = getAllies[j]; //print("My ally has " + alliesOfThisAI[j]._aiCells.Count + " cells. " + gameObject.name); //Loop though all aiCells of the allied Enemy_AI - for (int k = 0; k < alliesOfThisAI[j]._aiCells.Count; k++) { - CellBehaviour currentCellOfTheAlliedAI = alliesOfThisAI[j]._aiCells[k]; //print(currentAlliedCellOfTheAlliedAI.gameObject.name); + for (int k = 0; k < currentAlly._aiCells.Count; k++) { + CellBehaviour currentCellOfTheAlliedAI = currentAlly._aiCells[k]; //print(currentAlliedCellOfTheAlliedAI.gameObject.name); //Loop though all the targets of this AI - for (int l = 0; l < _targets.Count; l++) { - CellBehaviour myTarget = _targets[l]; //print("Comparing " + currentAlliedCellOfTheAlliedAI + " to " + current + "ENEMY 2"); + for (int l = 0; l < this._targets.Count; l++) { + CellBehaviour myTarget = this._targets[l]; //print("Comparing " + currentAlliedCellOfTheAlliedAI + " to " + current + "ENEMY 2"); //If aiCell of the other AI and target of this AI are the same cell do Stuff if (currentCellOfTheAlliedAI == myTarget) { @@ -103,218 +173,6 @@ private void ConsiderAllies() { } } - /// - /// Accepts a cell, returns location of that cell in every AI present. - /// - /// Cell to use in the aglorythm - /// - private List GetCellInstances(CellBehaviour referenceCell) { - List AIs_Cells = new List(); - for (int i = 0; i < Initialize_AI.AIs.Length; i++) { - if (Initialize_AI.AIs[i] != null) { - Enemy_AI currentAI = Initialize_AI.AIs[i]; - DataHolder data = new DataHolder(currentAI, referenceCell); - AIs_Cells.Add(data); - } - } - return AIs_Cells; - } - - /// - /// - /// - /// The cell to look for. - /// The AI to look in. - /// - private DataHolder GetCellInstances(CellBehaviour referenceCell, Enemy_AI ai) { - DataHolder data = new DataHolder(ai, referenceCell); - return data; - } - - //Triggered when a cell chanegs team - //private void RemoveCell(CellBehaviour sender, Cell.enmTeam cellTeam, Cell.enmTeam elementTeam) { - - // List data = GetCellInstances(sender); - // #region DataDebugging - // //print(data.Count); - // //for (int i = 0; i < data.Count; i++) { - // // print("AI name: " + data[i].AI.name); - // // if (data[i].AI._aiTeam == _aiTeam) { - // // print("The Data this Ai cell should see: "); - // // for (int j = 0; j < data[i].cells.Length; j++) { - // // switch (j) { - // // case 0: { - // // if (data[i].cells[j] != null) { - // // print("This cell is a cell of this AI " + data[i].cells[j].gameObject.name); - // // } - // // else { - // // print("No Data found for this AIs aiCell"); - // // } - // // break; - // // } - // // case 1: { - // // if (data[i].cells[j] != null) { - // // print("This cell is a target of this AI " + data[i].cells[j].gameObject.name); - // // } - // // else { - // // print("No Data found for this AIs target"); - // // } - // // break; - // // } - // // case 2: { - // // if (data[i].cells[j] != null) { - // // print("This cell is an ally of this AI " + data[i].cells[j].gameObject.name); - // // } - // // else { - // // print("No Data found for this AIs ally"); - // // } - // // break; - // // } - // // case 3: { - // // if (data[i].cells[j] != null) { - // // print("This cell is a neutral cell of this AI " + data[i].cells[j].gameObject.name); - // // } - // // else { - // // print("No Data found for this AIs neutal"); - // // } - // // break; - // // } - // // } - // // } - // // } - // //} - // #endregion - - // //Loop through all AIs and determine what to do with the removed cell in reference to the current AI - // //Each cell is loacted somewhere in every AI structure, be it Cell of the AI, its target, its ally, or a neutral cell. - // //If the cell does't exist in the AI then something went wrong. - - // foreach (DataHolder instance in data) { - // if (instance.AI == this) { - // List aiCells = new List(instance.AI._aiCells); - // foreach (CellBehaviour c in aiCells) { - // for (int i = 0; i < instance.cells.Length; i++) { - // if (instance.cells[i] != null) { - // if (c == instance.cells[i]) { - // //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its AICELLS"); - // if (elementTeam != getCurrentAiTeam) { - // if (_aiCells.Contains(sender)) { - // _aiCells.Remove(sender); - // } - // if (!_targets.Contains(sender)) { - // _targets.Add(sender); - // } - // } - // } - // } - // } - // } - // List targets = new List(instance.AI._targets); - // foreach (CellBehaviour c in targets) { - // for (int i = 0; i < instance.cells.Length; i++) { - // if (instance.cells[i] != null) { - // if (c == instance.cells[i]) { - // //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its TRAGETS"); - // if (elementTeam == getCurrentAiTeam) { - // if (!_aiCells.Contains(sender)) { - // _aiCells.Add(sender); - // } - // if (_targets.Contains(sender)) { - // _targets.Remove(sender); - // } - // } - // else { - // foreach (Enemy_AI ai in instance.AI.alliesOfThisAI) { - // if (elementTeam == ai.getCurrentAiTeam) { - // //print("Adding Ally because " + ai.name + " overtook " + c.name + " and " + this.gameObject.name + " is his ally"); - // if (!_allies.Contains(sender)) { - // _allies.Add(sender); - // } - // if (_targets.Contains(sender)) { - // _targets.Remove(sender); - // } - // } - // } - // } - // } - // } - // } - // } - // List allies = new List(instance.AI._allies); - // foreach (CellBehaviour c in allies) { - // for (int i = 0; i < instance.cells.Length; i++) { - // if (instance.cells[i] != null) { - // if (c == instance.cells[i]) { - // //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its ALLIES"); - // if (elementTeam == getCurrentAiTeam) { - // if (!_allies.Contains(sender)) { - // _allies.Remove(sender); - // } - // if (!_aiCells.Contains(sender)) { - // _aiCells.Add(sender); - // } - // } - // else { - // bool isOvertakenByAlly = false; - // foreach (Enemy_AI ai in instance.AI.alliesOfThisAI) { - // if (elementTeam == ai.getCurrentAiTeam) { - // //print("Adding Ally because " + ai.name + " overtook " + c.name + " and " + this.gameObject.name + " is his ally"); - // if (!_allies.Contains(sender)) { - // _allies.Add(sender); - // } - // isOvertakenByAlly = true; - // } - // } - // if (!isOvertakenByAlly) { - // if (!_targets.Contains(sender)) { - // _targets.Add(sender); - // } - // if (_allies.Contains(sender)) { - // _allies.Remove(sender); - // } - // } - // } - // } - // } - // } - // } - // List neutralCells = new List(instance.AI._neutrals); - // foreach (CellBehaviour c in neutralCells) { - // for (int i = 0; i < instance.cells.Length; i++) { - // if (instance.cells[i] != null) { - // if (c == instance.cells[i]) { - // //print("If we get here, that means" + this.gameObject.name + " has " + sender.name + " in its NEUTRALS"); - // _neutrals.Remove(sender); - - // if (elementTeam == getCurrentAiTeam) { - // _aiCells.Add(sender); - // } - // else { - // bool willBeAlly = false; - // foreach (Enemy_AI ai in instance.AI.alliesOfThisAI) { - // if (elementTeam == ai.getCurrentAiTeam) { - // //print("Adding Ally because " + ai.name + " overtook " + c.name + " and " + this.gameObject.name + " is his ally"); - // if (!_allies.Contains(sender)) { - // _allies.Add(sender); - // } - // willBeAlly = true; - // } - // } - // if (!willBeAlly) { - // if (!_targets.Contains(sender)) { - // _targets.Add(sender); - // } - // } - // } - // } - // } - // } - // } - // } - // } - //} - - public CellBehaviour AiCellSelector() { int elementRecordAI = -1; int recordIndex = -1; @@ -495,6 +353,34 @@ public CellBehaviour AiAidSelector() { } } + /// + /// Accepts a cell, returns location of that cell in every AI present. + /// + /// Cell to use in the aglorythm + /// + private List GetCellInstances(CellBehaviour referenceCell) { + List AIs_Cells = new List(); + for (int i = 0; i < Initialize_AI.AIs.Length; i++) { + if (Initialize_AI.AIs[i] != null) { + Enemy_AI currentAI = Initialize_AI.AIs[i]; + DataHolder data = new DataHolder(currentAI, referenceCell); + AIs_Cells.Add(data); + } + } + return AIs_Cells; + } + + /// + /// Accepts a cell, return its location in the AI provided + /// + /// The cell to look for. + /// The AI to look in. + /// + private DataHolder GetCellInstances(CellBehaviour referenceCell, Enemy_AI ai) { + DataHolder data = new DataHolder(ai, referenceCell); + return data; + } + /// /// Get current AIs Team /// @@ -503,14 +389,30 @@ public Cell.enmTeam getCurrentAiTeam { private set { aiTeam = value; } } + /// + /// Get a list containing all allies of this AI + /// + public List getAllies { + get { return alliesOfThisAI; } + } + + /// + /// Get a list containing all targets of this AI + /// + public List getTargets { + get { return targetsOfThisAI; } + } + public void AddAlly(Enemy_AI ai) { alliesOfThisAI.Add(ai); } + public void AddTarget(Enemy_AI ai) { + targetsOfThisAI.Add(ai); + } public static explicit operator Enemy_AI(Cell.enmTeam team) { return Initialize_AI.AIs[(int)team - 2]; } - } public class DataHolder { @@ -527,7 +429,7 @@ public DataHolder(Enemy_AI AI, CellBehaviour cell) { _ai = AI; for (int i = 0; i < AI._aiCells.Count; i++) { - if(AI._aiCells[i] == cell) { + if (AI._aiCells[i] == cell) { cellIndexes[0] = i; } } diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs index 284ca34..546c0a7 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs @@ -10,65 +10,86 @@ public class Initialize_AI : MonoBehaviour { public static Enemy_AI[] AIs = new Enemy_AI[8]; private void Start() { - StartAiInitialization(new Dictionary()); + //Should be necessary only for older saves and Debug scene + if (UnityEngine.SceneManagement.SceneManager.GetActiveScene().name == UnityEngine.SceneManagement.Scenes.DEBUG) { + StartAiInitialization(new Dictionary()); + } } //Goes though all the cells and creates an AI for each team. - public void StartAiInitialization(Dictionary clanDict) { + public void StartAiInitialization(Dictionary clanDict) { foreach (Cell c in PlayManager.cells) { //If cell is enemy create ai for that enemy - Only once if ((int)c.cellTeam >= 2) { - //print((int)c.cellTeam + " " + c.gameObject.name); - switch ((int)c.cellTeam) { - case 2: { - SetAis(0, c.cellTeam); - break; - } - case 3: { - SetAis(1, c.cellTeam); - break; - } - case 4: { - SetAis(2, c.cellTeam); - break; - } - case 5: { - SetAis(3, c.cellTeam); - break; - } - case 6: { - SetAis(4, c.cellTeam); - break; - } - case 7: { - SetAis(5, c.cellTeam); - break; - } - case 8: { - SetAis(6, c.cellTeam); - break; - } - case 9: { - SetAis(7, c.cellTeam); - break; - } + SetAis((int)c.cellTeam - 2, c.cellTeam); - } + //print((int)c.cellTeam + " " + c.gameObject.name); + //switch ((int)c.cellTeam) { + // case 2: { + // SetAis(0, c.cellTeam); + // break; + // } + // case 3: { + // SetAis(1, c.cellTeam); + // break; + // } + // case 4: { + // SetAis(2, c.cellTeam); + // break; + // } + // case 5: { + // SetAis(3, c.cellTeam); + // break; + // } + // case 6: { + // SetAis(4, c.cellTeam); + // break; + // } + // case 7: { + // SetAis(5, c.cellTeam); + // break; + // } + // case 8: { + // SetAis(6, c.cellTeam); + // break; + // } + // case 9: { + // SetAis(7, c.cellTeam); + // break; + // } + //} } } - Dictionary.KeyCollection keys = clanDict.Keys; + Dictionary.KeyCollection keys = clanDict.Keys; foreach (Cell.enmTeam j in keys) { - AllyHolder temp; + AIHolder temp; clanDict.TryGetValue(j, out temp); List allies = temp.allies; + List targets = temp.targets; + - foreach (int team in allies) { - AIs[(int)j - 2].AddAlly(AIs[team - 2]); + foreach (Cell.enmTeam team in allies) { + AIs[(int)j - 2].AddAlly((Enemy_AI)team); + } + foreach (Cell.enmTeam team in targets) { + AIs[(int)j - 2].AddTarget((Enemy_AI)team); } } + /*Test + foreach(KeyValuePair kvp in clanDict) { + AIHolder temp = kvp.Value; + + foreach (Cell.enmTeam team in kvp.Value.allies) { + AIs[(int)kvp.Key - 2].AddAlly((Enemy_AI)team); + } + foreach(Cell.enmTeam team in kvp.Value.targets) { + AIs[(int)kvp.Key - 2].AddTarget((Enemy_AI)team); + } + } + */ } public void SetAis(int index, Cell.enmTeam team) { diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/SaveData.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/SaveData.cs index d648a1d..9536be7 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/SaveData.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/SaveData.cs @@ -9,7 +9,7 @@ public class SaveData { public Dictionary difficulty; public float gameSize; public float savedAtAspect; - public Dictionary clans; + public Dictionary clans; } diff --git a/Dots-RTS-Development/Assets/Scripts/LevelEditor/SaveAndLoadEditor.cs b/Dots-RTS-Development/Assets/Scripts/LevelEditor/SaveAndLoadEditor.cs index d7da340..895e6f3 100644 --- a/Dots-RTS-Development/Assets/Scripts/LevelEditor/SaveAndLoadEditor.cs +++ b/Dots-RTS-Development/Assets/Scripts/LevelEditor/SaveAndLoadEditor.cs @@ -139,7 +139,7 @@ public void Load(string path) { teams.clanDict = save.clans; } else { - teams.clanDict = new Dictionary(); + teams.clanDict = new Dictionary(); } file.Close(); diff --git a/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs b/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs index c361208..7b97377 100644 --- a/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs +++ b/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs @@ -13,16 +13,12 @@ public class TeamSetup : MonoBehaviour { private List teamBoxes = new List(); private List bgList = new List(); - public Dictionary clanDict = new Dictionary(); + public Dictionary clanDict = new Dictionary(); private float diffAngle; [HideInInspector] public float roundTableR; - - - - void OnEnable() { print(GameObject.Find("Canvas").GetComponent().scaleFactor); roundTableR = ((roundTable.rect.width * 0.5f)) - teamGOPrefab.GetComponent().sizeDelta.x; @@ -50,7 +46,7 @@ void OnEnable() { UpdateRoundTableVisuals(); //PASS - foreach (KeyValuePair item in clanDict) { + foreach (KeyValuePair item in clanDict) { print(item.Key + " " + item.Value); } @@ -89,14 +85,14 @@ public void TeamBoxPosChange(Vector2 pos, TeamBox teamBox) { public void RemoveFromClan(Cell.enmTeam firstTeam) { print("Removing a clan " + firstTeam); - Dictionary.KeyCollection keys = clanDict.Keys; + Dictionary.KeyCollection keys = clanDict.Keys; - Dictionary changes = new Dictionary(); + Dictionary changes = new Dictionary(); foreach (Cell.enmTeam j in keys) { print(j + " Key"); - AllyHolder alliesOfJ; + AIHolder alliesOfJ; clanDict.TryGetValue(j, out alliesOfJ); if (alliesOfJ.allies.Contains(firstTeam)) { alliesOfJ.allies.Remove(firstTeam); @@ -106,20 +102,9 @@ public void RemoveFromClan(Cell.enmTeam firstTeam) { } - //Dictionary.KeyCollection keysDebug = changes.Keys; - //foreach (Cell.enmTeam team in keysDebug) { - // AllyHolder holder = new AllyHolder(); - // clanDict.TryGetValue(team, out holder); - // string s = " "; - // foreach (Cell.enmTeam ally in holder.allies) { - // s += (ally + " "); - // } - // print("Change: " + team + " has allies" + s); - //} - - Dictionary.KeyCollection changesKeys = changes.Keys; + Dictionary.KeyCollection changesKeys = changes.Keys; foreach (Cell.enmTeam k in changesKeys) { - AllyHolder value; + AIHolder value; changes.TryGetValue(k, out value); clanDict.Remove(k); @@ -143,7 +128,7 @@ void CreateAClan(Cell.enmTeam firstTeam, Cell.enmTeam secondTeam) { } void BindTwo(Cell.enmTeam first, Cell.enmTeam second) { - AllyHolder tempAllies = new AllyHolder(); + AIHolder tempAllies = new AIHolder(); if (clanDict.ContainsKey(first)) { clanDict.TryGetValue(first, out tempAllies); @@ -162,7 +147,7 @@ void BindTwo(Cell.enmTeam first, Cell.enmTeam second) { } } - bool AlreadyIsInAllyHolder(AllyHolder list, Cell.enmTeam value) { + bool AlreadyIsInAllyHolder(AIHolder list, Cell.enmTeam value) { for (int i = 0; i < list.allies.Count; i++) { if (list.allies[i] == value) { return true; @@ -170,11 +155,12 @@ bool AlreadyIsInAllyHolder(AllyHolder list, Cell.enmTeam value) { } return false; } + void CheckAndAddOtherTeams(Cell.enmTeam firstTeam, Cell.enmTeam secondTeam) { - AllyHolder firstTeamFriends; + AIHolder firstTeamFriends; clanDict.TryGetValue(firstTeam, out firstTeamFriends); - AllyHolder secondTeamFriends; + AIHolder secondTeamFriends; clanDict.TryGetValue(secondTeam, out secondTeamFriends); List misses = new List(); @@ -210,9 +196,9 @@ static void DestroyAllInList(List list) { } public void UpdateRoundTableVisuals() { - Dictionary.KeyCollection keysDebug = clanDict.Keys; + Dictionary.KeyCollection keysDebug = clanDict.Keys; foreach (Cell.enmTeam team in keysDebug) { - AllyHolder holder = new AllyHolder(); + AIHolder holder = new AIHolder(); clanDict.TryGetValue(team, out holder); string s = " "; foreach (Cell.enmTeam ally in holder.allies) { @@ -225,10 +211,10 @@ public void UpdateRoundTableVisuals() { DestroyAllInList(bgList); List> actualClans = new List>(); - Dictionary.KeyCollection keys = clanDict.Keys; + Dictionary.KeyCollection keys = clanDict.Keys; foreach (Cell.enmTeam j in keys) { //print(j + " Key"); - AllyHolder value; + AIHolder value; clanDict.TryGetValue(j, out value); List clanJ = new List(value.allies); clanJ.Add(j); @@ -340,6 +326,7 @@ public int MySpawnsIndexFromAngle(float RawAngle) { } [System.Serializable] -public class AllyHolder { +public class AIHolder { public List allies = new List(); + public List targets = new List(); } \ No newline at end of file From a3d66188d346586363b1747b20f0e8abbb8868d5 Mon Sep 17 00:00:00 2001 From: Michal-MK Date: Wed, 4 Oct 2017 21:01:19 +0200 Subject: [PATCH 06/25] AI rework Semi implemented new way to sort cells on change. Added player script to hold player controlled cells for easier AI integration. Target lists are now used to determine cell sorting on change. but are always empty so the sorting fails. Scenario when AI overtakes neutral cell results in no cells being added as targets to Ais that register the AI that overtook the cell as an Enemy Others might appear with more testing. --- .../Assets/Prefabs/AI Initialization.prefab | 1 + .../Assets/Prefabs/Player.prefab | 54 ++++ .../Assets/Prefabs/Player.prefab.meta | 9 + .../Assets/Scenes/Level_Player.unity | 1 + .../Assets/Scenes/SplashScreen.unity | 6 +- .../Assets/Scripts/AI/AI_Behaviour.cs | 94 +++---- .../Assets/Scripts/AI/Enemy_AI.cs | 239 +++++++++++++----- .../Scripts/Core Classes/Initialize_AI.cs | 9 +- .../Assets/Scripts/Core Classes/Player.cs | 14 + .../Scripts/Core Classes/Player.cs.meta | 12 + 10 files changed, 326 insertions(+), 113 deletions(-) create mode 100644 Dots-RTS-Development/Assets/Prefabs/Player.prefab create mode 100644 Dots-RTS-Development/Assets/Prefabs/Player.prefab.meta create mode 100644 Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs create mode 100644 Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs.meta diff --git a/Dots-RTS-Development/Assets/Prefabs/AI Initialization.prefab b/Dots-RTS-Development/Assets/Prefabs/AI Initialization.prefab index 986dd2d..e6ece79 100644 --- a/Dots-RTS-Development/Assets/Prefabs/AI Initialization.prefab +++ b/Dots-RTS-Development/Assets/Prefabs/AI Initialization.prefab @@ -51,6 +51,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 44871dc4b679cee4391f74f4fe74ca3b, type: 3} m_Name: m_EditorClassIdentifier: + playerData: {fileID: 1121900551361786, guid: ab110c352f1dd804b9bc5f5066dce436, type: 2} initAIs: 0000000000000000 aiTeams: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff decisionSpeeds: diff --git a/Dots-RTS-Development/Assets/Prefabs/Player.prefab b/Dots-RTS-Development/Assets/Prefabs/Player.prefab new file mode 100644 index 0000000..2a603f4 --- /dev/null +++ b/Dots-RTS-Development/Assets/Prefabs/Player.prefab @@ -0,0 +1,54 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1001 &100100000 +Prefab: + m_ObjectHideFlags: 1 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: [] + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 0} + m_RootGameObject: {fileID: 1121900551361786} + m_IsPrefabParent: 1 +--- !u!1 &1121900551361786 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + serializedVersion: 5 + m_Component: + - component: {fileID: 4973063987344232} + - component: {fileID: 114249439032862504} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4973063987344232 +Transform: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1121900551361786} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114249439032862504 +MonoBehaviour: + m_ObjectHideFlags: 1 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 100100000} + m_GameObject: {fileID: 1121900551361786} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: af84bbf654dca3646be97ee7b9909054, type: 3} + m_Name: + m_EditorClassIdentifier: + playerCells: [] diff --git a/Dots-RTS-Development/Assets/Prefabs/Player.prefab.meta b/Dots-RTS-Development/Assets/Prefabs/Player.prefab.meta new file mode 100644 index 0000000..ab0ccee --- /dev/null +++ b/Dots-RTS-Development/Assets/Prefabs/Player.prefab.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ab110c352f1dd804b9bc5f5066dce436 +timeCreated: 1507142396 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 100100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scenes/Level_Player.unity b/Dots-RTS-Development/Assets/Scenes/Level_Player.unity index b049b78..ef8e704 100644 --- a/Dots-RTS-Development/Assets/Scenes/Level_Player.unity +++ b/Dots-RTS-Development/Assets/Scenes/Level_Player.unity @@ -2608,6 +2608,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 44871dc4b679cee4391f74f4fe74ca3b, type: 3} m_Name: m_EditorClassIdentifier: + playerData: {fileID: 1121900551361786, guid: ab110c352f1dd804b9bc5f5066dce436, type: 2} initAIs: 0000000000000000 aiTeams: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff decisionSpeeds: diff --git a/Dots-RTS-Development/Assets/Scenes/SplashScreen.unity b/Dots-RTS-Development/Assets/Scenes/SplashScreen.unity index 4b3d066..168da10 100644 --- a/Dots-RTS-Development/Assets/Scenes/SplashScreen.unity +++ b/Dots-RTS-Development/Assets/Scenes/SplashScreen.unity @@ -208,7 +208,7 @@ MonoBehaviour: m_enableWordWrapping: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 - m_firstOverflowCharacterIndex: -1 + m_firstOverflowCharacterIndex: 11 m_linkedTextComponent: {fileID: 0} m_isLinkedTextComponent: 0 m_enableKerning: 1 @@ -235,7 +235,7 @@ MonoBehaviour: spaceCount: 2 wordCount: 4 linkCount: 0 - lineCount: 1 + lineCount: 2 pageCount: 1 materialCount: 1 m_havePropertiesChanged: 0 @@ -416,7 +416,7 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 171.85 + m_fontSize: 109.9 m_fontSizeBase: 160 m_fontWeight: 400 m_enableAutoSizing: 1 diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs b/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs index 80a6dd2..e0cb410 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs @@ -5,7 +5,7 @@ public class AI_Behaviour : Enemy_AI { private enum Decision { EXPAND, ATTACK, HELP }; - private string s = ""; + private string ss = ""; public bool printOutLog = false; protected override void Start() { @@ -14,58 +14,58 @@ protected override void Start() { } private Decision CalculateBestChoice() { - s += "ATK = " + attackChoiceProbability + "EXP = " + expandChoiceProbability + "DEF = " + defendChoiceProbability + " | "; - s += "SELECTED AI = " + selectedAiCell + " TARGET = " + selectedTargetCell + " DEFENSE = " + selectedAiCellForAid + " EXPAND = " + selectedNeutralCell + " | "; + ss += "ATK = " + attackChoiceProbability + "EXP = " + expandChoiceProbability + "DEF = " + defendChoiceProbability + " | "; + ss += "SELECTED AI = " + selectedAiCell + " TARGET = " + selectedTargetCell + " DEFENSE = " + selectedAiCellForAid + " EXPAND = " + selectedNeutralCell + " | "; if (attackChoiceProbability > expandChoiceProbability) { - s += "ATTACK++ ? | "; + ss += "ATTACK++ ? | "; if ((defendChoiceProbability > expandChoiceProbability) && (defendChoiceProbability > attackChoiceProbability)) { - s += "defense ++ | "; + ss += "defense ++ | "; if (Random.Range(0, 10) < 5) { - s += "def 50% | "; + ss += "def 50% | "; return Decision.HELP; } else { if (Random.Range(0, 10) < 5) { - s += "atk 25% | "; + ss += "atk 25% | "; return Decision.ATTACK; } else { - s += "exp 25% | "; + ss += "exp 25% | "; return Decision.EXPAND; } } } else { - s += "attack++ | "; + ss += "attack++ | "; if (Random.Range(0, 10) < 7.5f) { - s += "atk 75% | "; + ss += "atk 75% | "; return Decision.ATTACK; } else { if (Random.Range(0, 10) < 5) { - s += "def 12.5% | "; + ss += "def 12.5% | "; return Decision.HELP; } else { - s += "exp 12.5% | "; + ss += "exp 12.5% | "; return Decision.EXPAND; } } } } else { - s += "EXPAND++ ? | "; + ss += "EXPAND++ ? | "; if (Random.Range(0, 10) < 8) { - s += "exp 80% | "; + ss += "exp 80% | "; return Decision.EXPAND; } else { if (Random.Range(0, 10) < 5) { - s += "atk 10% | "; + ss += "atk 10% | "; return Decision.ATTACK; } else { - s += "def 10% | "; + ss += "def 10% | "; return Decision.HELP; } } @@ -109,33 +109,33 @@ public IEnumerator PreformAction() { * Else this AI will shut down. */ if (_aiCells.Count != 0) { - s += "Selecting | "; + ss += "Selecting | "; selectedAiCell = AiCellSelector(); //If we have exactly one cell in the pool, we cant select others, no halping each other is possible. if (_aiCells.Count == 1) { isAlone = true; - s += "Alone | "; + ss += "Alone | "; } - s += "Not Alone | "; + ss += "Not Alone | "; } else { isActive = false; - s += "No AI cell Selestion, DONE!"; + ss += "No AI cell Selestion, DONE!"; if (printOutLog) { - print(s); + print(ss); } - s = ""; + ss = ""; yield break; } if (selectedAiCell == null) { - s += "Could not Select Cell"; + ss += "Could not Select Cell"; if (printOutLog) { - print(s); + print(ss); } - s = ""; + ss = ""; goto restart; } @@ -143,83 +143,83 @@ public IEnumerator PreformAction() { //Aid selection if (!isAlone) { - s += "Selecting Friend | "; + ss += "Selecting Friend | "; selectedAiCellForAid = AiAidSelector(); } //Target selection if (_targets.Count != 0) { - s += "Selecting Target | "; + ss += "Selecting Target | "; selectedTargetCell = TargetCellSelector(); } else { - s += "No TARGET cell Selestion, DONE!"; + ss += "No TARGET cell Selestion, DONE!"; if (printOutLog) { - print(s); + print(ss); } - s = ""; + ss = ""; yield break; } //Neutral cell selection if (_neutrals.Count != 0) { - s += "Selecting Neutral | "; + ss += "Selecting Neutral | "; selectedNeutralCell = ExpandCellSelector(); } else { - s += "No Neutrals exist | "; + ss += "No Neutrals exist | "; selectedNeutralCell = null; } - s += "Calculating choices | "; + ss += "Calculating choices | "; Decision factor = CalculateBestChoice(); //If these combinations are met the script will fail.. we have to redo the selection if (selectedNeutralCell == null && factor == Decision.EXPAND) { - s += "Expanding with no free cells, DONE!"; + ss += "Expanding with no free cells, DONE!"; if (printOutLog) { - print(s); + print(ss); } - s = ""; + ss = ""; goto redoAction; } if (isAlone == true && factor == Decision.HELP) { - s += "Aiding with no allies, DONE!"; + ss += "Aiding with no allies, DONE!"; if (printOutLog) { - print(s); + print(ss); } - s = ""; + ss = ""; goto redoAction; } if (selectedTargetCell == null && factor == Decision.ATTACK) { - s += "Attacking with no targets, DONE!"; + ss += "Attacking with no targets, DONE!"; if (printOutLog) { - print(s); + print(ss); } - s = ""; + ss = ""; goto restart; } if (factor == Decision.EXPAND) { - s += "Expanding as " + selectedAiCell + " to " + selectedNeutralCell + " END "; + ss += "Expanding as " + selectedAiCell + " to " + selectedNeutralCell + " END "; Expand(selectedAiCell, selectedNeutralCell); } else if (factor == Decision.ATTACK) { - s += "Attacking as " + selectedAiCell + " cell " + selectedTargetCell + " END "; + ss += "Attacking as " + selectedAiCell + " cell " + selectedTargetCell + " END "; Attack(selectedAiCell, selectedTargetCell); } else { - s += "Aiding as " + selectedAiCell + " teammates cell " + selectedAiCellForAid + " END "; + ss += "Aiding as " + selectedAiCell + " teammates cell " + selectedAiCellForAid + " END "; Defend(selectedAiCell, selectedAiCellForAid); } if (printOutLog) { - print(s); + print(ss); } - s = ""; + ss = ""; } } } diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs index 675d331..9e0cd4a 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -15,6 +15,7 @@ public class Enemy_AI : MonoBehaviour { private enum Decision { EXPAND, ATTACK, HELP }; + private Player playerCells; public List _targets = new List(); //Cells this AI will attack public List _aiCells = new List(); //This AIs cells public List _neutrals = new List(); //Neutral cells in the scene @@ -70,67 +71,91 @@ protected virtual void OnDestroy() { } private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previous, Cell.enmTeam current) { + if (isActive) { - if ((int)current >= 2 && (int)previous >= 2) { - Enemy_AI prevAI = (Enemy_AI)previous; - DataHolder dataPrevAI = new DataHolder(prevAI, sender); - Enemy_AI currAI = (Enemy_AI)current; - DataHolder dataCurrAI = new DataHolder(currAI, sender); - - for (int i = 0; i < dataPrevAI.getCellIndexes.Length; i++) { - if (dataPrevAI.getCellIndexes[i] != -1) { - switch (i) { - case 0: { - prevAI._aiCells.RemoveAt(dataPrevAI.getCellIndexes[i]); - break; - } - case 1: { - prevAI._targets.RemoveAt(dataPrevAI.getCellIndexes[i]); - break; - } - case 2: { - prevAI._allies.RemoveAt(dataPrevAI.getCellIndexes[i]); - break; - } - case 3: { - prevAI._neutrals.RemoveAt(dataPrevAI.getCellIndexes[i]); - break; - } - } + if(previous == Cell.enmTeam.NEUTRAL) { + for (int i = 0; i < Initialize_AI.AIs.Length; i++) { + if(Initialize_AI.AIs[i] != null) { + Initialize_AI.AIs[i]._neutrals.Remove(sender); } } - //Here, sender stops existing for every enemy... time to readd it. - switch ((int)current) { - case 0: { //Neutral - Debug.LogError("Cell joining Neutral team."); - break; + Enemy_AI reference = (Enemy_AI)current; + if(reference == this) { + reference._aiCells.Add(sender); + + foreach (Enemy_AI ally in reference.getAllies) { + DataHolder currData = DataHolder.TransformForAlly(new DataHolder(reference, sender), ally); + ally.ProcessData(currData, true); } - case 1: { //Player - currAI._targets.Add(sender); - print("Implement this for Player and Enemy teams"); - break; + foreach (Enemy_AI target in reference.getTargets) { + DataHolder currData = DataHolder.TransformForAlly(new DataHolder(reference, sender), target); + target.ProcessData(currData, true); } - default: { //Any Enemy - if(getCurrentAiTeam == current) { - _aiCells.Add(sender); - return; - } - else { - for (int i = 0; i < currAI.alliesOfThisAI.Count; i++) { - currAI.alliesOfThisAI[i]._allies.Add(sender); - } - for (int i = 0; i < prevAI.alliesOfThisAI.Count; i++) { - prevAI.alliesOfThisAI[i]._targets.Add(sender); - } + } + else if(reference == null) { + //Cell was taken by a player --> we have no reference so we'll add sender as a target to every AI because player+enemy teams are not possible atm. + foreach(Enemy_AI ai in Initialize_AI.AIs) { + if(ai == this) { + ai._targets.Add(sender); } - break; } } - UpdateAlliesInAI(sender, current); } - else { - //Cell is not controlled by an Enemy --> it can't be in aiCells nor _allies + if(previous == Cell.enmTeam.ALLIED) { + Enemy_AI curr = (Enemy_AI)current; + curr._aiCells.Add(sender); + foreach (Enemy_AI ally in curr.getAllies) { + DataHolder currData = DataHolder.TransformForAlly(new DataHolder(curr, sender), ally); + ally.ProcessData(currData,true); + } + foreach (Enemy_AI enemy in curr.getTargets) { + DataHolder currData = DataHolder.TransformForTarget(new DataHolder(curr, sender), enemy); + enemy.ProcessData(currData, true); + } + } + if ((int)previous >= 2) { + if (current == Cell.enmTeam.ALLIED) { + //Cell was taken by a player --> we have no reference so we'll add sender as a target to every AI because player+enemy teams are not possible atm. + foreach (Enemy_AI ai in Initialize_AI.AIs) { + if (ai == this) { + ai._targets.Add(sender); + } + } + Enemy_AI prevAI = (Enemy_AI)previous; + prevAI._aiCells.Remove(sender); + } + else { + Enemy_AI prevAI = (Enemy_AI)previous; + DataHolder dataPrevAI = new DataHolder(prevAI, sender); + Enemy_AI currAI = (Enemy_AI)current; + + if (prevAI == this) { + prevAI._targets.Add(sender); + prevAI._aiCells.Remove(sender); + } + if (currAI == this) { + currAI._aiCells.Add(sender); + currAI._targets.Remove(sender); + } + + foreach (Enemy_AI ally in prevAI.getAllies) { + DataHolder currData = DataHolder.TransformForAlly(new DataHolder(prevAI, sender), ally); + ally.ProcessData(currData, true); + } + foreach (Enemy_AI target in prevAI.getTargets) { + DataHolder currData = DataHolder.TransformForTarget(new DataHolder(prevAI, sender), target); + target.ProcessData(currData, true); + } + foreach (Enemy_AI ally in currAI.getAllies) { + DataHolder currData = DataHolder.TransformForAlly(new DataHolder(currAI, sender), ally); + ally.ProcessData(currData, true); + } + foreach (Enemy_AI target in currAI.getTargets) { + DataHolder currData = DataHolder.TransformForTarget(new DataHolder(currAI, sender), target); + target.ProcessData(currData, true); + } + } } } else { @@ -138,16 +163,6 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo } } - private void UpdateAlliesInAI(CellBehaviour sender, Cell.enmTeam current) { - List allyCells = new List(); - Enemy_AI curr = (Enemy_AI)current; - for (int i = 0; i < curr.alliesOfThisAI.Count; i++) { - allyCells.AddRange(curr.alliesOfThisAI[i]._aiCells); - } - print(allyCells.Count + " cells in allyList for " + gameObject.name); - - } - //Update this AI's allies and targets private void ConsiderAllies() { //Needs revalidtion / rewrite @@ -381,6 +396,61 @@ private DataHolder GetCellInstances(CellBehaviour referenceCell, Enemy_AI ai) { return data; } + /// + /// Applies information stored in the Data format to a selected AI + /// + /// The data to process + /// Is the selected process addition or deletion -- not implemented + /// The Ai to operate on, default points to the one specified in DataHolder + private void ProcessData(DataHolder data, bool is_Adding, Enemy_AI ai = null) { + if (ai == null) { + ai = data.getAI; + } + + for (int i = 0; i < data.getCellIndexes.Length; i++) { + if (data.getCellIndexes[i] != -1) { + switch (i) { + case 0: { + if (is_Adding) { + ai._aiCells.Add(data.getCells[i]); + } + else { + ai._aiCells.RemoveAt(data.getCellIndexes[i]); + } + break; + } + case 1: { + if (is_Adding) { + ai._targets.Add(data.getCells[i]); + } + else { + ai._targets.RemoveAt(data.getCellIndexes[i]); + } + break; + } + case 2: { + if (is_Adding) { + ai._allies.Add(data.getCells[i]); + } + else { + ai._allies.RemoveAt(data.getCellIndexes[i]); + } + break; + } + case 3: { + if (is_Adding) { + ai._neutrals.Add(data.getCells[i]); + } + else { + ai._neutrals.RemoveAt(data.getCellIndexes[i]); + } + break; + } + } + } + } + } + /// /// Get current AIs Team /// @@ -403,6 +473,11 @@ public List getTargets { get { return targetsOfThisAI; } } + public Player playerScript { + get { return playerCells; } + set { playerCells = value; } + } + public void AddAlly(Enemy_AI ai) { alliesOfThisAI.Add(ai); } @@ -411,7 +486,13 @@ public void AddTarget(Enemy_AI ai) { } public static explicit operator Enemy_AI(Cell.enmTeam team) { - return Initialize_AI.AIs[(int)team - 2]; + int index = (int)team - 2; + if (index < 0) { + return null; + } + else { + return Initialize_AI.AIs[(int)team - 2]; + } } } @@ -420,10 +501,12 @@ public class DataHolder { /// The AI for which this configuration is valid /// private Enemy_AI _ai; + private Enemy_AI _allyAI = null; /// /// Instances in this AI --> [0] = AI, [1] = target, [2] = ally, [3] = neutral /// private int[] cellIndexes = new int[4] { -1, -1, -1, -1 }; + private CellBehaviour[] cells = new CellBehaviour[4]; public DataHolder(Enemy_AI AI, CellBehaviour cell) { _ai = AI; @@ -431,29 +514,61 @@ public DataHolder(Enemy_AI AI, CellBehaviour cell) { for (int i = 0; i < AI._aiCells.Count; i++) { if (AI._aiCells[i] == cell) { cellIndexes[0] = i; + cells[0] = cell; } } for (int i = 0; i < AI._targets.Count; i++) { if (AI._targets[i] == cell) { cellIndexes[1] = i; + cells[0] = cell; } } for (int i = 0; i < AI._allies.Count; i++) { if (AI._allies[i] == cell) { cellIndexes[2] = i; + cells[0] = cell; } } for (int i = 0; i < AI._neutrals.Count; i++) { if (AI._neutrals[i] == cell) { cellIndexes[3] = i; + cells[0] = cell; } } } + + public static DataHolder TransformForAlly(DataHolder data, Enemy_AI ally) { + + data._ai = ally; + + data.cellIndexes[2] = data.cellIndexes[0]; + data.cellIndexes[0] = -1; + + return data; + } + + public static DataHolder TransformForTarget(DataHolder data, Enemy_AI target) { + data._ai = target; + + data.cellIndexes[1] = data.cellIndexes[0]; + data.cellIndexes[0] = -1; + + return data; + } + public Enemy_AI getAI { get { return _ai; } } + public Enemy_AI getAllyAI { + get { return _allyAI; } + } + public int[] getCellIndexes { get { return cellIndexes; } } + + public CellBehaviour[] getCells { + get { return cells; } + } } \ No newline at end of file diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs index 546c0a7..3a2ca4e 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs @@ -3,17 +3,24 @@ public class Initialize_AI : MonoBehaviour { + public GameObject playerData; + public bool[] initAIs = new bool[8] { false, false, false, false, false, false, false, false }; public Cell.enmTeam[] aiTeams = new Cell.enmTeam[8] { Cell.enmTeam.NONE, Cell.enmTeam.NONE, Cell.enmTeam.NONE, Cell.enmTeam.NONE, Cell.enmTeam.NONE, Cell.enmTeam.NONE, Cell.enmTeam.NONE, Cell.enmTeam.NONE }; public float[] decisionSpeeds = new float[8]; public static Enemy_AI[] AIs = new Enemy_AI[8]; + private Player playerScript; + private void Start() { //Should be necessary only for older saves and Debug scene if (UnityEngine.SceneManagement.SceneManager.GetActiveScene().name == UnityEngine.SceneManagement.Scenes.DEBUG) { StartAiInitialization(new Dictionary()); } + GameObject g = Instantiate(playerData); + g.name = "Player"; + playerScript = g.GetComponent(); } //Goes though all the cells and creates an AI for each team. @@ -69,7 +76,6 @@ public void StartAiInitialization(Dictionary clanDict) { List allies = temp.allies; List targets = temp.targets; - foreach (Cell.enmTeam team in allies) { AIs[(int)j - 2].AddAlly((Enemy_AI)team); } @@ -142,6 +148,7 @@ public void SetAis(int index, Cell.enmTeam team) { ai.aiTeam = team; ai.isActive = true; AIs[index] = ai; + ai.playerScript = playerScript; } } } diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs new file mode 100644 index 0000000..ace5f4e --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs @@ -0,0 +1,14 @@ +using UnityEngine; +using System.Collections.Generic; + +public class Player : MonoBehaviour { + public List playerCells = new List(); + + private void Start() { + foreach (CellBehaviour cell in PlayManager.cells) { + if(cell.cellTeam == Cell.enmTeam.ALLIED) { + playerCells.Add(cell); + } + } + } +} \ No newline at end of file diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs.meta b/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs.meta new file mode 100644 index 0000000..cafb6a8 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: af84bbf654dca3646be97ee7b9909054 +timeCreated: 1507142349 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: From 7ae5324956e2b4ba8c89a8a918f2f5bd6343dea7 Mon Sep 17 00:00:00 2001 From: Slinta Date: Thu, 5 Oct 2017 18:16:06 +0200 Subject: [PATCH 07/25] New AI saving fix Signed-off-by: Slinta --- Dots-RTS-Development/Assets/BulkRename.meta | 9 --- .../Assets/Scenes/Level_Player.unity | 48 ++++++++-------- .../Assets/Scripts/AI/Enemy_AI.cs | 23 +++++--- .../Scripts/LevelEditor/LevelEditorCore.cs | 10 ++-- .../Scripts/LevelEditor/SaveAndLoadEditor.cs | 8 ++- .../Assets/Scripts/LevelEditor/TeamSetup.cs | 55 +++++++++++++++++++ 6 files changed, 107 insertions(+), 46 deletions(-) delete mode 100644 Dots-RTS-Development/Assets/BulkRename.meta diff --git a/Dots-RTS-Development/Assets/BulkRename.meta b/Dots-RTS-Development/Assets/BulkRename.meta deleted file mode 100644 index ccdb37b..0000000 --- a/Dots-RTS-Development/Assets/BulkRename.meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 15eedef553a4a5c4c9ac76d8104e5807 -folderAsset: yes -timeCreated: 1506764672 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scenes/Level_Player.unity b/Dots-RTS-Development/Assets/Scenes/Level_Player.unity index ef8e704..d20f21d 100644 --- a/Dots-RTS-Development/Assets/Scenes/Level_Player.unity +++ b/Dots-RTS-Development/Assets/Scenes/Level_Player.unity @@ -292,7 +292,7 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.x - value: 599.6117 + value: 599.72473 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} @@ -416,7 +416,7 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.x - value: 467.20877 + value: 467.29355 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} @@ -1346,7 +1346,7 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.x - value: 334.80585 + value: 334.86237 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} @@ -1648,7 +1648,7 @@ MonoBehaviour: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 631089167} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} m_Name: @@ -1737,11 +1737,11 @@ MonoBehaviour: lineCount: 1 pageCount: 1 materialCount: 1 - m_havePropertiesChanged: 0 + m_havePropertiesChanged: 1 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 0 + m_isInputParsingRequired: 1 m_inputSource: 0 m_hasFontAssetChanged: 0 m_subTextObjects: @@ -1965,7 +1965,7 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.x - value: 996.82056 + value: 997.0182 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} @@ -2683,7 +2683,7 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.x - value: 1129.2235 + value: 1129.4493 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} @@ -3836,7 +3836,7 @@ MonoBehaviour: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1263508644} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} m_Name: @@ -3925,11 +3925,11 @@ MonoBehaviour: lineCount: 1 pageCount: 1 materialCount: 1 - m_havePropertiesChanged: 0 + m_havePropertiesChanged: 1 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 0 + m_isInputParsingRequired: 1 m_inputSource: 0 m_hasFontAssetChanged: 0 m_subTextObjects: @@ -4196,7 +4196,7 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.x - value: 202.40292 + value: 202.43118 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} @@ -4723,7 +4723,7 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.x - value: 864.4176 + value: 864.58704 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} @@ -4887,7 +4887,7 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.x - value: 1261.6265 + value: 1261.8805 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} @@ -5017,7 +5017,7 @@ MonoBehaviour: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1465621277} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} m_Name: @@ -5106,11 +5106,11 @@ MonoBehaviour: lineCount: 1 pageCount: 1 materialCount: 1 - m_havePropertiesChanged: 0 + m_havePropertiesChanged: 1 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 0 + m_isInputParsingRequired: 1 m_inputSource: 0 m_hasFontAssetChanged: 0 m_subTextObjects: @@ -6452,7 +6452,7 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.x - value: 732.01465 + value: 732.1559 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} @@ -7158,7 +7158,7 @@ MonoBehaviour: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1968041218} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} m_Name: @@ -7247,11 +7247,11 @@ MonoBehaviour: lineCount: 1 pageCount: 1 materialCount: 1 - m_havePropertiesChanged: 0 + m_havePropertiesChanged: 1 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 0 + m_isInputParsingRequired: 1 m_inputSource: 0 m_hasFontAssetChanged: 0 m_subTextObjects: @@ -7312,7 +7312,7 @@ MonoBehaviour: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 2029816252} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} m_Name: @@ -7401,11 +7401,11 @@ MonoBehaviour: lineCount: 1 pageCount: 1 materialCount: 1 - m_havePropertiesChanged: 0 + m_havePropertiesChanged: 1 m_isUsingLegacyAnimationComponent: 0 m_isVolumetricText: 0 m_spriteAnimator: {fileID: 0} - m_isInputParsingRequired: 0 + m_isInputParsingRequired: 1 m_inputSource: 0 m_hasFontAssetChanged: 0 m_subTextObjects: diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs index 9e0cd4a..37b55f4 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -64,6 +64,13 @@ protected virtual void Start() { ConsiderAllies(); print("AI " + getCurrentAiTeam + " Initialized!"); + + foreach (Enemy_AI friend in alliesOfThisAI) { + print("ally of " + aiTeam + " is " + friend.aiTeam); + } + foreach (Enemy_AI target in targetsOfThisAI) { + print("target of " + aiTeam + " is " + target.aiTeam); + } } protected virtual void OnDestroy() { @@ -73,14 +80,14 @@ protected virtual void OnDestroy() { private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previous, Cell.enmTeam current) { if (isActive) { - if(previous == Cell.enmTeam.NEUTRAL) { + if (previous == Cell.enmTeam.NEUTRAL) { for (int i = 0; i < Initialize_AI.AIs.Length; i++) { - if(Initialize_AI.AIs[i] != null) { + if (Initialize_AI.AIs[i] != null) { Initialize_AI.AIs[i]._neutrals.Remove(sender); } } Enemy_AI reference = (Enemy_AI)current; - if(reference == this) { + if (reference == this) { reference._aiCells.Add(sender); foreach (Enemy_AI ally in reference.getAllies) { @@ -92,21 +99,21 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo target.ProcessData(currData, true); } } - else if(reference == null) { + else if (reference == null) { //Cell was taken by a player --> we have no reference so we'll add sender as a target to every AI because player+enemy teams are not possible atm. - foreach(Enemy_AI ai in Initialize_AI.AIs) { - if(ai == this) { + foreach (Enemy_AI ai in Initialize_AI.AIs) { + if (ai == this) { ai._targets.Add(sender); } } } } - if(previous == Cell.enmTeam.ALLIED) { + if (previous == Cell.enmTeam.ALLIED) { Enemy_AI curr = (Enemy_AI)current; curr._aiCells.Add(sender); foreach (Enemy_AI ally in curr.getAllies) { DataHolder currData = DataHolder.TransformForAlly(new DataHolder(curr, sender), ally); - ally.ProcessData(currData,true); + ally.ProcessData(currData, true); } foreach (Enemy_AI enemy in curr.getTargets) { DataHolder currData = DataHolder.TransformForTarget(new DataHolder(curr, sender), enemy); diff --git a/Dots-RTS-Development/Assets/Scripts/LevelEditor/LevelEditorCore.cs b/Dots-RTS-Development/Assets/Scripts/LevelEditor/LevelEditorCore.cs index a5c5e5c..ef32488 100644 --- a/Dots-RTS-Development/Assets/Scripts/LevelEditor/LevelEditorCore.cs +++ b/Dots-RTS-Development/Assets/Scripts/LevelEditor/LevelEditorCore.cs @@ -160,7 +160,7 @@ private void Start() { string path = PlayerPrefs.GetString("LoadLevelFilePath"); if (!string.IsNullOrEmpty(path)) { saveAndLoad.Load(PlayerPrefs.GetString("LoadLevelFilePath")); - } + } //Set defalut mode to placeCells editorMode = Mode.PlaceCells; } @@ -178,13 +178,15 @@ public void AddCell(EditCell c, bool loadedFromFile = false) { c.ToggleCellOutline(true); } if (c.cellTeam != Cell.enmTeam.ALLIED && c.cellTeam != Cell.enmTeam.NEUTRAL) { - if (!loadedFromFile) { - if (!teamList.Contains(c.cellTeam)) { - teamList.Add(c.cellTeam); + + if (!teamList.Contains(c.cellTeam)) { + teamList.Add(c.cellTeam); + if (!loadedFromFile) { aiDifficultyDict.Add(c.cellTeam, defaultDificulty); AllAiDifficultyWriter.RedoText(aiDifficultyDict); } } + } if (loadedFromFile) { for (int i = 0; i < c.upgrade_manager.upgrade_Slots.Length; i++) { diff --git a/Dots-RTS-Development/Assets/Scripts/LevelEditor/SaveAndLoadEditor.cs b/Dots-RTS-Development/Assets/Scripts/LevelEditor/SaveAndLoadEditor.cs index 895e6f3..5908409 100644 --- a/Dots-RTS-Development/Assets/Scripts/LevelEditor/SaveAndLoadEditor.cs +++ b/Dots-RTS-Development/Assets/Scripts/LevelEditor/SaveAndLoadEditor.cs @@ -96,11 +96,17 @@ public string Save(bool temp = false) { } save.savedAtAspect = Camera.main.aspect; + + save.difficulty = core.aiDifficultyDict; + + save.gameSize = core.gameSize; save.levelInfo = new LevelInfo(core.levelName, core.authorName, DateTime.Now); + - save.clans = teams.clanDict; + save.clans = teams.dictWithAllInfo(); + ErrorMessages.text += " displayName:(" + save.levelInfo.levelName + ")"; formatter.Serialize(file, save); file.Close(); diff --git a/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs b/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs index 7b97377..682e3bb 100644 --- a/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs +++ b/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs @@ -19,6 +19,21 @@ public class TeamSetup : MonoBehaviour { [HideInInspector] public float roundTableR; + #region Dictionary debug tool + //Dictionary.KeyCollection keys = newDict.Keys; + // foreach (Cell.enmTeam team in keys) { + // string s = ""; + //AIHolder hold = new AIHolder(); + //newDict.TryGetValue(team, out hold); + // foreach(Cell.enmTeam t in hold.targets) { + // s += (" " + t + " "); + + // } + // print(team + " has targets:" + s ); + + // } + #endregion + void OnEnable() { print(GameObject.Find("Canvas").GetComponent().scaleFactor); roundTableR = ((roundTable.rect.width * 0.5f)) - teamGOPrefab.GetComponent().sizeDelta.x; @@ -323,6 +338,46 @@ public int MySpawnsIndexFromAngle(float RawAngle) { } return output; } + + public Dictionary dictWithAllInfo() { + Dictionary newDict = new Dictionary(); + Dictionary.KeyCollection TeamKeys = clanDict.Keys; + List noClaners = new List(core.teamList); + foreach (Cell.enmTeam team in TeamKeys) { + noClaners.Remove(team); + AIHolder holder = new AIHolder(); + if(clanDict.TryGetValue(team, out holder) == false) { + Debug.LogError("This can't happen"); + clanDict.Add(team, holder); + } + holder.targets = new List(core.teamList); + //print(" targets start " + holder.targets.Count); + //print(" allies " + holder.allies.Count); + holder.targets.Remove(team); + foreach (Cell.enmTeam ally in holder.allies) { + holder.targets.Remove(ally); + //print("this runs this time"); + } + //print("targets ends at " + holder.targets.Count); + if (holder.targets.Count + holder.allies.Count != core.teamList.Count - 1) { + Debug.LogError("Targets&Allies don't add up to AllTeams"); + } + + newDict.Add(team, holder); + + } + foreach (Cell.enmTeam team in noClaners) { + AIHolder newAiHolder = new AIHolder(); + newAiHolder.targets = new List(core.teamList); + newAiHolder.targets.Remove(team); + newDict.Add(team, newAiHolder); + } + + + return newDict; + + + } } [System.Serializable] From 60736a10b57550cfe8d4462c9d4e1719b9b3e00c Mon Sep 17 00:00:00 2001 From: Michal-MK Date: Thu, 5 Oct 2017 21:33:38 +0200 Subject: [PATCH 08/25] AI lists fixes better handling of a cell changing teams - not fianl. --- .../Assets/Scripts/AI/Enemy_AI.cs | 118 ++++++++++++------ 1 file changed, 78 insertions(+), 40 deletions(-) diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs index 9e0cd4a..74785c6 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -73,14 +73,14 @@ protected virtual void OnDestroy() { private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previous, Cell.enmTeam current) { if (isActive) { - if(previous == Cell.enmTeam.NEUTRAL) { + if (previous == Cell.enmTeam.NEUTRAL) { for (int i = 0; i < Initialize_AI.AIs.Length; i++) { - if(Initialize_AI.AIs[i] != null) { + if (Initialize_AI.AIs[i] != null) { Initialize_AI.AIs[i]._neutrals.Remove(sender); } } Enemy_AI reference = (Enemy_AI)current; - if(reference == this) { + if (reference == this) { reference._aiCells.Add(sender); foreach (Enemy_AI ally in reference.getAllies) { @@ -92,36 +92,44 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo target.ProcessData(currData, true); } } - else if(reference == null) { + else if (reference == null) { //Cell was taken by a player --> we have no reference so we'll add sender as a target to every AI because player+enemy teams are not possible atm. - foreach(Enemy_AI ai in Initialize_AI.AIs) { - if(ai == this) { + foreach (Enemy_AI ai in Initialize_AI.AIs) { + if (ai == this) { ai._targets.Add(sender); } } } } - if(previous == Cell.enmTeam.ALLIED) { + if (previous == Cell.enmTeam.ALLIED) { Enemy_AI curr = (Enemy_AI)current; - curr._aiCells.Add(sender); - foreach (Enemy_AI ally in curr.getAllies) { - DataHolder currData = DataHolder.TransformForAlly(new DataHolder(curr, sender), ally); - ally.ProcessData(currData,true); - } - foreach (Enemy_AI enemy in curr.getTargets) { - DataHolder currData = DataHolder.TransformForTarget(new DataHolder(curr, sender), enemy); - enemy.ProcessData(currData, true); + if (curr == this) { + curr._aiCells.Add(sender); + curr._targets.Remove(sender); + + foreach (Enemy_AI ally in curr.getAllies) { + DataHolder currData = DataHolder.TransformForAlly(new DataHolder(curr, sender), ally); + ally.ProcessData(currData, true); + } + foreach (Enemy_AI enemy in curr.getTargets) { + DataHolder currData = DataHolder.TransformForTarget(new DataHolder(curr, sender), enemy); + enemy.ProcessData(currData, true); + } } } if ((int)previous >= 2) { if (current == Cell.enmTeam.ALLIED) { //Cell was taken by a player --> we have no reference so we'll add sender as a target to every AI because player+enemy teams are not possible atm. foreach (Enemy_AI ai in Initialize_AI.AIs) { - if (ai == this) { + if (ai == this && !ai._targets.Contains(sender)) { ai._targets.Add(sender); } } Enemy_AI prevAI = (Enemy_AI)previous; + foreach (Enemy_AI ally in prevAI.getAllies) { + DataHolder currData = DataHolder.TransformForAlly(new DataHolder(prevAI, sender), ally); + ally.ProcessData(currData, false); + } prevAI._aiCells.Remove(sender); } else { @@ -133,27 +141,28 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo if (prevAI == this) { prevAI._targets.Add(sender); prevAI._aiCells.Remove(sender); + + foreach (Enemy_AI ally in prevAI.getAllies) { + DataHolder currData = DataHolder.TransformForAlly(new DataHolder(prevAI, sender), ally); + ally.ProcessData(currData, false); + } + foreach (Enemy_AI target in prevAI.getTargets) { + DataHolder currData = DataHolder.TransformForTarget(new DataHolder(prevAI, sender), target); + target.ProcessData(currData, true); + } } if (currAI == this) { currAI._aiCells.Add(sender); currAI._targets.Remove(sender); - } - foreach (Enemy_AI ally in prevAI.getAllies) { - DataHolder currData = DataHolder.TransformForAlly(new DataHolder(prevAI, sender), ally); - ally.ProcessData(currData, true); - } - foreach (Enemy_AI target in prevAI.getTargets) { - DataHolder currData = DataHolder.TransformForTarget(new DataHolder(prevAI, sender), target); - target.ProcessData(currData, true); - } - foreach (Enemy_AI ally in currAI.getAllies) { - DataHolder currData = DataHolder.TransformForAlly(new DataHolder(currAI, sender), ally); - ally.ProcessData(currData, true); - } - foreach (Enemy_AI target in currAI.getTargets) { - DataHolder currData = DataHolder.TransformForTarget(new DataHolder(currAI, sender), target); - target.ProcessData(currData, true); + foreach (Enemy_AI ally in currAI.getAllies) { + DataHolder currData = DataHolder.TransformForAlly(new DataHolder(currAI, sender), ally); + ally.ProcessData(currData, true); + } + foreach (Enemy_AI target in currAI.getTargets) { + DataHolder currData = DataHolder.TransformForTarget(new DataHolder(currAI, sender), target); + target.ProcessData(currData, true); + } } } } @@ -166,6 +175,21 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo //Update this AI's allies and targets private void ConsiderAllies() { //Needs revalidtion / rewrite + //Bad way of implementing Targets + + for (int i = 0; i < Initialize_AI.AIs.Length; i++) { + bool isAlly = false; + for (int j = 0; j < getAllies.Count; j++) { + if (Initialize_AI.AIs[i] == getAllies[j]) { + isAlly = true; + } + } + if (isAlly == false && Initialize_AI.AIs[i] != null && Initialize_AI.AIs[i] != this) { + targetsOfThisAI.Add(Initialize_AI.AIs[i]); + } + } + + //Loop through all allied Enemy_AIs for (int j = 0; j < getAllies.Count; j++) { Enemy_AI currentAlly = getAllies[j]; //print("My ally has " + alliesOfThisAI[j]._aiCells.Count + " cells. " + gameObject.name); @@ -412,37 +436,45 @@ private void ProcessData(DataHolder data, bool is_Adding, Enemy_AI ai = null) { switch (i) { case 0: { if (is_Adding) { - ai._aiCells.Add(data.getCells[i]); + if (!ai._aiCells.Contains(data.getSender)) { + ai._aiCells.Add(data.getSender); + } } else { - ai._aiCells.RemoveAt(data.getCellIndexes[i]); + ai._aiCells.Remove(data.getSender); } break; } case 1: { if (is_Adding) { - ai._targets.Add(data.getCells[i]); + if (!ai._targets.Contains(data.getSender)) { + ai._targets.Add(data.getSender); + } } else { - ai._targets.RemoveAt(data.getCellIndexes[i]); + ai._targets.Remove(data.getSender); } break; } case 2: { if (is_Adding) { - ai._allies.Add(data.getCells[i]); + if (!ai._allies.Contains(data.getSender)) { + ai._allies.Add(data.getSender); + } } else { - ai._allies.RemoveAt(data.getCellIndexes[i]); + ai._allies.Remove(data.getSender); } break; } case 3: { if (is_Adding) { - ai._neutrals.Add(data.getCells[i]); + if (!ai._neutrals.Contains(data.getSender)) { + ai._neutrals.Add(data.getSender); + } } else { - ai._neutrals.RemoveAt(data.getCellIndexes[i]); + ai._neutrals.Remove(data.getSender); } break; } @@ -502,6 +534,7 @@ public class DataHolder { /// private Enemy_AI _ai; private Enemy_AI _allyAI = null; + private CellBehaviour senderCell; /// /// Instances in this AI --> [0] = AI, [1] = target, [2] = ally, [3] = neutral /// @@ -510,6 +543,7 @@ public class DataHolder { public DataHolder(Enemy_AI AI, CellBehaviour cell) { _ai = AI; + senderCell = cell; for (int i = 0; i < AI._aiCells.Count; i++) { if (AI._aiCells[i] == cell) { @@ -560,6 +594,10 @@ public Enemy_AI getAI { get { return _ai; } } + public CellBehaviour getSender { + get { return senderCell; } + } + public Enemy_AI getAllyAI { get { return _allyAI; } } From 3b0f756357845be3c3c17398bbeaa2480f3dbb33 Mon Sep 17 00:00:00 2001 From: Slinta Date: Thu, 5 Oct 2017 23:14:58 +0200 Subject: [PATCH 09/25] Actual clans function extracted to be used elsewhere Signed-off-by: Slinta --- .../Scripts/LevelEditor/SaveAndLoadEditor.cs | 2 +- .../Assets/Scripts/LevelEditor/TeamSetup.cs | 48 +++++++++---------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/Dots-RTS-Development/Assets/Scripts/LevelEditor/SaveAndLoadEditor.cs b/Dots-RTS-Development/Assets/Scripts/LevelEditor/SaveAndLoadEditor.cs index 5908409..cc1f05a 100644 --- a/Dots-RTS-Development/Assets/Scripts/LevelEditor/SaveAndLoadEditor.cs +++ b/Dots-RTS-Development/Assets/Scripts/LevelEditor/SaveAndLoadEditor.cs @@ -105,7 +105,7 @@ public string Save(bool temp = false) { save.levelInfo = new LevelInfo(core.levelName, core.authorName, DateTime.Now); - save.clans = teams.dictWithAllInfo(); + save.clans = teams.DictWithAllInfo(); ErrorMessages.text += " displayName:(" + save.levelInfo.levelName + ")"; formatter.Serialize(file, save); diff --git a/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs b/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs index 682e3bb..dd08d66 100644 --- a/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs +++ b/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs @@ -209,24 +209,10 @@ static void DestroyAllInList(List list) { Destroy(list[i]); } } - public void UpdateRoundTableVisuals() { - - Dictionary.KeyCollection keysDebug = clanDict.Keys; - foreach (Cell.enmTeam team in keysDebug) { - AIHolder holder = new AIHolder(); - clanDict.TryGetValue(team, out holder); - string s = " "; - foreach (Cell.enmTeam ally in holder.allies) { - s += (ally + " "); - } - print("Team: " + team + " has allies" + s); - } - - - DestroyAllInList(bgList); + List> CDToActualClans(Dictionary dict) { List> actualClans = new List>(); - Dictionary.KeyCollection keys = clanDict.Keys; + Dictionary.KeyCollection keys = dict.Keys; foreach (Cell.enmTeam j in keys) { //print(j + " Key"); AIHolder value; @@ -245,16 +231,35 @@ public void UpdateRoundTableVisuals() { } } - if (newClan) { + if (newClan && clanJ.Count > 1) { actualClans.Add(clanJ); } } + return actualClans; + } + + public void UpdateRoundTableVisuals() { + + //Dictionary.KeyCollection keysDebug = clanDict.Keys; + //foreach (Cell.enmTeam team in keysDebug) { + // AIHolder holder = new AIHolder(); + // clanDict.TryGetValue(team, out holder); + // string s = " "; + // foreach (Cell.enmTeam ally in holder.allies) { + // s += (ally + " "); + // } + // print("Team: " + team + " has allies" + s); + //} + + + DestroyAllInList(bgList); + List newList = new List(teamBoxes); float angle = 0; - + List> actualClans = CDToActualClans(clanDict); for (int i = 0; i < actualClans.Count; i++) { GameObject bg = Instantiate(clanBG, roundTable); bgList.Add(bg); @@ -285,11 +290,6 @@ public void UpdateRoundTableVisuals() { } rt.rotation = Quaternion.Euler(0, 0, -lastTeamBoxAngle); - } - - foreach (List clan in actualClans) { - - } foreach (TeamBox t in newList) { t.transform.localPosition = AngleToPos(angle); @@ -339,7 +339,7 @@ public int MySpawnsIndexFromAngle(float RawAngle) { return output; } - public Dictionary dictWithAllInfo() { + public Dictionary DictWithAllInfo() { Dictionary newDict = new Dictionary(); Dictionary.KeyCollection TeamKeys = clanDict.Keys; List noClaners = new List(core.teamList); From 5ce517248249068b6e3d35628bb8057b2178fe56 Mon Sep 17 00:00:00 2001 From: Michal-MK Date: Thu, 5 Oct 2017 23:26:15 +0200 Subject: [PATCH 10/25] Clean Up Created 2 extra clalles for extenstion methid for Enemy_AI, and one to store DataHolder since it was getting big. More improvements to AI list sorting. --- Dots-RTS-Development/Assets/BulkRename.meta | 9 + .../Assets/Scripts/AI/AI_Data_Holder.cs | 87 +++++++++ .../Assets/Scripts/AI/AI_Data_Holder.cs.meta | 12 ++ .../Assets/Scripts/AI/AI_Helper.cs | 41 +++++ .../Assets/Scripts/AI/AI_Helper.cs.meta | 12 ++ .../Assets/Scripts/AI/Enemy_AI.cs | 168 +++++++----------- .../Assets/Scripts/LevelEditor/TeamSetup.cs | 2 +- 7 files changed, 231 insertions(+), 100 deletions(-) create mode 100644 Dots-RTS-Development/Assets/BulkRename.meta create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs.meta create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs.meta diff --git a/Dots-RTS-Development/Assets/BulkRename.meta b/Dots-RTS-Development/Assets/BulkRename.meta new file mode 100644 index 0000000..ccdb37b --- /dev/null +++ b/Dots-RTS-Development/Assets/BulkRename.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 15eedef553a4a5c4c9ac76d8104e5807 +folderAsset: yes +timeCreated: 1506764672 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs b/Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs new file mode 100644 index 0000000..735b52e --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs @@ -0,0 +1,87 @@ +using UnityEngine; +using System.Collections; + +public class DataHolder { + + private Enemy_AI _ai; + private CellBehaviour senderCell; + private bool isModified = false; + + private int[] cellIndexes = new int[4] { -1, -1, -1, -1 }; + + //Constructor + public DataHolder(Enemy_AI AI, CellBehaviour cell) { + _ai = AI; + senderCell = cell; + + for (int i = 0; i < AI._aiCells.Count; i++) { + if (AI._aiCells[i] == cell) { + cellIndexes[0] = i; + } + } + for (int i = 0; i < AI._targets.Count; i++) { + if (AI._targets[i] == cell) { + cellIndexes[1] = i; + } + } + for (int i = 0; i < AI._allies.Count; i++) { + if (AI._allies[i] == cell) { + cellIndexes[2] = i; + } + } + for (int i = 0; i < AI._neutrals.Count; i++) { + if (AI._neutrals[i] == cell) { + cellIndexes[3] = i; + } + } + } + + public static DataHolder TransformForAlly(DataHolder data, Enemy_AI ally) { + + data._ai = ally; + data.isModified = true; + + data.cellIndexes[2] = data.cellIndexes[0]; + data.cellIndexes[0] = -1; + + return data; + } + + public static DataHolder TransformForTarget(DataHolder data, Enemy_AI target) { + data._ai = target; + data.isModified = true; + + data.cellIndexes[1] = data.cellIndexes[0]; + data.cellIndexes[0] = -1; + + return data; + } + + /// + /// The AI for which this configuration is valid + /// + public Enemy_AI getAI { + get { return _ai; } + } + + /// + /// Get the cell that triggered creation of this script + /// + public CellBehaviour getSender { + get { return senderCell; } + } + + /// + /// Instances in this AI --> [0] = AI, [1] = target, [2] = ally, [3] = neutral + /// + public int[] getCellIndexes { + get { return cellIndexes; } + } + + /// + /// Return true if this script was modified for an ally or a target + /// + public bool isModifiedForOther { + get { return isModified; } + } +} diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs.meta b/Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs.meta new file mode 100644 index 0000000..2e40420 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 30a93200b4f0b7543bba97fe92a8542e +timeCreated: 1507237005 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs b/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs new file mode 100644 index 0000000..df53470 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +public static class AI_Helper { + public static bool IsTargetOf(this Enemy_AI ai, Enemy_AI other) { + foreach (Enemy_AI temp in ai.getTargets) { + if (temp == other) { + return true; + } + } + return false; + } + + public static bool IsAllyOf(this Enemy_AI ai, Enemy_AI other) { + foreach (Enemy_AI temp in ai.getAllies) { + if (ai == other) { + return true; + } + } + return false; + } + + public static bool IsAllyOf(this Enemy_AI ai, Player player) { + foreach (Enemy_AI temp in ai.getAllies) { + if (ai.getCurrentAiTeam == player.theoreticalTeam) { + return true; + } + } + return false; + } + + public static void AddAlly(this Enemy_AI ai, Enemy_AI ally) { + ai.getAllies.Add(ally); + } + + public static void AddTarget(this Enemy_AI ai,Enemy_AI target) { + ai.getTargets.Add(target); + } +} + diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs.meta b/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs.meta new file mode 100644 index 0000000..72ca5cf --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: cd223bbe0f3dac54ea6407d8b36e149e +timeCreated: 1507233850 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs index 74785c6..e0e5f17 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -65,12 +65,36 @@ protected virtual void Start() { ConsiderAllies(); print("AI " + getCurrentAiTeam + " Initialized!"); } - protected virtual void OnDestroy() { CellBehaviour.TeamChanged -= CellBehaviour_TeamChanged; } + //AI List sorting logic private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previous, Cell.enmTeam current) { + /* + * We have to cover all cases that can happen -- Only do them when the AI is active + * 1. Previous was Neutral + * - Update neutrals in AI - DONE + * 1.Current is Neutral + * 2.Current is Player + * - Update targets and allies - TEMP + * 3.Current is Enemy + * - Update targets and allies - DONE + * + * 2. Previous was Player + * - Update targets and allies - NIY + * 1. Current is Neutral + * 2. Current is Enemy + * - Update targets and allies - DONE + * + * 3.Previous was Enemy + * - Update targets and allies - TEMP + * 1. Current is Neutral + * 2. Current is Ally of Enemy + * - Update targets and allies + * 3. Current is Target of Enemy + * - Update targets and allies + */ if (isActive) { if (previous == Cell.enmTeam.NEUTRAL) { @@ -101,7 +125,11 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo } } } + if (previous == Cell.enmTeam.ALLIED) { + + playerCells.playerCells.Remove(sender); + Enemy_AI curr = (Enemy_AI)current; if (curr == this) { curr._aiCells.Add(sender); @@ -117,7 +145,10 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo } } } + if ((int)previous >= 2) { + Enemy_AI prevAI = (Enemy_AI)previous; + //If Player took over the cell if (current == Cell.enmTeam.ALLIED) { //Cell was taken by a player --> we have no reference so we'll add sender as a target to every AI because player+enemy teams are not possible atm. foreach (Enemy_AI ai in Initialize_AI.AIs) { @@ -125,30 +156,50 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo ai._targets.Add(sender); } } - Enemy_AI prevAI = (Enemy_AI)previous; - foreach (Enemy_AI ally in prevAI.getAllies) { - DataHolder currData = DataHolder.TransformForAlly(new DataHolder(prevAI, sender), ally); - ally.ProcessData(currData, false); + if (prevAI == this) { + prevAI._aiCells.Remove(sender); + + foreach (Enemy_AI ally in prevAI.getAllies) { + DataHolder currData = DataHolder.TransformForAlly(new DataHolder(prevAI, sender), ally); + ally.ProcessData(currData, false); + } + if (true) { + Debug.LogWarning("Determine if player is in team with prevAI, and then decide."); + } + else { + Debug.LogWarning("Determine if player is in team with prevAI, and then decide on this below."); + foreach (Enemy_AI enemy in prevAI.getTargets) { + DataHolder currData = DataHolder.TransformForTarget(new DataHolder(prevAI, sender), enemy); + enemy.ProcessData(currData, true); + } + } + } - prevAI._aiCells.Remove(sender); } else { - Enemy_AI prevAI = (Enemy_AI)previous; + //If AI took over the cell DataHolder dataPrevAI = new DataHolder(prevAI, sender); Enemy_AI currAI = (Enemy_AI)current; - if (prevAI == this) { prevAI._targets.Add(sender); prevAI._aiCells.Remove(sender); + //Every ally of prevAI had to be a target of currAI -- so all of the Ais should remove that cell from their ally list foreach (Enemy_AI ally in prevAI.getAllies) { DataHolder currData = DataHolder.TransformForAlly(new DataHolder(prevAI, sender), ally); ally.ProcessData(currData, false); } + //Any target of prevAI can be an Ally of currAI -- that decides whether we add sender as targets target or not foreach (Enemy_AI target in prevAI.getTargets) { - DataHolder currData = DataHolder.TransformForTarget(new DataHolder(prevAI, sender), target); - target.ProcessData(currData, true); + if (target.IsAllyOf(currAI)) { + DataHolder currData = DataHolder.TransformForTarget(new DataHolder(prevAI, sender), target); + target.ProcessData(currData, false); + } + else { + DataHolder currData = DataHolder.TransformForTarget(new DataHolder(prevAI, sender), target); + target.ProcessData(currData, true); + } } } if (currAI == this) { @@ -483,6 +534,7 @@ private void ProcessData(DataHolder data, bool is_Adding, Enemy_AI ai = null) { } } + #region Getters and Operators /// /// Get current AIs Team /// @@ -505,18 +557,17 @@ public List getTargets { get { return targetsOfThisAI; } } + /// + /// Get a player, it has a list containing all cells under player's control + /// public Player playerScript { get { return playerCells; } set { playerCells = value; } } - public void AddAlly(Enemy_AI ai) { - alliesOfThisAI.Add(ai); - } - public void AddTarget(Enemy_AI ai) { - targetsOfThisAI.Add(ai); - } - + /// + /// Cast Cell.enmTeam into a Enemy_AI script + /// public static explicit operator Enemy_AI(Cell.enmTeam team) { int index = (int)team - 2; if (index < 0) { @@ -526,87 +577,6 @@ public static explicit operator Enemy_AI(Cell.enmTeam team) { return Initialize_AI.AIs[(int)team - 2]; } } -} + #endregion -public class DataHolder { - /// - /// The AI for which this configuration is valid - /// - private Enemy_AI _ai; - private Enemy_AI _allyAI = null; - private CellBehaviour senderCell; - /// - /// Instances in this AI --> [0] = AI, [1] = target, [2] = ally, [3] = neutral - /// - private int[] cellIndexes = new int[4] { -1, -1, -1, -1 }; - private CellBehaviour[] cells = new CellBehaviour[4]; - - public DataHolder(Enemy_AI AI, CellBehaviour cell) { - _ai = AI; - senderCell = cell; - - for (int i = 0; i < AI._aiCells.Count; i++) { - if (AI._aiCells[i] == cell) { - cellIndexes[0] = i; - cells[0] = cell; - } - } - for (int i = 0; i < AI._targets.Count; i++) { - if (AI._targets[i] == cell) { - cellIndexes[1] = i; - cells[0] = cell; - } - } - for (int i = 0; i < AI._allies.Count; i++) { - if (AI._allies[i] == cell) { - cellIndexes[2] = i; - cells[0] = cell; - } - } - for (int i = 0; i < AI._neutrals.Count; i++) { - if (AI._neutrals[i] == cell) { - cellIndexes[3] = i; - cells[0] = cell; - } - } - } - - public static DataHolder TransformForAlly(DataHolder data, Enemy_AI ally) { - - data._ai = ally; - - data.cellIndexes[2] = data.cellIndexes[0]; - data.cellIndexes[0] = -1; - - return data; - } - - public static DataHolder TransformForTarget(DataHolder data, Enemy_AI target) { - data._ai = target; - - data.cellIndexes[1] = data.cellIndexes[0]; - data.cellIndexes[0] = -1; - - return data; - } - - public Enemy_AI getAI { - get { return _ai; } - } - - public CellBehaviour getSender { - get { return senderCell; } - } - - public Enemy_AI getAllyAI { - get { return _allyAI; } - } - - public int[] getCellIndexes { - get { return cellIndexes; } - } - - public CellBehaviour[] getCells { - get { return cells; } - } } \ No newline at end of file diff --git a/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs b/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs index 682e3bb..fb5fd5c 100644 --- a/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs +++ b/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs @@ -288,7 +288,7 @@ public void UpdateRoundTableVisuals() { } foreach (List clan in actualClans) { - + print("Useless loop says Hi! ... seriously, why is this here ?"); } foreach (TeamBox t in newList) { From 4fc50d056bf9fee21e0cce614230b4782057b0aa Mon Sep 17 00:00:00 2001 From: Slinta Date: Tue, 10 Oct 2017 21:02:29 +0200 Subject: [PATCH 11/25] WIP interface implementation Signed-off-by: Slinta --- .../Assets/Scenes/Debug.unity | 120 +++++++-- .../Assets/Scripts/AI/AI_Helper.cs | 18 +- .../Assets/Scripts/AI/Enemy_AI.cs | 12 +- .../Assets/Scripts/AI/Interfaces.cs | 23 ++ .../Assets/Scripts/AI/Interfaces.cs.meta | 12 + .../Assets/Scripts/Cell/Upgrades/Upgrade.cs | 2 +- .../Core Classes/Conversion Classes.meta} | 4 +- .../Scripts/Core Classes/Conversions.meta | 9 + .../Core Classes/Conversions/Conversions.cs | 43 ++++ .../Conversions/Conversions.cs.meta | 12 + .../Scripts/Core Classes/Initialize_AI.cs | 40 +-- .../Assets/Scripts/Core Classes/Player.cs | 55 ++++- .../Assets/Scripts/Debug/ExtraPlayer.cs | 23 ++ .../Assets/Scripts/Debug/ExtraPlayer.cs.meta | 12 + .../Assets/Scripts/Debug/Testing.unity | 227 +++++++++++++++++- .../Assets/Scripts/LevelEditor/TeamSetup.cs | 75 ++---- 16 files changed, 555 insertions(+), 132 deletions(-) create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs create mode 100644 Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs.meta rename Dots-RTS-Development/Assets/{BulkRename.meta => Scripts/Core Classes/Conversion Classes.meta} (67%) create mode 100644 Dots-RTS-Development/Assets/Scripts/Core Classes/Conversions.meta create mode 100644 Dots-RTS-Development/Assets/Scripts/Core Classes/Conversions/Conversions.cs create mode 100644 Dots-RTS-Development/Assets/Scripts/Core Classes/Conversions/Conversions.cs.meta create mode 100644 Dots-RTS-Development/Assets/Scripts/Debug/ExtraPlayer.cs create mode 100644 Dots-RTS-Development/Assets/Scripts/Debug/ExtraPlayer.cs.meta diff --git a/Dots-RTS-Development/Assets/Scenes/Debug.unity b/Dots-RTS-Development/Assets/Scenes/Debug.unity index b54ecaa..fc24eb0 100644 --- a/Dots-RTS-Development/Assets/Scenes/Debug.unity +++ b/Dots-RTS-Development/Assets/Scenes/Debug.unity @@ -353,12 +353,12 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.x - value: 996.8205 + value: 996.6728 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.y - value: -81.01452 + value: -80.99673 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} @@ -621,12 +621,12 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.x - value: 334.80585 + value: 334.7636 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.y - value: -81.01452 + value: -80.99673 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} @@ -1673,6 +1673,47 @@ Prefab: m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} m_IsPrefabParent: 0 +--- !u!1 &281681152 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 281681154} + - component: {fileID: 281681153} + m_Layer: 0 + m_Name: InterfaceTester (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &281681153 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 281681152} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3a609d74af62adc4498b9be5e7c202d3, type: 3} + m_Name: + m_EditorClassIdentifier: + identifier: Two +--- !u!4 &281681154 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 281681152} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 555.54016, y: 458.44223, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 14 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &293755674 GameObject: m_ObjectHideFlags: 0 @@ -2983,12 +3024,12 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.x - value: 1261.6265 + value: 1261.4365 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.y - value: -81.01452 + value: -80.99673 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} @@ -3674,12 +3715,12 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.x - value: 599.6117 + value: 599.5272 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.y - value: -81.01452 + value: -80.99673 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} @@ -4052,12 +4093,12 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.x - value: 732.01465 + value: 731.9091 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.y - value: -81.01452 + value: -80.99673 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} @@ -4407,6 +4448,47 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1014244533} +--- !u!1 &1030888069 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1030888071} + - component: {fileID: 1030888070} + m_Layer: 0 + m_Name: InterfaceTester + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1030888070 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1030888069} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3a609d74af62adc4498b9be5e7c202d3, type: 3} + m_Name: + m_EditorClassIdentifier: + identifier: One +--- !u!4 &1030888071 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1030888069} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 555.54016, y: 458.44223, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 13 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &1035893648 Prefab: m_ObjectHideFlags: 0 @@ -5902,12 +5984,12 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.x - value: 202.40292 + value: 202.3818 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.y - value: -81.01452 + value: -80.99673 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} @@ -6753,12 +6835,12 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.x - value: 864.41754 + value: 864.29095 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.y - value: -81.01452 + value: -80.99673 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} @@ -7381,7 +7463,7 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.y - value: -81.01452 + value: -80.99673 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} @@ -8132,12 +8214,12 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.x - value: 467.20877 + value: 467.14542 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.y - value: -81.01452 + value: -80.99673 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} @@ -8485,12 +8567,12 @@ Prefab: - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.x - value: 1129.2234 + value: 1129.0547 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} propertyPath: m_AnchoredPosition.y - value: -81.01452 + value: -80.99673 objectReference: {fileID: 0} - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs b/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs index df53470..202ae80 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs @@ -13,21 +13,21 @@ public static bool IsTargetOf(this Enemy_AI ai, Enemy_AI other) { } public static bool IsAllyOf(this Enemy_AI ai, Enemy_AI other) { - foreach (Enemy_AI temp in ai.getAllies) { - if (ai == other) { + foreach (Enemy_AI temp in other.getAllies) { + if (ai == temp) { return true; } } return false; + } - public static bool IsAllyOf(this Enemy_AI ai, Player player) { - foreach (Enemy_AI temp in ai.getAllies) { - if (ai.getCurrentAiTeam == player.theoreticalTeam) { - return true; - } - } - return false; + //public static bool IsAllyOf(this IAlly it, Player other) { + // return other.IsAllyOF(it); + //} + + public static bool IsAllyOf(this IAlly it, IAlly other) { + return other.IsAllyOF(it); } public static void AddAlly(this Enemy_AI ai, Enemy_AI ally) { diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs index e0e5f17..d269236 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -2,8 +2,7 @@ using System.Collections.Generic; using UnityEngine; -public class Enemy_AI : MonoBehaviour { - +public class Enemy_AI : MonoBehaviour, IAlly { public bool isActive = true; @@ -478,6 +477,9 @@ private DataHolder GetCellInstances(CellBehaviour referenceCell, Enemy_AI ai) { /// Is the selected process addition or deletion -- not implemented /// The Ai to operate on, default points to the one specified in DataHolder private void ProcessData(DataHolder data, bool is_Adding, Enemy_AI ai = null) { + + this.IsAllyOf(ai); + if (ai == null) { ai = data.getAI; } @@ -534,6 +536,12 @@ private void ProcessData(DataHolder data, bool is_Adding, Enemy_AI ai = null) { } } + public bool IsAllyOF(IAlly other) { + // Enemy_AI ai = (Enemy_AI)other; + // print(ai.aiTeam); + return false; + } + #region Getters and Operators /// /// Get current AIs Team diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs b/Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs new file mode 100644 index 0000000..ab7dd27 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs @@ -0,0 +1,23 @@ +using UnityEngine; +using System.Collections; +using System; +using System.Collections.Generic; + +public interface IAlly { + bool IsAllyOF(IAlly other); + +} + +public static class IAllyExtension { + public static bool IsAllyOf(this IAlly it, Player p ) { + return p.IsAllyOF(it); + } + + public static bool IsAllyOf(this Enemy_AI p, IAlly it) { + return p.IsAllyOF(it); + } + public static bool IsAllyOf(this IAlly it, IAlly p) { + return p.IsAllyOF(it); + } +} + diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs.meta b/Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs.meta new file mode 100644 index 0000000..dd56b67 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c6c08c262a52e3645966569a493e330b +timeCreated: 1507315482 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/Cell/Upgrades/Upgrade.cs b/Dots-RTS-Development/Assets/Scripts/Cell/Upgrades/Upgrade.cs index 5fe6818..2433886 100644 --- a/Dots-RTS-Development/Assets/Scripts/Cell/Upgrades/Upgrade.cs +++ b/Dots-RTS-Development/Assets/Scripts/Cell/Upgrades/Upgrade.cs @@ -134,7 +134,7 @@ public static async Task FillUpgradeSpriteDict() { for (int i = 0; i < values.Length; i++) { if(values[i] != -1) { - print(values[i]); + //print(values[i]); t[i] = GetSprite((Upgrades)values[i]); } } diff --git a/Dots-RTS-Development/Assets/BulkRename.meta b/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta similarity index 67% rename from Dots-RTS-Development/Assets/BulkRename.meta rename to Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta index ccdb37b..4515cd5 100644 --- a/Dots-RTS-Development/Assets/BulkRename.meta +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 15eedef553a4a5c4c9ac76d8104e5807 +guid: 586c9f86e092b7b448eb319ce5445709 folderAsset: yes -timeCreated: 1506764672 +timeCreated: 1507306952 licenseType: Free DefaultImporter: userData: diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversions.meta b/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversions.meta new file mode 100644 index 0000000..4ddc084 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversions.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e917972e5e96bc148b9aa8d7b8238c97 +folderAsset: yes +timeCreated: 1507307784 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversions/Conversions.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversions/Conversions.cs new file mode 100644 index 0000000..14714c6 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversions/Conversions.cs @@ -0,0 +1,43 @@ +using UnityEngine; +using System.Collections; +using System.Collections.Generic; + +namespace Conversions { + + public static class BasicConversions { + + public static Vector2 PolarToCartesian(float angle, float r) { + return new Vector2(Mathf.Sin(angle) * (r), Mathf.Cos(angle) * (r)); + } + + public static List> CDToActualClans(Dictionary dict) { + + List> actualClans = new List>(); + + Dictionary.KeyCollection keys = dict.Keys; + foreach (Cell.enmTeam j in keys) { + AIHolder value; + dict.TryGetValue(j, out value); + List clanJ = new List(value.allies); + clanJ.Add(j); + clanJ.Sort(); + bool newClan = true; + foreach (List clan in actualClans) { + + if (clanJ.Contains(clan[0])) { + newClan = false; + break; + } + + } + if (newClan && clanJ.Count > 1) { + actualClans.Add(clanJ); + } + + } + return actualClans; + + } + + } +} \ No newline at end of file diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversions/Conversions.cs.meta b/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversions/Conversions.cs.meta new file mode 100644 index 0000000..130ff3b --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversions/Conversions.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a5f5363ace712b24f8187bf9b5dbdbc0 +timeCreated: 1507307784 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs index 3a2ca4e..c080c90 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs @@ -1,8 +1,10 @@ using System.Collections.Generic; using UnityEngine; +using Conversions; public class Initialize_AI : MonoBehaviour { + public static List> clanList = new List>(); public GameObject playerData; public bool[] initAIs = new bool[8] { false, false, false, false, false, false, false, false }; @@ -25,46 +27,10 @@ private void Start() { //Goes though all the cells and creates an AI for each team. public void StartAiInitialization(Dictionary clanDict) { + clanList = BasicConversions.CDToActualClans(clanDict); foreach (Cell c in PlayManager.cells) { - //If cell is enemy create ai for that enemy - Only once if ((int)c.cellTeam >= 2) { SetAis((int)c.cellTeam - 2, c.cellTeam); - - //print((int)c.cellTeam + " " + c.gameObject.name); - //switch ((int)c.cellTeam) { - // case 2: { - // SetAis(0, c.cellTeam); - // break; - // } - // case 3: { - // SetAis(1, c.cellTeam); - // break; - // } - // case 4: { - // SetAis(2, c.cellTeam); - // break; - // } - // case 5: { - // SetAis(3, c.cellTeam); - // break; - // } - // case 6: { - // SetAis(4, c.cellTeam); - // break; - // } - // case 7: { - // SetAis(5, c.cellTeam); - // break; - // } - // case 8: { - // SetAis(6, c.cellTeam); - // break; - // } - // case 9: { - // SetAis(7, c.cellTeam); - // break; - // } - //} } } diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs index ace5f4e..7a8bb00 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs @@ -1,14 +1,61 @@ using UnityEngine; using System.Collections.Generic; +using System; -public class Player : MonoBehaviour { +public class Player : MonoBehaviour,IAlly { + //Cell.enmTeam playerTeam; + //List alliesOfPlayer; + //List targetsOfPlayer; + + public ExtraPlayer pl1; + public ExtraPlayer pl2; + public ExtraPlayer pl3; + public Player pl4; + + public List listOfAlly = new List(); public List playerCells = new List(); + //private void Start() { + // foreach (CellBehaviour cell in PlayManager.cells) { + // if (cell.cellTeam == Cell.enmTeam.ALLIED) { + // playerCells.Add(cell); + // } + // } + //} private void Start() { - foreach (CellBehaviour cell in PlayManager.cells) { - if(cell.cellTeam == Cell.enmTeam.ALLIED) { - playerCells.Add(cell); + listOfAlly.Add(pl1); + //listOfAlly.Add(pl2); + //listOfAlly.Add(pl3); + //listOfAlly.Add(pl4); + } + + + public bool IsAllyOF(IAlly other) { + //ExtraPlayer playah = (ExtraPlayer)other; + //playah.PRintCrap(); + foreach (IAlly ally in listOfAlly) { + + if (ally == other) { + try { + print(((Enemy_AI)other).name); + } + catch(Exception e) { + Debug.Log(e); + } + print(((ExtraPlayer)other).name); + + print("Found a match" + ally + " " + other); + return true; + } + else { + print("NOG"); } + } + return false; + } + + public void PRintCrap() { + //print("Stuff yaay"); } } \ No newline at end of file diff --git a/Dots-RTS-Development/Assets/Scripts/Debug/ExtraPlayer.cs b/Dots-RTS-Development/Assets/Scripts/Debug/ExtraPlayer.cs new file mode 100644 index 0000000..c7e11cd --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/Debug/ExtraPlayer.cs @@ -0,0 +1,23 @@ +using UnityEngine; +using System.Collections; +using System; + +public class ExtraPlayer : MonoBehaviour, IAlly { + + public bool AMIANALLY; + public Player MATE; + private void Start() { + if (this.IsAllyOf(MATE)) { + print(this.name + " Is an Ally of " + MATE.name); + } + } + + public bool IsAllyOF(IAlly other) { + return AMIANALLY; + } + + + public void PRintCrap() { + //print("Stuff yaay"); + } +} diff --git a/Dots-RTS-Development/Assets/Scripts/Debug/ExtraPlayer.cs.meta b/Dots-RTS-Development/Assets/Scripts/Debug/ExtraPlayer.cs.meta new file mode 100644 index 0000000..da6fd1e --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/Debug/ExtraPlayer.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e97bbb31237b7014d9667ad9549a763e +timeCreated: 1507317373 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/Debug/Testing.unity b/Dots-RTS-Development/Assets/Scripts/Debug/Testing.unity index c03dbe1..47a8cb9 100644 --- a/Dots-RTS-Development/Assets/Scripts/Debug/Testing.unity +++ b/Dots-RTS-Development/Assets/Scripts/Debug/Testing.unity @@ -214,6 +214,51 @@ BoxCollider2D: serializedVersion: 2 m_Size: {x: 100, y: 100} m_EdgeRadius: 0 +--- !u!1 &44057241 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 44057243} + - component: {fileID: 44057242} + m_Layer: 0 + m_Name: Player 1 Containing Extra 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &44057242 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 44057241} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: af84bbf654dca3646be97ee7b9909054, type: 3} + m_Name: + m_EditorClassIdentifier: + pl1: {fileID: 1510027169} + pl2: {fileID: 0} + pl3: {fileID: 0} + pl4: {fileID: 0} + playerCells: [] +--- !u!4 &44057243 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 44057241} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 68.81429, y: 106.38462, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &199560451 GameObject: m_ObjectHideFlags: 0 @@ -397,7 +442,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!114 &356373696 MonoBehaviour: m_ObjectHideFlags: 0 @@ -869,6 +914,96 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 889168882} +--- !u!1 &1131969724 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1131969726} + - component: {fileID: 1131969725} + m_Layer: 0 + m_Name: Player 3 Containing Extra 2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1131969725 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1131969724} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: af84bbf654dca3646be97ee7b9909054, type: 3} + m_Name: + m_EditorClassIdentifier: + pl1: {fileID: 1742728871} + pl2: {fileID: 0} + pl3: {fileID: 0} + pl4: {fileID: 0} + playerCells: [] +--- !u!4 &1131969726 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1131969724} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 68.81429, y: 106.38462, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1252788155 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1252788157} + - component: {fileID: 1252788156} + m_Layer: 0 + m_Name: Player 2 Containing Extra 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1252788156 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1252788155} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: af84bbf654dca3646be97ee7b9909054, type: 3} + m_Name: + m_EditorClassIdentifier: + pl1: {fileID: 1510027169} + pl2: {fileID: 0} + pl3: {fileID: 0} + pl4: {fileID: 0} + playerCells: [] +--- !u!4 &1252788157 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1252788155} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 68.81429, y: 106.38462, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1279106454 GameObject: m_ObjectHideFlags: 0 @@ -885,7 +1020,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!114 &1279106455 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1111,6 +1246,48 @@ CanvasRenderer: m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 1448316035} +--- !u!1 &1510027168 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1510027170} + - component: {fileID: 1510027169} + m_Layer: 0 + m_Name: Extra 1 Containing Player 3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1510027169 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1510027168} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e97bbb31237b7014d9667ad9549a763e, type: 3} + m_Name: + m_EditorClassIdentifier: + AMIANALLY: 0 + MATE: {fileID: 1131969725} +--- !u!4 &1510027170 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1510027168} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 68.81429, y: 106.38462, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1719003458 GameObject: m_ObjectHideFlags: 0 @@ -1208,6 +1385,48 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0} m_Pivot: {x: 0, y: 0} +--- !u!1 &1742728870 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1742728872} + - component: {fileID: 1742728871} + m_Layer: 0 + m_Name: Extra 2 Containing Player 3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1742728871 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1742728870} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e97bbb31237b7014d9667ad9549a763e, type: 3} + m_Name: + m_EditorClassIdentifier: + AMIANALLY: 1 + MATE: {fileID: 1131969725} +--- !u!4 &1742728872 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1742728870} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 68.81429, y: 106.38462, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1762754327 GameObject: m_ObjectHideFlags: 0 @@ -1560,6 +1779,10 @@ Prefab: propertyPath: m_RootOrder value: 4 objectReference: {fileID: 0} + - target: {fileID: 1379150265939502, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} m_RemovedComponents: [] m_ParentPrefab: {fileID: 100100000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} m_IsPrefabParent: 0 diff --git a/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs b/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs index dd08d66..f96a1cc 100644 --- a/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs +++ b/Dots-RTS-Development/Assets/Scripts/LevelEditor/TeamSetup.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; +using Conversions; public class TeamSetup : MonoBehaviour { @@ -38,6 +39,7 @@ void OnEnable() { print(GameObject.Find("Canvas").GetComponent().scaleFactor); roundTableR = ((roundTable.rect.width * 0.5f)) - teamGOPrefab.GetComponent().sizeDelta.x; + for (int i = 0; i < core.teamList.Count; i++) { GameObject newTeamBox = Instantiate(teamGOPrefab, roundTable.transform); @@ -52,7 +54,7 @@ void OnEnable() { float nextAngle = 0; for (int i = 0; i < teamBoxes.Count; i++) { - teamBoxes[i].transform.localPosition = AngleToPos(nextAngle); + teamBoxes[i].transform.localPosition = BasicConversions.PolarToCartesian(nextAngle, roundTableR); teamBoxes[i].myAngle = (nextAngle); nextAngle += diffAngle; @@ -162,14 +164,7 @@ void BindTwo(Cell.enmTeam first, Cell.enmTeam second) { } } - bool AlreadyIsInAllyHolder(AIHolder list, Cell.enmTeam value) { - for (int i = 0; i < list.allies.Count; i++) { - if (list.allies[i] == value) { - return true; - } - } - return false; - } + void CheckAndAddOtherTeams(Cell.enmTeam firstTeam, Cell.enmTeam secondTeam) { AIHolder firstTeamFriends; @@ -209,57 +204,17 @@ static void DestroyAllInList(List list) { Destroy(list[i]); } } - List> CDToActualClans(Dictionary dict) { - List> actualClans = new List>(); - - Dictionary.KeyCollection keys = dict.Keys; - foreach (Cell.enmTeam j in keys) { - //print(j + " Key"); - AIHolder value; - clanDict.TryGetValue(j, out value); - List clanJ = new List(value.allies); - clanJ.Add(j); - clanJ.Sort(); - - - bool newClan = true; - foreach (List clan in actualClans) { - //print(" one clan with [0] = " + clan[0]); - if (clanJ.Contains(clan[0])) { - newClan = false; - break; - } - - } - if (newClan && clanJ.Count > 1) { - actualClans.Add(clanJ); - } - - } - return actualClans; - } public void UpdateRoundTableVisuals() { - //Dictionary.KeyCollection keysDebug = clanDict.Keys; - //foreach (Cell.enmTeam team in keysDebug) { - // AIHolder holder = new AIHolder(); - // clanDict.TryGetValue(team, out holder); - // string s = " "; - // foreach (Cell.enmTeam ally in holder.allies) { - // s += (ally + " "); - // } - // print("Team: " + team + " has allies" + s); - //} - - DestroyAllInList(bgList); List newList = new List(teamBoxes); float angle = 0; - List> actualClans = CDToActualClans(clanDict); + + List> actualClans = BasicConversions.CDToActualClans(clanDict); for (int i = 0; i < actualClans.Count; i++) { GameObject bg = Instantiate(clanBG, roundTable); bgList.Add(bg); @@ -278,7 +233,7 @@ public void UpdateRoundTableVisuals() { foreach (TeamBox t in teamBoxes) { if (t.team == j) { //Debug.Log(t.team); - t.transform.localPosition = AngleToPos(angle); + t.transform.localPosition = BasicConversions.PolarToCartesian(angle, roundTableR); t.myAngle = angle; t.AllThingsSet(); img.fillAmount += 1f / teamBoxes.Count; @@ -292,7 +247,7 @@ public void UpdateRoundTableVisuals() { } foreach (TeamBox t in newList) { - t.transform.localPosition = AngleToPos(angle); + t.transform.localPosition = BasicConversions.PolarToCartesian(angle, roundTableR); t.myAngle = angle; t.AllThingsSet(); angle += diffAngle; @@ -301,11 +256,18 @@ public void UpdateRoundTableVisuals() { } - Vector2 AngleToPos(float angle) { - return new Vector2(Mathf.Sin(angle) * (roundTableR), Mathf.Cos(angle) * (roundTableR)); + + public static bool AlreadyIsInAllyHolder(AIHolder list, Cell.enmTeam value) { + for (int i = 0; i < list.allies.Count; i++) { + if (list.allies[i] == value) { + return true; + } + } + return false; } + public int MySpawnsIndexFromTeam(Cell.enmTeam team) { int output = -1; for (int i = 0; i < teamBoxes.Count; i++) { @@ -320,6 +282,7 @@ public int MySpawnsIndexFromTeam(Cell.enmTeam team) { } return output; } + public int MySpawnsIndexFromAngle(float RawAngle) { float angle = RawAngle; if (Mathf.Round(angle * 10) / 10 >= Mathf.Round(2 * Mathf.PI * 10) / 10) { @@ -373,7 +336,7 @@ public int MySpawnsIndexFromAngle(float RawAngle) { newDict.Add(team, newAiHolder); } - + return newDict; From 33f3f1c836b15649736bfbf762d0263cc1418dd2 Mon Sep 17 00:00:00 2001 From: Slinta Date: Fri, 13 Oct 2017 21:14:57 +0200 Subject: [PATCH 12/25] Level editor core saves player team too. Signed-off-by: Slinta --- .../Scripts/LevelEditor/LevelEditorCore.cs | 20 ++++++++++++------- .../ProjectSettings/GraphicsSettings.asset | 1 + .../ProjectSettings/ProjectSettings.asset | 6 +++--- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/Dots-RTS-Development/Assets/Scripts/LevelEditor/LevelEditorCore.cs b/Dots-RTS-Development/Assets/Scripts/LevelEditor/LevelEditorCore.cs index ef32488..07fe0d5 100644 --- a/Dots-RTS-Development/Assets/Scripts/LevelEditor/LevelEditorCore.cs +++ b/Dots-RTS-Development/Assets/Scripts/LevelEditor/LevelEditorCore.cs @@ -177,13 +177,15 @@ public void AddCell(EditCell c, bool loadedFromFile = false) { if (getOutilneState) { c.ToggleCellOutline(true); } - if (c.cellTeam != Cell.enmTeam.ALLIED && c.cellTeam != Cell.enmTeam.NEUTRAL) { + if (c.cellTeam != Cell.enmTeam.NEUTRAL) { if (!teamList.Contains(c.cellTeam)) { teamList.Add(c.cellTeam); if (!loadedFromFile) { - aiDifficultyDict.Add(c.cellTeam, defaultDificulty); - AllAiDifficultyWriter.RedoText(aiDifficultyDict); + if(c.cellTeam != Cell.enmTeam.ALLIED) { + aiDifficultyDict.Add(c.cellTeam, defaultDificulty); + AllAiDifficultyWriter.RedoText(aiDifficultyDict); + } } } @@ -208,8 +210,10 @@ public void RemoveCell(EditCell c) { } teamSetup.RemoveFromClan(c.cellTeam); teamList.Remove(c.cellTeam); - aiDifficultyDict.Remove(c.cellTeam); - AllAiDifficultyWriter.RedoText(aiDifficultyDict); + if (c.cellTeam != Cell.enmTeam.ALLIED) { + aiDifficultyDict.Remove(c.cellTeam); + AllAiDifficultyWriter.RedoText(aiDifficultyDict); + } } #endregion @@ -428,8 +432,9 @@ public void AiDiffHandler(Cell.enmTeam team = Cell.enmTeam.NEUTRAL) { foreach (Cell.enmTeam key in teamList) { if (aiDifficultyDict.ContainsKey(key)) { aiDifficultyDict.Remove(key); + aiDifficultyDict.Add(key, aiDificultyAll); } - aiDifficultyDict.Add(key, aiDificultyAll); + } } @@ -437,8 +442,9 @@ public void AiDiffHandler(Cell.enmTeam team = Cell.enmTeam.NEUTRAL) { foreach (Cell.enmTeam key in teamList) { if (aiDifficultyDict.ContainsKey(key)) { aiDifficultyDict.Remove(key); + aiDifficultyDict.Add(key, defaultDificulty); } - aiDifficultyDict.Add(key, defaultDificulty); + } } diff --git a/Dots-RTS-Development/ProjectSettings/GraphicsSettings.asset b/Dots-RTS-Development/ProjectSettings/GraphicsSettings.asset index d74737e..40ff158 100644 --- a/Dots-RTS-Development/ProjectSettings/GraphicsSettings.asset +++ b/Dots-RTS-Development/ProjectSettings/GraphicsSettings.asset @@ -36,6 +36,7 @@ GraphicsSettings: - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} + - {fileID: 16002, guid: 0000000000000000f000000000000000, type: 0} m_PreloadedShaders: [] m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} diff --git a/Dots-RTS-Development/ProjectSettings/ProjectSettings.asset b/Dots-RTS-Development/ProjectSettings/ProjectSettings.asset index 521d66b..490eb49 100644 --- a/Dots-RTS-Development/ProjectSettings/ProjectSettings.asset +++ b/Dots-RTS-Development/ProjectSettings/ProjectSettings.asset @@ -10,7 +10,7 @@ PlayerSettings: targetDevice: 2 useOnDemandResources: 0 accelerometerFrequency: 60 - companyName: DefaultCompany + companyName: DefaultCompanySlinta productName: PhageWars defaultCursor: {fileID: 0} cursorHotspot: {x: 0, y: 0} @@ -57,8 +57,8 @@ PlayerSettings: iosAppInBackgroundBehavior: 0 displayResolutionDialog: 1 iosAllowHTTPDownload: 1 - allowedAutorotateToPortrait: 0 - allowedAutorotateToPortraitUpsideDown: 0 + allowedAutorotateToPortrait: 1 + allowedAutorotateToPortraitUpsideDown: 1 allowedAutorotateToLandscapeRight: 1 allowedAutorotateToLandscapeLeft: 1 useOSAutorotation: 1 From 2a7e5ca18e0642712ccd5644c62d2723a6655d6d Mon Sep 17 00:00:00 2001 From: Slinta Date: Mon, 16 Oct 2017 23:00:38 +0200 Subject: [PATCH 13/25] WIP clan redo. Implementing interfaces. Signed-off-by: Slinta --- .../Assets/Scripts/AI/AI_Helper.cs | 8 +- .../Assets/Scripts/AI/Enemy_AI.cs | 99 ++++++++++++++----- .../Assets/Scripts/AI/Interfaces.cs | 6 +- .../Scripts/Core Classes/Initialize_AI.cs | 2 +- 4 files changed, 82 insertions(+), 33 deletions(-) diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs b/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs index 202ae80..096e444 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs @@ -4,7 +4,7 @@ public static class AI_Helper { public static bool IsTargetOf(this Enemy_AI ai, Enemy_AI other) { - foreach (Enemy_AI temp in ai.getTargets) { + foreach (Enemy_AI temp in ai.getAiTargets) { if (temp == other) { return true; } @@ -13,7 +13,7 @@ public static bool IsTargetOf(this Enemy_AI ai, Enemy_AI other) { } public static bool IsAllyOf(this Enemy_AI ai, Enemy_AI other) { - foreach (Enemy_AI temp in other.getAllies) { + foreach (Enemy_AI temp in other.getAiAllies) { if (ai == temp) { return true; } @@ -31,11 +31,11 @@ public static bool IsAllyOf(this IAlly it, IAlly other) { } public static void AddAlly(this Enemy_AI ai, Enemy_AI ally) { - ai.getAllies.Add(ally); + ai.getAiAllies.Add(ally); } public static void AddTarget(this Enemy_AI ai,Enemy_AI target) { - ai.getTargets.Add(target); + ai.getAiTargets.Add(target); } } diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs index d269236..ac20184 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -10,7 +10,7 @@ public class Enemy_AI : MonoBehaviour, IAlly { public int aICellAidElementTreshold = 10; public float decisionSpeed = 1f; - public Cell.enmTeam aiTeam; + public Cell.enmTeam team; private enum Decision { EXPAND, ATTACK, HELP }; @@ -20,8 +20,8 @@ private enum Decision { EXPAND, ATTACK, HELP }; public List _neutrals = new List(); //Neutral cells in the scene public List _allies = new List(); //Cells this AI will not attack - protected List alliesOfThisAI = new List(); - protected List targetsOfThisAI = new List(); + protected List alliesOfThisAI = new List(); + protected List targetsOfThisAI = new List(); protected CellBehaviour selectedAiCell; //Selected AI cell that will prefrom the action. protected CellBehaviour selectedTargetCell; //Selected target that can be attacked @@ -50,7 +50,7 @@ protected virtual void Start() { CellBehaviour current = PlayManager.cells[i]; - if (current.cellTeam == aiTeam) { + if (current.cellTeam == team) { _aiCells.Add(current); } else if (current.cellTeam == Cell.enmTeam.NEUTRAL) { @@ -106,11 +106,11 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo if (reference == this) { reference._aiCells.Add(sender); - foreach (Enemy_AI ally in reference.getAllies) { + foreach (Enemy_AI ally in reference.getAiAllies) { DataHolder currData = DataHolder.TransformForAlly(new DataHolder(reference, sender), ally); ally.ProcessData(currData, true); } - foreach (Enemy_AI target in reference.getTargets) { + foreach (Enemy_AI target in reference.getAiTargets) { DataHolder currData = DataHolder.TransformForAlly(new DataHolder(reference, sender), target); target.ProcessData(currData, true); } @@ -134,11 +134,11 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo curr._aiCells.Add(sender); curr._targets.Remove(sender); - foreach (Enemy_AI ally in curr.getAllies) { + foreach (Enemy_AI ally in curr.getAiAllies) { DataHolder currData = DataHolder.TransformForAlly(new DataHolder(curr, sender), ally); ally.ProcessData(currData, true); } - foreach (Enemy_AI enemy in curr.getTargets) { + foreach (Enemy_AI enemy in curr.getAiTargets) { DataHolder currData = DataHolder.TransformForTarget(new DataHolder(curr, sender), enemy); enemy.ProcessData(currData, true); } @@ -158,7 +158,7 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo if (prevAI == this) { prevAI._aiCells.Remove(sender); - foreach (Enemy_AI ally in prevAI.getAllies) { + foreach (Enemy_AI ally in prevAI.getAiAllies) { DataHolder currData = DataHolder.TransformForAlly(new DataHolder(prevAI, sender), ally); ally.ProcessData(currData, false); } @@ -167,7 +167,7 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo } else { Debug.LogWarning("Determine if player is in team with prevAI, and then decide on this below."); - foreach (Enemy_AI enemy in prevAI.getTargets) { + foreach (Enemy_AI enemy in prevAI.getAiTargets) { DataHolder currData = DataHolder.TransformForTarget(new DataHolder(prevAI, sender), enemy); enemy.ProcessData(currData, true); } @@ -185,12 +185,12 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo prevAI._aiCells.Remove(sender); //Every ally of prevAI had to be a target of currAI -- so all of the Ais should remove that cell from their ally list - foreach (Enemy_AI ally in prevAI.getAllies) { + foreach (Enemy_AI ally in prevAI.getAiAllies) { DataHolder currData = DataHolder.TransformForAlly(new DataHolder(prevAI, sender), ally); ally.ProcessData(currData, false); } //Any target of prevAI can be an Ally of currAI -- that decides whether we add sender as targets target or not - foreach (Enemy_AI target in prevAI.getTargets) { + foreach (Enemy_AI target in prevAI.getAiTargets) { if (target.IsAllyOf(currAI)) { DataHolder currData = DataHolder.TransformForTarget(new DataHolder(prevAI, sender), target); target.ProcessData(currData, false); @@ -205,11 +205,11 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo currAI._aiCells.Add(sender); currAI._targets.Remove(sender); - foreach (Enemy_AI ally in currAI.getAllies) { + foreach (Enemy_AI ally in currAI.getAiAllies) { DataHolder currData = DataHolder.TransformForAlly(new DataHolder(currAI, sender), ally); ally.ProcessData(currData, true); } - foreach (Enemy_AI target in currAI.getTargets) { + foreach (Enemy_AI target in currAI.getAiTargets) { DataHolder currData = DataHolder.TransformForTarget(new DataHolder(currAI, sender), target); target.ProcessData(currData, true); } @@ -229,8 +229,8 @@ private void ConsiderAllies() { //Needs revalidtion / rewrite for (int i = 0; i < Initialize_AI.AIs.Length; i++) { bool isAlly = false; - for (int j = 0; j < getAllies.Count; j++) { - if (Initialize_AI.AIs[i] == getAllies[j]) { + for (int j = 0; j < getAiAllies.Count; j++) { + if (Initialize_AI.AIs[i] == getAiAllies[j]) { isAlly = true; } } @@ -241,8 +241,8 @@ private void ConsiderAllies() { //Needs revalidtion / rewrite //Loop through all allied Enemy_AIs - for (int j = 0; j < getAllies.Count; j++) { - Enemy_AI currentAlly = getAllies[j]; //print("My ally has " + alliesOfThisAI[j]._aiCells.Count + " cells. " + gameObject.name); + for (int j = 0; j < getAiAllies.Count; j++) { + Enemy_AI currentAlly = getAiAllies[j]; //print("My ally has " + alliesOfThisAI[j]._aiCells.Count + " cells. " + gameObject.name); //Loop though all aiCells of the allied Enemy_AI for (int k = 0; k < currentAlly._aiCells.Count; k++) { @@ -536,32 +536,73 @@ private void ProcessData(DataHolder data, bool is_Adding, Enemy_AI ai = null) { } } - public bool IsAllyOF(IAlly other) { - // Enemy_AI ai = (Enemy_AI)other; - // print(ai.aiTeam); - return false; +#region IAlly implementation + public Cell.enmTeam Team { + get { + return team; + } + } + + public List Targets { + get { + return targetsOfThisAI; + } + set { + targetsOfThisAI = value; + } + } + public List Allies { + get { + return alliesOfThisAI; + } + set { + targetsOfThisAI = value; + } } + + + public List Allies => throw new NotImplementedException(); + + public bool IsAllyOf(Cell.enmTeam other) { + if () + } + + public bool IsTargetOf(IAlly other) { + throw new NotImplementedException(); + } + +#endregion + #region Getters and Operators /// /// Get current AIs Team /// public Cell.enmTeam getCurrentAiTeam { - get { return aiTeam; } - private set { aiTeam = value; } + get { return team; } + private set { team = value; } } /// /// Get a list containing all allies of this AI /// - public List getAllies { - get { return alliesOfThisAI; } + public List getAiAllies { + get { + List ais = new List(); + foreach (IAlly ally in alliesOfThisAI) { + Enemy_AI ai = ally as Enemy_AI; + if (ally != null) { + ais.Add(ai); + } + } + return ais; + } } /// /// Get a list containing all targets of this AI /// - public List getTargets { + public List getAiTargets { get { return targetsOfThisAI; } } @@ -573,6 +614,10 @@ public Player playerScript { set { playerCells = value; } } + + + + /// /// Cast Cell.enmTeam into a Enemy_AI script /// diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs b/Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs index ab7dd27..81669e9 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs @@ -4,8 +4,12 @@ using System.Collections.Generic; public interface IAlly { - bool IsAllyOF(IAlly other); + Cell.enmTeam Team { get; } + List Targets { get; set; } + List Allies { get; set; } + bool IsAllyOf(IAlly other); + bool IsTargetOf(IAlly other); } public static class IAllyExtension { diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs index c080c90..91441c7 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs @@ -111,7 +111,7 @@ public void SetAis(int index, Cell.enmTeam team) { } } ai.decisionSpeed = decisionSpeeds[index]; - ai.aiTeam = team; + ai.team = team; ai.isActive = true; AIs[index] = ai; ai.playerScript = playerScript; From c2fa110d7b8424f77cb1e94853541c20e0a3458b Mon Sep 17 00:00:00 2001 From: Slinta Date: Tue, 17 Oct 2017 23:10:00 +0200 Subject: [PATCH 14/25] Now erroless at start but some player script errors happen Signed-off-by: Slinta --- .../Assets/Scripts/AI/AI_Helper.cs | 28 +- .../Assets/Scripts/AI/Enemy_AI.cs | 21 +- .../Assets/Scripts/AI/Interfaces.cs | 12 - .../Assets/Scripts/Core Classes/Player.cs | 78 +- .../Assets/Scripts/Debug/ExtraPlayer.cs | 23 - .../Assets/Scripts/Debug/ExtraPlayer.cs.meta | 12 - .../Assets/Scripts/Debug/Test.unity | 7988 +++++++++++++++++ .../Assets/Scripts/Debug/Test.unity.meta | 8 + 8 files changed, 8044 insertions(+), 126 deletions(-) delete mode 100644 Dots-RTS-Development/Assets/Scripts/Debug/ExtraPlayer.cs delete mode 100644 Dots-RTS-Development/Assets/Scripts/Debug/ExtraPlayer.cs.meta create mode 100644 Dots-RTS-Development/Assets/Scripts/Debug/Test.unity create mode 100644 Dots-RTS-Development/Assets/Scripts/Debug/Test.unity.meta diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs b/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs index 096e444..c0f6655 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs @@ -3,33 +3,7 @@ using UnityEngine; public static class AI_Helper { - public static bool IsTargetOf(this Enemy_AI ai, Enemy_AI other) { - foreach (Enemy_AI temp in ai.getAiTargets) { - if (temp == other) { - return true; - } - } - return false; - } - - public static bool IsAllyOf(this Enemy_AI ai, Enemy_AI other) { - foreach (Enemy_AI temp in other.getAiAllies) { - if (ai == temp) { - return true; - } - } - return false; - - } - - //public static bool IsAllyOf(this IAlly it, Player other) { - // return other.IsAllyOF(it); - //} - - public static bool IsAllyOf(this IAlly it, IAlly other) { - return other.IsAllyOF(it); - } - + //Functions to find ally moved to the interface IAlly interface public static void AddAlly(this Enemy_AI ai, Enemy_AI ally) { ai.getAiAllies.Add(ally); } diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs index ac20184..5a22605 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -560,16 +560,12 @@ public List Allies { } } - - - public List Allies => throw new NotImplementedException(); - - public bool IsAllyOf(Cell.enmTeam other) { - if () + public bool IsAllyOf(IAlly other) { + return Allies.Contains(other); } public bool IsTargetOf(IAlly other) { - throw new NotImplementedException(); + return Targets.Contains(other); } #endregion @@ -603,7 +599,16 @@ public List getAiAllies { /// Get a list containing all targets of this AI /// public List getAiTargets { - get { return targetsOfThisAI; } + get { + List ais = new List(); + foreach (IAlly target in targetsOfThisAI) { + Enemy_AI ai = target as Enemy_AI; + if (target != null) { + ais.Add(ai); + } + } + return ais; + } } /// diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs b/Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs index 81669e9..1f0020a 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs @@ -12,16 +12,4 @@ public interface IAlly { bool IsTargetOf(IAlly other); } -public static class IAllyExtension { - public static bool IsAllyOf(this IAlly it, Player p ) { - return p.IsAllyOF(it); - } - - public static bool IsAllyOf(this Enemy_AI p, IAlly it) { - return p.IsAllyOF(it); - } - public static bool IsAllyOf(this IAlly it, IAlly p) { - return p.IsAllyOF(it); - } -} diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs index 7a8bb00..ca1b1e8 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs @@ -2,60 +2,50 @@ using System.Collections.Generic; using System; -public class Player : MonoBehaviour,IAlly { - //Cell.enmTeam playerTeam; - //List alliesOfPlayer; - //List targetsOfPlayer; - - public ExtraPlayer pl1; - public ExtraPlayer pl2; - public ExtraPlayer pl3; - public Player pl4; +public class Player : MonoBehaviour, IAlly { + Cell.enmTeam playerTeam; + List alliesOfPlayer; + List targetsOfPlayer; public List listOfAlly = new List(); public List playerCells = new List(); - //private void Start() { - // foreach (CellBehaviour cell in PlayManager.cells) { - // if (cell.cellTeam == Cell.enmTeam.ALLIED) { - // playerCells.Add(cell); - // } - // } - //} + + private void Start() { - listOfAlly.Add(pl1); - //listOfAlly.Add(pl2); - //listOfAlly.Add(pl3); - //listOfAlly.Add(pl4); + foreach (CellBehaviour cell in PlayManager.cells) { + if (cell.cellTeam == Cell.enmTeam.ALLIED) { + playerCells.Add(cell); + } + } } + public Cell.enmTeam Team { + get { + return playerTeam; + } + } - public bool IsAllyOF(IAlly other) { - //ExtraPlayer playah = (ExtraPlayer)other; - //playah.PRintCrap(); - foreach (IAlly ally in listOfAlly) { - - if (ally == other) { - try { - print(((Enemy_AI)other).name); - } - catch(Exception e) { - Debug.Log(e); - } - print(((ExtraPlayer)other).name); - - print("Found a match" + ally + " " + other); - return true; - } - else { - print("NOG"); - } - + public List Targets { get { + return targetsOfPlayer; + } + set { targetsOfPlayer = value; + } + } + public List Allies { + get { + return alliesOfPlayer; + } + set { + alliesOfPlayer = value; } - return false; } - public void PRintCrap() { - //print("Stuff yaay"); + public bool IsAllyOf(IAlly other) { + return Allies.Contains(other); + } + + public bool IsTargetOf(IAlly other) { + return Targets.Contains(other); } } \ No newline at end of file diff --git a/Dots-RTS-Development/Assets/Scripts/Debug/ExtraPlayer.cs b/Dots-RTS-Development/Assets/Scripts/Debug/ExtraPlayer.cs deleted file mode 100644 index c7e11cd..0000000 --- a/Dots-RTS-Development/Assets/Scripts/Debug/ExtraPlayer.cs +++ /dev/null @@ -1,23 +0,0 @@ -using UnityEngine; -using System.Collections; -using System; - -public class ExtraPlayer : MonoBehaviour, IAlly { - - public bool AMIANALLY; - public Player MATE; - private void Start() { - if (this.IsAllyOf(MATE)) { - print(this.name + " Is an Ally of " + MATE.name); - } - } - - public bool IsAllyOF(IAlly other) { - return AMIANALLY; - } - - - public void PRintCrap() { - //print("Stuff yaay"); - } -} diff --git a/Dots-RTS-Development/Assets/Scripts/Debug/ExtraPlayer.cs.meta b/Dots-RTS-Development/Assets/Scripts/Debug/ExtraPlayer.cs.meta deleted file mode 100644 index da6fd1e..0000000 --- a/Dots-RTS-Development/Assets/Scripts/Debug/ExtraPlayer.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: e97bbb31237b7014d9667ad9549a763e -timeCreated: 1507317373 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/Debug/Test.unity b/Dots-RTS-Development/Assets/Scripts/Debug/Test.unity new file mode 100644 index 0000000..09470ea --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/Debug/Test.unity @@ -0,0 +1,7988 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 0 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFiltering: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousColorSigma: 1 + m_PVRFilteringAtrousNormalSigma: 1 + m_PVRFilteringAtrousPositionSigma: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &85427387 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 455087986} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 996.44934 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 8 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &85427388 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 85427387} +--- !u!1001 &104893553 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 350378941} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 599.60645 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01342 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade1 (4) + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &104893554 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 104893553} +--- !u!1001 &114318040 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 350378941} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 467.20483 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01342 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade1 (3) + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 3 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &114318041 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 114318040} +--- !u!1 &115756729 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 115756730} + - component: {fileID: 115756731} + m_Layer: 0 + m_Name: DEF_Upgrades + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &115756730 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 115756729} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 863895702} + - {fileID: 1342718923} + - {fileID: 773220782} + - {fileID: 1615398893} + - {fileID: 1181613832} + - {fileID: 1473449694} + - {fileID: 266360664} + - {fileID: 1921803365} + - {fileID: 1933322372} + - {fileID: 1482094576} + m_Father: {fileID: 1518665573} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 287.89267, y: 80.96989} + m_SizeDelta: {x: -575.7854, y: -161.93965} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &115756731 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 115756729} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 20 + m_Right: 0 + m_Top: 20 + m_Bottom: 20 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 +--- !u!1 &162232820 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 162232821} + - component: {fileID: 162232823} + - component: {fileID: 162232822} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &162232821 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 162232820} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1896628191} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &162232822 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 162232820} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Back to Main Menu + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} + m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_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_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 162232822} + characterCount: 17 + spriteCount: 0 + spaceCount: 3 + wordCount: 4 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &162232823 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 162232820} +--- !u!1001 &266360663 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 115756730} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 864.0994 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 6 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &266360664 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 266360663} +--- !u!1 &314293185 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 314293186} + - component: {fileID: 314293188} + - component: {fileID: 314293187} + - component: {fileID: 314293189} + m_Layer: 5 + m_Name: MenuPanel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &314293186 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314293185} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1655809469} + - {fileID: 735550378} + - {fileID: 543502279} + - {fileID: 1896628191} + m_Father: {fileID: 521256896} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.3, y: 0.2} + m_AnchorMax: {x: 0.7, y: 0.9} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &314293187 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314293185} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 0.392} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &314293188 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314293185} +--- !u!95 &314293189 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 314293185} + m_Enabled: 1 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 9100000, guid: bc4d1b58d99b901408d553496af80ffc, type: 2} + m_CullingMode: 0 + m_UpdateMode: 2 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 +--- !u!1001 &329377905 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4204711534086136, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 114238875923900244, guid: 832544c7e7bf75b4db0a86944091eae7, + type: 2} + propertyPath: background + value: + objectReference: {fileID: 2034937579} + - target: {fileID: 114250571848743984, guid: 832544c7e7bf75b4db0a86944091eae7, + type: 2} + propertyPath: background + value: + objectReference: {fileID: 2034937579} + - target: {fileID: 1337293547799692, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 832544c7e7bf75b4db0a86944091eae7, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &343658516 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 343658517} + - component: {fileID: 343658519} + - component: {fileID: 343658518} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &343658517 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 343658516} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 778015216} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &343658518 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 343658516} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 12800000, guid: d2b68367c75ac8c4fa38a234b80f1622, type: 3} + m_FontSize: 30 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 3 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 'Menu + +' +--- !u!222 &343658519 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 343658516} +--- !u!1 &350378940 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 350378941} + - component: {fileID: 350378942} + m_Layer: 0 + m_Name: ATK_Upgrades + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &350378941 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 350378940} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1338837280} + - {fileID: 1298937800} + - {fileID: 532957584} + - {fileID: 114318041} + - {fileID: 104893554} + - {fileID: 1871167416} + - {fileID: 1429833364} + - {fileID: 728067768} + - {fileID: 808136887} + - {fileID: 1455261477} + m_Father: {fileID: 1518665573} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 287.89267, y: 80.96989} + m_SizeDelta: {x: -575.7854, y: -161.93965} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &350378942 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 350378940} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 20 + m_Right: 0 + m_Top: 20 + m_Bottom: 20 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 +--- !u!1 &455087985 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 455087986} + - component: {fileID: 455087987} + m_Layer: 0 + m_Name: UTIL_Upgrades + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &455087986 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 455087985} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1864967770} + - {fileID: 974366503} + - {fileID: 2141883764} + - {fileID: 1646967896} + - {fileID: 1537333701} + - {fileID: 2046263658} + - {fileID: 1146829010} + - {fileID: 85427388} + - {fileID: 1332589345} + - {fileID: 886122500} + m_Father: {fileID: 1518665573} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 287.89267, y: 80.96989} + m_SizeDelta: {x: -575.7854, y: -161.93965} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &455087987 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 455087985} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -405508275, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 20 + m_Right: 0 + m_Top: 20 + m_Bottom: 20 + m_ChildAlignment: 3 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 +--- !u!1 &521256892 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 521256896} + - component: {fileID: 521256895} + - component: {fileID: 521256894} + - component: {fileID: 521256893} + m_Layer: 5 + m_Name: Canvas + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &521256893 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 521256892} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &521256894 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 521256892} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0.5 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &521256895 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 521256892} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 0 + m_Camera: {fileID: 0} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 27 + m_SortingLayerID: 0 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &521256896 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 521256892} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 959814883} + - {fileID: 778015216} + - {fileID: 314293186} + - {fileID: 1019555818} + m_Father: {fileID: 0} + m_RootOrder: 1 + 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: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1001 &532957583 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 350378941} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 334.80322 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01342 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade1 (2) + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 2 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &532957584 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 532957583} +--- !u!1 &543502278 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 543502279} + - component: {fileID: 543502283} + - component: {fileID: 543502282} + - component: {fileID: 543502281} + - component: {fileID: 543502280} + m_Layer: 5 + m_Name: LevelSelect + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &543502279 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 543502278} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 930668628} + m_Father: {fileID: 314293186} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.2, y: 0.3} + m_AnchorMax: {x: 0.8, y: 0.4} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &543502280 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 543502278} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aff88e1dbcede5541a7676780a4ce335, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &543502281 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 543502278} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 543502282} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 543502280} + m_MethodName: SwitchScene + m_Mode: 5 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 2 + m_FloatArgument: 0 + m_StringArgument: Level_Select + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &543502282 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 543502278} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &543502283 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 543502278} +--- !u!1001 &564050390 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4930410514900000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 114962941412382150, guid: 5cc6ffdc88999d84ebf6db30430568d1, + type: 2} + propertyPath: profileVis + value: + objectReference: {fileID: 1295505388312150, guid: 0fd06381fa84bae4fa1d5208c39b2833, + type: 2} + - target: {fileID: 1379150265939502, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + propertyPath: m_IsActive + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: 5cc6ffdc88999d84ebf6db30430568d1, type: 2} + m_IsPrefabParent: 0 +--- !u!1 &631089167 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 631089168} + - component: {fileID: 631089170} + - component: {fileID: 631089169} + m_Layer: 0 + m_Name: TYPE_Name + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &631089168 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 631089167} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1875764022} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.35} + m_AnchorMax: {x: 1, y: 0.65} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &631089169 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 631089167} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Type Name + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} + m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_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_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 40 + m_fontSizeBase: 40 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 513 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 631089169} + characterCount: 9 + spriteCount: 0 + spaceCount: 1 + wordCount: 2 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &631089170 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 631089167} +--- !u!1 &644619215 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 644619216} + - component: {fileID: 644619218} + - component: {fileID: 644619217} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &644619216 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 644619215} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 735550378} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &644619217 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 644619215} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Edit Level + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} + m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_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_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 644619217} + characterCount: 10 + spriteCount: 0 + spaceCount: 1 + wordCount: 2 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &644619218 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 644619215} +--- !u!1001 &728067767 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 350378941} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 996.8113 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01342 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade1 (7) + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &728067768 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 728067767} +--- !u!1 &735550377 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 735550378} + - component: {fileID: 735550382} + - component: {fileID: 735550381} + - component: {fileID: 735550380} + - component: {fileID: 735550379} + m_Layer: 5 + m_Name: Edit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &735550378 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735550377} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 644619216} + m_Father: {fileID: 314293186} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.2, y: 0.5} + m_AnchorMax: {x: 0.8, y: 0.6} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &735550379 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735550377} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7d86a9b9d2027874eb1352e8a26d9933, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &735550380 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735550377} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 735550381} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 735550379} + m_MethodName: EditMode + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &735550381 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735550377} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &735550382 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 735550377} +--- !u!1001 &773220781 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 115756730} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 334.6998 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 2 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 102 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &773220782 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 773220781} +--- !u!1 &778015215 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 778015216} + - component: {fileID: 778015220} + - component: {fileID: 778015219} + - component: {fileID: 778015218} + - component: {fileID: 778015217} + m_Layer: 5 + m_Name: ToMainMenu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &778015216 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 778015215} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 343658517} + m_Father: {fileID: 521256896} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -10, y: -10} + m_SizeDelta: {x: 200, y: 50} + m_Pivot: {x: 1, y: 1} +--- !u!114 &778015217 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 778015215} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7d86a9b9d2027874eb1352e8a26d9933, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &778015218 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 778015215} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 778015219} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 778015217} + m_MethodName: PauseGameorEscape + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &778015219 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 778015215} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &778015220 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 778015215} +--- !u!1 &795130066 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 795130071} + - component: {fileID: 795130070} + - component: {fileID: 795130069} + - component: {fileID: 795130068} + - component: {fileID: 795130067} + - component: {fileID: 795130073} + - component: {fileID: 795130072} + - component: {fileID: 795130075} + - component: {fileID: 795130076} + - component: {fileID: 795130074} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &795130067 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 795130066} + m_Enabled: 1 +--- !u!124 &795130068 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 795130066} + m_Enabled: 1 +--- !u!92 &795130069 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 795130066} + m_Enabled: 1 +--- !u!20 &795130070 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 795130066} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 1 + orthographic size: 250 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 + m_StereoMirrorMode: 0 +--- !u!4 &795130071 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 795130066} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &795130072 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 795130066} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cccf7b01c0895f2409ccb77538004e49, type: 3} + m_Name: + m_EditorClassIdentifier: + errorText: {fileID: 959814884} + thingsToDisable: + - {fileID: 543502278} + - {fileID: 1896628190} +--- !u!114 &795130073 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 795130066} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1be7755cec3fc6d41b4ff6bf7cd0d284, type: 3} + m_Name: + m_EditorClassIdentifier: + cellPrefab: {fileID: 1930486067858668, guid: fbba495e544d3cc4ab7f76f6d081f3de, type: 2} + init: {fileID: 795130075} +--- !u!114 &795130074 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 795130066} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -1690312454, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_EventMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &795130075 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 795130066} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 44871dc4b679cee4391f74f4fe74ca3b, type: 3} + m_Name: + m_EditorClassIdentifier: + playerData: {fileID: 1121900551361786, guid: ab110c352f1dd804b9bc5f5066dce436, type: 2} + initAIs: 0000000000000000 + aiTeams: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + decisionSpeeds: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 +--- !u!114 &795130076 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 795130066} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 85adf20d5b6e33b4e8c1538c814f7887, type: 3} + m_Name: + m_EditorClassIdentifier: + c: {fileID: 795130070} + background: {fileID: 2034937579} +--- !u!1001 &808136886 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 350378941} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 1129.2129 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01342 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade1 (8) + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &808136887 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 808136886} +--- !u!1001 &863895701 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 115756730} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 70 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 0 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 100 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &863895702 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 863895701} +--- !u!1001 &886122499 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 455087986} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 1261.149 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 10 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &886122500 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 886122499} +--- !u!1 &930668627 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 930668628} + - component: {fileID: 930668630} + - component: {fileID: 930668629} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &930668628 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 930668627} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 543502279} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &930668629 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 930668627} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Back to Level Select + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} + m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_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_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 930668629} + characterCount: 20 + spriteCount: 0 + spaceCount: 3 + wordCount: 4 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &930668630 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 930668627} +--- !u!1 &959814882 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 959814883} + - component: {fileID: 959814885} + - component: {fileID: 959814884} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!224 &959814883 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 959814882} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 521256896} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &959814884 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 959814882} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 50 + m_FontStyle: 0 + m_BestFit: 0 + m_MinSize: 5 + m_MaxSize: 50 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: New Text +--- !u!222 &959814885 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 959814882} +--- !u!1001 &974366502 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 455087986} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 202.3499 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 2 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 201 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &974366503 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 974366502} +--- !u!1 &1019555816 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1019555818} + - component: {fileID: 1019555817} + m_Layer: 0 + m_Name: FPS + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1019555817 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1019555816} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 368f245efbf02d14eb0ad093fa9a8474, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!224 &1019555818 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1019555816} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 521256896} + m_RootOrder: 3 + 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: -388.17004, y: 252} + m_SizeDelta: {x: 428.35, y: 260} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1071084009 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1071084010} + - component: {fileID: 1071084012} + - component: {fileID: 1071084011} + m_Layer: 0 + m_Name: TYPE_Image + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1071084010 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1071084009} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1875764022} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: -20, y: -20} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1071084011 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1071084009} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 21300000, guid: 8c2663a9a43ba7f4bb430c2c842865bf, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1071084012 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1071084009} +--- !u!1001 &1146829009 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 455087986} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 864.0994 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 7 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1146829010 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1146829009} +--- !u!1001 &1181613831 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 115756730} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 599.3996 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 4 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1181613832 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1181613831} +--- !u!1 &1263508644 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1222337537987322, guid: c3eb75ed400e9b243af3b7231a012f2e, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1263508645} + - component: {fileID: 1263508647} + - component: {fileID: 1263508646} + m_Layer: 0 + m_Name: Description + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1263508645 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224832777635013020, guid: c3eb75ed400e9b243af3b7231a012f2e, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1263508644} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1518665573} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.3, y: 0} + m_AnchorMax: {x: 1, y: 0.5} + m_AnchoredPosition: {x: 0, y: -5} + m_SizeDelta: {x: 0, y: -10} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1263508646 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1263508644} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Description for the upgrade currently selected. + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} + m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_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_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 40 + m_fontSizeBase: 40 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 513 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 10, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1263508646} + characterCount: 47 + spriteCount: 0 + spaceCount: 5 + wordCount: 6 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1263508647 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222543531929138142, guid: c3eb75ed400e9b243af3b7231a012f2e, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1263508644} +--- !u!1 &1289458968 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1289458969} + - component: {fileID: 1289458972} + - component: {fileID: 1289458971} + - component: {fileID: 1289458970} + - component: {fileID: 1289458973} + m_Layer: 0 + m_Name: UTIL + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1289458969 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1289458968} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1465621278} + m_Father: {fileID: 2030240135} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.66, y: 0.8} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1289458970 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1289458968} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1289458971} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1289458973} + m_MethodName: SwitchUpgradeWindow + m_Mode: 2 + m_Arguments: + m_ObjectArgument: {fileID: 1289458969} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Transform, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1289458971 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1289458968} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1289458972 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1289458968} +--- !u!114 &1289458973 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1289458968} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7d86a9b9d2027874eb1352e8a26d9933, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1296210419 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1296210422} + - component: {fileID: 1296210421} + - component: {fileID: 1296210420} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1296210420 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1296210419} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1077351063, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1296210421 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1296210419} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -619905303, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 5 +--- !u!4 &1296210422 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1296210419} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1298937799 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 350378941} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 202.40161 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01342 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade1 (1) + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1298937800 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1298937799} +--- !u!1001 &1332589344 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 455087986} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 1128.7992 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 9 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1332589345 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1332589344} +--- !u!1001 &1338837279 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 350378941} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 70 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01342 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1338837280 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1338837279} +--- !u!1001 &1342718922 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 115756730} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 202.3499 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 101 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1342718923 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1342718922} +--- !u!1001 &1429833363 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 350378941} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 864.40967 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01342 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade1 (6) + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1429833364 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1429833363} +--- !u!1 &1442682570 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1442682572} + - component: {fileID: 1442682571} + m_Layer: 0 + m_Name: PlayManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1442682571 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1442682570} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2434ed602925d054888df22ff06ce879, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1442682572 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1442682570} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1455261476 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 350378941} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 9 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 1261.6145 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01342 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade1 (9) + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1455261477 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1455261476} +--- !u!1 &1465621277 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1465621278} + - component: {fileID: 1465621280} + - component: {fileID: 1465621279} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1465621278 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1465621277} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1289458969} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1465621279 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1465621277} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Utility + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} + m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_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_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1465621279} + characterCount: 7 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1465621280 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1465621277} +--- !u!1001 &1473449693 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 115756730} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 731.7495 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 5 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1473449694 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1473449693} +--- !u!1001 &1482094575 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 115756730} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 13 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 1261.149 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 9 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1482094576 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1482094575} +--- !u!1 &1518665572 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 1401110639400866, guid: c3eb75ed400e9b243af3b7231a012f2e, + type: 2} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1518665573} + - component: {fileID: 1518665576} + - component: {fileID: 1518665575} + - component: {fileID: 1518665574} + m_Layer: 0 + m_Name: UPGRADE_Panel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1518665573 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 224075837406404278, guid: c3eb75ed400e9b243af3b7231a012f2e, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1518665572} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2030240135} + - {fileID: 350378941} + - {fileID: 115756730} + - {fileID: 455087986} + - {fileID: 1263508645} + m_Father: {fileID: 1770225361} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0.3} + m_AnchoredPosition: {x: 0, y: -360} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1518665574 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 114228613550174286, guid: c3eb75ed400e9b243af3b7231a012f2e, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1518665572} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1518665575 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 222699010110340014, guid: c3eb75ed400e9b243af3b7231a012f2e, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1518665572} +--- !u!95 &1518665576 +Animator: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 95024705389128710, guid: c3eb75ed400e9b243af3b7231a012f2e, + type: 2} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1518665572} + m_Enabled: 0 + m_Avatar: {fileID: 0} + m_Controller: {fileID: 0} + m_CullingMode: 0 + m_UpdateMode: 2 + m_ApplyRootMotion: 0 + m_LinearVelocityBlending: 0 + m_WarningMessage: + m_HasTransformHierarchy: 1 + m_AllowConstantClipSamplingOptimization: 1 +--- !u!1001 &1537333700 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 455087986} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 599.3996 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1537333701 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1537333700} +--- !u!1001 &1615398892 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 115756730} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 467.04968 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 3 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 103 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1615398893 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1615398892} +--- !u!1001 &1646967895 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 455087986} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 467.04968 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 4 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1646967896 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1646967895} +--- !u!1 &1655809468 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1655809469} + - component: {fileID: 1655809473} + - component: {fileID: 1655809472} + - component: {fileID: 1655809471} + - component: {fileID: 1655809470} + m_Layer: 5 + m_Name: Continue + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1655809469 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1655809468} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1918076648} + m_Father: {fileID: 314293186} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.2, y: 0.7} + m_AnchorMax: {x: 0.8, y: 0.8} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1655809470 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1655809468} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7d86a9b9d2027874eb1352e8a26d9933, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1655809471 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1655809468} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1655809472} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1655809470} + m_MethodName: Continue + m_Mode: 1 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1655809472 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1655809468} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1655809473 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1655809468} +--- !u!1 &1705956838 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1705956839} + - component: {fileID: 1705956842} + - component: {fileID: 1705956841} + - component: {fileID: 1705956840} + - component: {fileID: 1705956843} + m_Layer: 0 + m_Name: ATK + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1705956839 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705956838} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1968041219} + m_Father: {fileID: 2030240135} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0.8} + m_AnchorMax: {x: 0.33, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1705956840 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705956838} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1705956841} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1705956843} + m_MethodName: SwitchUpgradeWindow + m_Mode: 2 + m_Arguments: + m_ObjectArgument: {fileID: 1705956839} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Transform, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1705956841 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705956838} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1705956842 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705956838} +--- !u!114 &1705956843 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1705956838} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7d86a9b9d2027874eb1352e8a26d9933, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1770225357 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1770225361} + - component: {fileID: 1770225360} + - component: {fileID: 1770225359} + - component: {fileID: 1770225358} + m_Layer: 5 + m_Name: CanvasCamera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &1770225358 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770225357} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreReversedGraphics: 1 + m_BlockingObjects: 0 + m_BlockingMask: + serializedVersion: 2 + m_Bits: 4294967295 +--- !u!114 &1770225359 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770225357} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_UiScaleMode: 1 + m_ReferencePixelsPerUnit: 100 + m_ScaleFactor: 1 + m_ReferenceResolution: {x: 1920, y: 1080} + m_ScreenMatchMode: 0 + m_MatchWidthOrHeight: 0.5 + m_PhysicalUnit: 3 + m_FallbackScreenDPI: 96 + m_DefaultSpriteDPI: 96 + m_DynamicPixelsPerUnit: 1 +--- !u!223 &1770225360 +Canvas: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770225357} + m_Enabled: 1 + serializedVersion: 3 + m_RenderMode: 1 + m_Camera: {fileID: 795130070} + m_PlaneDistance: 100 + m_PixelPerfect: 0 + m_ReceivesEvents: 1 + m_OverrideSorting: 0 + m_OverridePixelPerfect: 0 + m_SortingBucketNormalizedSize: 0 + m_AdditionalShaderChannelsFlag: 27 + m_SortingLayerID: 338829331 + m_SortingOrder: 0 + m_TargetDisplay: 0 +--- !u!224 &1770225361 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1770225357} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0, y: 0, z: 0} + m_Children: + - {fileID: 1518665573} + m_Father: {fileID: 0} + m_RootOrder: 2 + 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: 0, y: 0} + m_Pivot: {x: 0, y: 0} +--- !u!1001 &1864967769 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 455087986} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 70 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114984761705476296, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: type + value: 200 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1864967770 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1864967769} +--- !u!1001 &1871167415 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 350378941} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 732.00806 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -81.01342 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade1 (5) + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114287119119034274, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Enabled + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1871167416 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1871167415} +--- !u!1 &1875764021 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1875764022} + m_Layer: 0 + m_Name: TYPE_Holder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1875764022 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1875764021} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1071084010} + - {fileID: 631089168} + m_Father: {fileID: 2030240135} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 0.8} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &1896628190 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1896628191} + - component: {fileID: 1896628195} + - component: {fileID: 1896628194} + - component: {fileID: 1896628193} + - component: {fileID: 1896628192} + m_Layer: 5 + m_Name: MainMenu + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1896628191 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1896628190} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 162232821} + m_Father: {fileID: 314293186} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.2, y: 0.1} + m_AnchorMax: {x: 0.8, y: 0.2} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1896628192 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1896628190} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aff88e1dbcede5541a7676780a4ce335, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1896628193 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1896628190} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1896628194} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1896628192} + m_MethodName: SwitchScene + m_Mode: 5 + m_Arguments: + m_ObjectArgument: {fileID: 0} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: Main_Menu + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &1896628194 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1896628190} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &1896628195 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1896628190} +--- !u!1 &1918076647 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1918076648} + - component: {fileID: 1918076650} + - component: {fileID: 1918076649} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1918076648 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1918076647} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1655809469} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1918076649 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1918076647} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Continue + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} + m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_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_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1918076649} + characterCount: 8 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1918076650 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1918076647} +--- !u!1001 &1921803364 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 115756730} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 996.44934 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 7 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1921803365 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1921803364} +--- !u!1001 &1933322371 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 115756730} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 12 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 1128.7992 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 8 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &1933322372 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 1933322371} +--- !u!1 &1968041218 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1968041219} + - component: {fileID: 1968041221} + - component: {fileID: 1968041220} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1968041219 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1968041218} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1705956839} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1968041220 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1968041218} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Offense + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} + m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_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_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 1968041220} + characterCount: 7 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1968041221 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1968041218} +--- !u!1 &2029816252 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2029816253} + - component: {fileID: 2029816255} + - component: {fileID: 2029816254} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2029816253 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2029816252} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 2118455973} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2029816254 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2029816252} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 1453722849, guid: 89f0137620f6af44b9ba852b4190e64e, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_text: Defense + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} + m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_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_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_outlineColor: + serializedVersion: 2 + rgba: 4278190080 + m_fontSize: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_textAlignment: 514 + m_isAlignmentEnumConverted: 1 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_firstOverflowCharacterIndex: -1 + m_linkedTextComponent: {fileID: 0} + m_isLinkedTextComponent: 0 + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_ignoreRectMaskCulling: 0 + m_ignoreCulling: 1 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_firstVisibleCharacter: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_textInfo: + textComponent: {fileID: 2029816254} + characterCount: 7 + spriteCount: 0 + spaceCount: 0 + wordCount: 1 + linkCount: 0 + lineCount: 1 + pageCount: 1 + materialCount: 1 + m_havePropertiesChanged: 1 + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_spriteAnimator: {fileID: 0} + m_isInputParsingRequired: 1 + m_inputSource: 0 + m_hasFontAssetChanged: 0 + m_subTextObjects: + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + - {fileID: 0} + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &2029816255 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2029816252} +--- !u!1 &2030240134 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2030240135} + m_Layer: 0 + m_Name: UPGRADE_Types + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2030240135 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2030240134} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1705956839} + - {fileID: 2118455973} + - {fileID: 1289458969} + - {fileID: 1875764022} + m_Father: {fileID: 1518665573} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0.29747918, y: 1} + m_AnchoredPosition: {x: 0, y: 9.094947e-13} + m_SizeDelta: {x: 0, y: -1.8189894e-12} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1 &2034937575 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2034937579} + - component: {fileID: 2034937578} + - component: {fileID: 2034937577} + - component: {fileID: 2034937576} + m_Layer: 0 + m_Name: Background + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!114 &2034937576 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2034937575} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b8c029fcfef64b741b194ece9badbf97, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!61 &2034937577 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2034937575} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0.5, y: 0.5} + oldSize: {x: 1920, y: 1080} + newSize: {x: 192, y: 108} + adaptiveTilingThreshold: 0.5 + drawMode: 1 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 192, y: 108} + m_EdgeRadius: 0 +--- !u!212 &2034937578 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2034937575} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: -124898475 + m_SortingLayer: 1 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: 3d7b909ceb86fec4aa15259ce722e378, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 1 + m_Size: {x: 192, y: 108} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 +--- !u!224 &2034937579 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2034937575} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + 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: 192, y: 108} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!1001 &2046263657 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 455087986} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 731.7495 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 6 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &2046263658 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 2046263657} +--- !u!1 &2118455972 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 2118455973} + - component: {fileID: 2118455976} + - component: {fileID: 2118455975} + - component: {fileID: 2118455974} + - component: {fileID: 2118455977} + m_Layer: 0 + m_Name: DEF + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2118455973 +RectTransform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2118455972} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 2029816253} + m_Father: {fileID: 2030240135} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.33, y: 0.8} + m_AnchorMax: {x: 0.66, y: 1} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2118455974 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2118455972} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 2118455975} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 2118455977} + m_MethodName: SwitchUpgradeWindow + m_Mode: 2 + m_Arguments: + m_ObjectArgument: {fileID: 2118455973} + m_ObjectArgumentAssemblyTypeName: UnityEngine.Transform, UnityEngine + m_IntArgument: 0 + m_FloatArgument: 0 + m_StringArgument: + m_BoolArgument: 0 + m_CallState: 2 + m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, + Culture=neutral, PublicKeyToken=null +--- !u!114 &2118455975 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2118455972} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, + Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 +--- !u!222 &2118455976 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2118455972} +--- !u!114 &2118455977 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 2118455972} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7d86a9b9d2027874eb1352e8a26d9933, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1001 &2141883763 +Prefab: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 455087986} + m_Modifications: + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.x + value: 334.6998 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchoredPosition.y + value: -80.96981 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.x + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_SizeDelta.y + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMin.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_AnchorMax.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1181863241982430, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + propertyPath: m_Name + value: Upgrade 3 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_havePropertiesChanged + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114381059835547382, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_isInputParsingRequired + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.x + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + propertyPath: m_LocalScale.z + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_ParentPrefab: {fileID: 100100000, guid: d1ba9546a2394a84a8392d5719b29294, type: 2} + m_IsPrefabParent: 0 +--- !u!224 &2141883764 stripped +RectTransform: + m_PrefabParentObject: {fileID: 224330000714602946, guid: d1ba9546a2394a84a8392d5719b29294, + type: 2} + m_PrefabInternal: {fileID: 2141883763} diff --git a/Dots-RTS-Development/Assets/Scripts/Debug/Test.unity.meta b/Dots-RTS-Development/Assets/Scripts/Debug/Test.unity.meta new file mode 100644 index 0000000..a6bbbd2 --- /dev/null +++ b/Dots-RTS-Development/Assets/Scripts/Debug/Test.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 51764187bd40f8d479cf95c5a5dd71cb +timeCreated: 1508187620 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: From 918dbd15e5afb99778a7353206743aa112089ba4 Mon Sep 17 00:00:00 2001 From: Michal-MK Date: Mon, 23 Oct 2017 19:44:33 +0200 Subject: [PATCH 15/25] More changes to AI - moved neutral cell reference from AI to PlayManager - if we had Team object we could save resources by referencing cells as a team instead of every Ai separately --- ...onversion Classes.meta => BulkRename.meta} | 4 +- .../Assets/Scripts/AI/AI_Behaviour.cs | 4 +- .../Assets/Scripts/AI/AI_Data_Holder.cs | 20 +-- .../Assets/Scripts/AI/AI_Helper.cs | 3 +- .../Assets/Scripts/AI/Enemy_AI.cs | 119 +++++++----------- .../Assets/Scripts/Cell/CellBehaviour.cs | 3 + .../Scripts/Cell/Upgrades/UpgradePanelData.cs | 2 +- .../Scripts/Core Classes/Initialize_AI.cs | 8 +- .../Scripts/Core Classes/PlayManager.cs | 1 + .../Assets/Scripts/Core Classes/Player.cs | 9 +- 10 files changed, 80 insertions(+), 93 deletions(-) rename Dots-RTS-Development/Assets/{Scripts/Core Classes/Conversion Classes.meta => BulkRename.meta} (67%) diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta b/Dots-RTS-Development/Assets/BulkRename.meta similarity index 67% rename from Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta rename to Dots-RTS-Development/Assets/BulkRename.meta index 4515cd5..ccdb37b 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta +++ b/Dots-RTS-Development/Assets/BulkRename.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 586c9f86e092b7b448eb319ce5445709 +guid: 15eedef553a4a5c4c9ac76d8104e5807 folderAsset: yes -timeCreated: 1507306952 +timeCreated: 1506764672 licenseType: Free DefaultImporter: userData: diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs b/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs index e0cb410..10f5334 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs @@ -75,7 +75,7 @@ private Decision CalculateBestChoice() { #region Function to preform ATTACKS, DEFENCES, EXPANSIONS //Expand from - to private void Expand(CellBehaviour selectedCell, CellBehaviour toTarget) { - if (_neutrals.Count == 0) { + if (PlayManager.neutralCells.Count == 0) { print("Expanding to NONE -- return;"); return; } @@ -162,7 +162,7 @@ public IEnumerator PreformAction() { } //Neutral cell selection - if (_neutrals.Count != 0) { + if (PlayManager.neutralCells.Count != 0) { ss += "Selecting Neutral | "; selectedNeutralCell = ExpandCellSelector(); } diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs b/Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs index 735b52e..7432a13 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs @@ -1,7 +1,7 @@ using UnityEngine; using System.Collections; -public class DataHolder { +public class AI_Data_Holder { private Enemy_AI _ai; private CellBehaviour senderCell; @@ -10,7 +10,7 @@ public class DataHolder { private int[] cellIndexes = new int[4] { -1, -1, -1, -1 }; //Constructor - public DataHolder(Enemy_AI AI, CellBehaviour cell) { + public AI_Data_Holder(Enemy_AI AI, CellBehaviour cell) { _ai = AI; senderCell = cell; @@ -29,14 +29,20 @@ public DataHolder(Enemy_AI AI, CellBehaviour cell) { cellIndexes[2] = i; } } - for (int i = 0; i < AI._neutrals.Count; i++) { - if (AI._neutrals[i] == cell) { - cellIndexes[3] = i; + } + + public AI_Data_Holder(Player player, CellBehaviour cell) { + _ai = null; + senderCell = cell; + + for (int i = 0; i < player.playerCells.Count; i++) { + if (player.playerCells[i] == cell) { + cellIndexes[0] = i; } } } - public static DataHolder TransformForAlly(DataHolder data, Enemy_AI ally) { + public static AI_Data_Holder TransformForAlly(AI_Data_Holder data, Enemy_AI ally) { data._ai = ally; data.isModified = true; @@ -47,7 +53,7 @@ public static DataHolder TransformForAlly(DataHolder data, Enemy_AI ally) { return data; } - public static DataHolder TransformForTarget(DataHolder data, Enemy_AI target) { + public static AI_Data_Holder TransformForTarget(AI_Data_Holder data, Enemy_AI target) { data._ai = target; data.isModified = true; diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs b/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs index c0f6655..4cb2a71 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs @@ -8,8 +8,9 @@ public static void AddAlly(this Enemy_AI ai, Enemy_AI ally) { ai.getAiAllies.Add(ally); } - public static void AddTarget(this Enemy_AI ai,Enemy_AI target) { + public static void AddTarget(this Enemy_AI ai, Enemy_AI target) { ai.getAiTargets.Add(target); } + } diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs index 5a22605..85a2c34 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -15,10 +15,10 @@ public class Enemy_AI : MonoBehaviour, IAlly { private enum Decision { EXPAND, ATTACK, HELP }; private Player playerCells; - public List _targets = new List(); //Cells this AI will attack + + public List _targets = new List(); //Cells this AI will attack -- aiCells of Target public List _aiCells = new List(); //This AIs cells - public List _neutrals = new List(); //Neutral cells in the scene - public List _allies = new List(); //Cells this AI will not attack + public List _allies = new List(); //Cells this AI will not attack -- aiCells of Ally protected List alliesOfThisAI = new List(); protected List targetsOfThisAI = new List(); @@ -34,14 +34,6 @@ private enum Decision { EXPAND, ATTACK, HELP }; private string s = ""; - //Event subscribers / unsubscribers - private void OnEnable() { - //CellBehaviour.TeamChanged += RemoveCell; - } - private void OnDisable() { - //CellBehaviour.TeamChanged -= RemoveCell; - } - //Sort cells on screen to lists by their team protected virtual void Start() { CellBehaviour.TeamChanged += CellBehaviour_TeamChanged; @@ -53,9 +45,6 @@ protected virtual void Start() { if (current.cellTeam == team) { _aiCells.Add(current); } - else if (current.cellTeam == Cell.enmTeam.NEUTRAL) { - _neutrals.Add(current); - } else { _targets.Add(current); } @@ -97,37 +86,38 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo if (isActive) { if (previous == Cell.enmTeam.NEUTRAL) { - for (int i = 0; i < Initialize_AI.AIs.Length; i++) { - if (Initialize_AI.AIs[i] != null) { - Initialize_AI.AIs[i]._neutrals.Remove(sender); - } - } + Enemy_AI reference = (Enemy_AI)current; if (reference == this) { reference._aiCells.Add(sender); foreach (Enemy_AI ally in reference.getAiAllies) { - DataHolder currData = DataHolder.TransformForAlly(new DataHolder(reference, sender), ally); + AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(reference, sender), ally); ally.ProcessData(currData, true); } foreach (Enemy_AI target in reference.getAiTargets) { - DataHolder currData = DataHolder.TransformForAlly(new DataHolder(reference, sender), target); + AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(reference, sender), target); target.ProcessData(currData, true); } } else if (reference == null) { - //Cell was taken by a player --> we have no reference so we'll add sender as a target to every AI because player+enemy teams are not possible atm. - foreach (Enemy_AI ai in Initialize_AI.AIs) { - if (ai == this) { - ai._targets.Add(sender); - } + //Was player + playerScript.playerCells.Add(sender); + + foreach (Enemy_AI ally in playerScript.Allies) { + AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(playerScript, sender), ally); + ally.ProcessData(currData, true); + } + foreach (Enemy_AI target in playerScript.Targets) { + AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(playerScript, sender), target); + target.ProcessData(currData, true); } } } if (previous == Cell.enmTeam.ALLIED) { - playerCells.playerCells.Remove(sender); + playerScript.playerCells.Remove(sender); Enemy_AI curr = (Enemy_AI)current; if (curr == this) { @@ -135,11 +125,11 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo curr._targets.Remove(sender); foreach (Enemy_AI ally in curr.getAiAllies) { - DataHolder currData = DataHolder.TransformForAlly(new DataHolder(curr, sender), ally); + AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(curr, sender), ally); ally.ProcessData(currData, true); } foreach (Enemy_AI enemy in curr.getAiTargets) { - DataHolder currData = DataHolder.TransformForTarget(new DataHolder(curr, sender), enemy); + AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(curr, sender), enemy); enemy.ProcessData(currData, true); } } @@ -150,25 +140,25 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo //If Player took over the cell if (current == Cell.enmTeam.ALLIED) { //Cell was taken by a player --> we have no reference so we'll add sender as a target to every AI because player+enemy teams are not possible atm. - foreach (Enemy_AI ai in Initialize_AI.AIs) { - if (ai == this && !ai._targets.Contains(sender)) { - ai._targets.Add(sender); - } + foreach (Enemy_AI ally in playerScript.Allies) { + AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(playerScript, sender), ally); + ally.ProcessData(currData, true); + } + foreach (Enemy_AI enemy in playerScript.Targets) { + AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(playerScript, sender), enemy); + enemy.ProcessData(currData, true); } + if (prevAI == this) { prevAI._aiCells.Remove(sender); - foreach (Enemy_AI ally in prevAI.getAiAllies) { - DataHolder currData = DataHolder.TransformForAlly(new DataHolder(prevAI, sender), ally); - ally.ProcessData(currData, false); - } - if (true) { - Debug.LogWarning("Determine if player is in team with prevAI, and then decide."); + + if (playerScript.IsAllyOf(prevAI)) { + print("Y u took my cell ;.;"); } else { - Debug.LogWarning("Determine if player is in team with prevAI, and then decide on this below."); foreach (Enemy_AI enemy in prevAI.getAiTargets) { - DataHolder currData = DataHolder.TransformForTarget(new DataHolder(prevAI, sender), enemy); + AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(prevAI, sender), enemy); enemy.ProcessData(currData, true); } } @@ -177,7 +167,7 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo } else { //If AI took over the cell - DataHolder dataPrevAI = new DataHolder(prevAI, sender); + AI_Data_Holder dataPrevAI = new AI_Data_Holder(prevAI, sender); Enemy_AI currAI = (Enemy_AI)current; if (prevAI == this) { @@ -186,17 +176,17 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo //Every ally of prevAI had to be a target of currAI -- so all of the Ais should remove that cell from their ally list foreach (Enemy_AI ally in prevAI.getAiAllies) { - DataHolder currData = DataHolder.TransformForAlly(new DataHolder(prevAI, sender), ally); + AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(prevAI, sender), ally); ally.ProcessData(currData, false); } //Any target of prevAI can be an Ally of currAI -- that decides whether we add sender as targets target or not foreach (Enemy_AI target in prevAI.getAiTargets) { if (target.IsAllyOf(currAI)) { - DataHolder currData = DataHolder.TransformForTarget(new DataHolder(prevAI, sender), target); + AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(prevAI, sender), target); target.ProcessData(currData, false); } else { - DataHolder currData = DataHolder.TransformForTarget(new DataHolder(prevAI, sender), target); + AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(prevAI, sender), target); target.ProcessData(currData, true); } } @@ -206,11 +196,11 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo currAI._targets.Remove(sender); foreach (Enemy_AI ally in currAI.getAiAllies) { - DataHolder currData = DataHolder.TransformForAlly(new DataHolder(currAI, sender), ally); + AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(currAI, sender), ally); ally.ProcessData(currData, true); } foreach (Enemy_AI target in currAI.getAiTargets) { - DataHolder currData = DataHolder.TransformForTarget(new DataHolder(currAI, sender), target); + AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(currAI, sender), target); target.ProcessData(currData, true); } } @@ -363,8 +353,8 @@ public CellBehaviour ExpandCellSelector() { int elementRecord = 99999; int recordIndex = -1; - for (int i = 0; i < _neutrals.Count; i++) { - current = _neutrals[i]; + for (int i = 0; i < PlayManager.neutralCells.Count; i++) { + current = PlayManager.neutralCells[i]; //If there is still posibility to expand just return the curent cell if (UnityEngine.Random.Range(0, 10) < 4) { @@ -387,7 +377,7 @@ public CellBehaviour ExpandCellSelector() { } //20% return the best cell you found expandChoiceProbability = 0.2f; - return _neutrals[recordIndex]; + return PlayManager.neutralCells[recordIndex]; } public CellBehaviour AiAidSelector() { @@ -447,12 +437,12 @@ public CellBehaviour AiAidSelector() { /// /// Cell to use in the aglorythm /// - private List GetCellInstances(CellBehaviour referenceCell) { - List AIs_Cells = new List(); + private List GetCellInstances(CellBehaviour referenceCell) { + List AIs_Cells = new List(); for (int i = 0; i < Initialize_AI.AIs.Length; i++) { if (Initialize_AI.AIs[i] != null) { Enemy_AI currentAI = Initialize_AI.AIs[i]; - DataHolder data = new DataHolder(currentAI, referenceCell); + AI_Data_Holder data = new AI_Data_Holder(currentAI, referenceCell); AIs_Cells.Add(data); } } @@ -465,8 +455,8 @@ private List GetCellInstances(CellBehaviour referenceCell) { /// The cell to look for. /// The AI to look in. /// - private DataHolder GetCellInstances(CellBehaviour referenceCell, Enemy_AI ai) { - DataHolder data = new DataHolder(ai, referenceCell); + private AI_Data_Holder GetCellInstances(CellBehaviour referenceCell, Enemy_AI ai) { + AI_Data_Holder data = new AI_Data_Holder(ai, referenceCell); return data; } @@ -476,9 +466,7 @@ private DataHolder GetCellInstances(CellBehaviour referenceCell, Enemy_AI ai) { /// The data to process /// Is the selected process addition or deletion -- not implemented /// The Ai to operate on, default points to the one specified in DataHolder - private void ProcessData(DataHolder data, bool is_Adding, Enemy_AI ai = null) { - - this.IsAllyOf(ai); + private void ProcessData(AI_Data_Holder data, bool is_Adding, Enemy_AI ai = null) { if (ai == null) { ai = data.getAI; @@ -520,17 +508,6 @@ private void ProcessData(DataHolder data, bool is_Adding, Enemy_AI ai = null) { } break; } - case 3: { - if (is_Adding) { - if (!ai._neutrals.Contains(data.getSender)) { - ai._neutrals.Add(data.getSender); - } - } - else { - ai._neutrals.Remove(data.getSender); - } - break; - } } } } @@ -619,10 +596,6 @@ public Player playerScript { set { playerCells = value; } } - - - - /// /// Cast Cell.enmTeam into a Enemy_AI script /// diff --git a/Dots-RTS-Development/Assets/Scripts/Cell/CellBehaviour.cs b/Dots-RTS-Development/Assets/Scripts/Cell/CellBehaviour.cs index e841002..2f4c16b 100644 --- a/Dots-RTS-Development/Assets/Scripts/Cell/CellBehaviour.cs +++ b/Dots-RTS-Development/Assets/Scripts/Cell/CellBehaviour.cs @@ -20,6 +20,9 @@ public class CellBehaviour : Cell, IPointerEnterHandler, IPointerClickHandler, I public override void Awake() { base.Awake(); PlayManager.cells.Add(this); + if(cellTeam == enmTeam.NEUTRAL) { + PlayManager.neutralCells.Add(this); + } } //Set default diff --git a/Dots-RTS-Development/Assets/Scripts/Cell/Upgrades/UpgradePanelData.cs b/Dots-RTS-Development/Assets/Scripts/Cell/Upgrades/UpgradePanelData.cs index eb8770e..b614b03 100644 --- a/Dots-RTS-Development/Assets/Scripts/Cell/Upgrades/UpgradePanelData.cs +++ b/Dots-RTS-Development/Assets/Scripts/Cell/Upgrades/UpgradePanelData.cs @@ -13,7 +13,7 @@ public class UpgradePanelData : MonoBehaviour, IPointerClickHandler, IPointerEnt private static UM_InGame currentCell; - public static event Control.InstallUpgradeHandler OnUpgradeInstalled; + //public static event Control.InstallUpgradeHandler OnUpgradeInstalled; private static bool isSubscribed = false; private static bool isListeningForSlot = true; diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs index 91441c7..0ebc88a 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs @@ -20,14 +20,16 @@ private void Start() { if (UnityEngine.SceneManagement.SceneManager.GetActiveScene().name == UnityEngine.SceneManagement.Scenes.DEBUG) { StartAiInitialization(new Dictionary()); } - GameObject g = Instantiate(playerData); - g.name = "Player"; - playerScript = g.GetComponent(); } //Goes though all the cells and creates an AI for each team. public void StartAiInitialization(Dictionary clanDict) { clanList = BasicConversions.CDToActualClans(clanDict); + + GameObject g = Instantiate(playerData); + g.name = "Player"; + playerScript = g.GetComponent(); + foreach (Cell c in PlayManager.cells) { if ((int)c.cellTeam >= 2) { SetAis((int)c.cellTeam - 2, c.cellTeam); diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs index 93c957a..8abb444 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs @@ -14,6 +14,7 @@ public enum PlaySceneState { } public static List cells = new List(); + public static List neutralCells = new List(); private float time; private bool isInGame = true; diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs index ca1b1e8..f6e96f5 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs @@ -3,9 +3,9 @@ using System; public class Player : MonoBehaviour, IAlly { - Cell.enmTeam playerTeam; - List alliesOfPlayer; - List targetsOfPlayer; + public Cell.enmTeam playerTeam; + private List alliesOfPlayer = new List(); + private List targetsOfPlayer = new List(); public List listOfAlly = new List(); public List playerCells = new List(); @@ -26,7 +26,8 @@ public Cell.enmTeam Team { } } - public List Targets { get { + public List Targets { + get { return targetsOfPlayer; } set { targetsOfPlayer = value; From 368cb52763cf15a74ec58e34d1d372e3b0b040fc Mon Sep 17 00:00:00 2001 From: Michal-MK Date: Wed, 25 Oct 2017 19:11:49 +0200 Subject: [PATCH 16/25] Small changes and images -added tempp images for every upgrade that exists as of 25.10.2017 -changed text scaling in the store and post game scene -cleaned some unused code --- .../Assets/Scenes/Post_Game.unity | 12 +-- .../Assets/Scenes/Upgrade_Store.unity | 74 +++++++++++------- .../Assets/Scripts/AI/Enemy_AI.cs | 11 ++- .../Scripts/Core Classes/CameraControler.cs | 2 - .../Resources/UpgradeImages/U_Aid_Bonus.png | Bin 0 -> 12964 bytes .../UpgradeImages/U_Aid_Bonus.png.meta | 8 ++ .../Resources/UpgradeImages/U_Camouflage.png | Bin 0 -> 16742 bytes .../UpgradeImages/U_Camouflage.png.meta | 8 ++ .../UpgradeImages/U_Element_Resist.png | Bin 0 -> 46685 bytes .../UpgradeImages/U_Element_Resist.png.meta | 8 ++ .../UpgradeImages/U_Fast_Elements.png | Bin 0 -> 9639 bytes .../UpgradeImages/U_Fast_Elements.png.meta | 8 ++ .../Resources/UpgradeImages/U_Fast_Regen.png | Bin 0 -> 19332 bytes .../UpgradeImages/U_Fast_Regen.png.meta | 8 ++ .../Resources/UpgradeImages/U_Reflection.png | Bin 0 -> 23133 bytes .../UpgradeImages/U_Reflection.png.meta | 8 ++ .../ProjectSettings/GraphicsSettings.asset | 1 - 17 files changed, 107 insertions(+), 41 deletions(-) create mode 100644 Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Aid_Bonus.png create mode 100644 Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Aid_Bonus.png.meta create mode 100644 Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Camouflage.png create mode 100644 Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Camouflage.png.meta create mode 100644 Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Element_Resist.png create mode 100644 Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Element_Resist.png.meta create mode 100644 Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Fast_Elements.png create mode 100644 Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Fast_Elements.png.meta create mode 100644 Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Fast_Regen.png create mode 100644 Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Fast_Regen.png.meta create mode 100644 Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Reflection.png create mode 100644 Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Reflection.png.meta diff --git a/Dots-RTS-Development/Assets/Scenes/Post_Game.unity b/Dots-RTS-Development/Assets/Scenes/Post_Game.unity index 421273e..1a51754 100644 --- a/Dots-RTS-Development/Assets/Scenes/Post_Game.unity +++ b/Dots-RTS-Development/Assets/Scenes/Post_Game.unity @@ -336,10 +336,10 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 80 + m_fontSize: 72 m_fontSizeBase: 80 m_fontWeight: 400 - m_enableAutoSizing: 0 + m_enableAutoSizing: 1 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 @@ -1159,10 +1159,10 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 32 + m_fontSize: 30.15 m_fontSizeBase: 32 m_fontWeight: 400 - m_enableAutoSizing: 0 + m_enableAutoSizing: 1 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 @@ -1466,10 +1466,10 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 36 + m_fontSize: 35.2 m_fontSizeBase: 36 m_fontWeight: 400 - m_enableAutoSizing: 0 + m_enableAutoSizing: 1 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 diff --git a/Dots-RTS-Development/Assets/Scenes/Upgrade_Store.unity b/Dots-RTS-Development/Assets/Scenes/Upgrade_Store.unity index 596c624..7495c66 100644 --- a/Dots-RTS-Development/Assets/Scenes/Upgrade_Store.unity +++ b/Dots-RTS-Development/Assets/Scenes/Upgrade_Store.unity @@ -527,12 +527,12 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 24 + m_fontSize: 32 m_fontSizeBase: 24 m_fontWeight: 400 - m_enableAutoSizing: 0 + m_enableAutoSizing: 1 m_fontSizeMin: 18 - m_fontSizeMax: 72 + m_fontSizeMax: 32 m_fontStyle: 0 m_textAlignment: 258 m_isAlignmentEnumConverted: 1 @@ -1330,12 +1330,12 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 30 + m_fontSize: 22.05 m_fontSizeBase: 30 m_fontWeight: 400 - m_enableAutoSizing: 0 + m_enableAutoSizing: 1 m_fontSizeMin: 18 - m_fontSizeMax: 72 + m_fontSizeMax: 42 m_fontStyle: 0 m_textAlignment: 514 m_isAlignmentEnumConverted: 1 @@ -2898,7 +2898,13 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_text: U T I L + m_text: 'U + + T + + I + + L' m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, @@ -2926,10 +2932,10 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 38 + m_fontSize: 24.95 m_fontSizeBase: 38 m_fontWeight: 400 - m_enableAutoSizing: 0 + m_enableAutoSizing: 1 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 @@ -6134,7 +6140,7 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 33.3 + m_fontSize: 21.1 m_fontSizeBase: 36 m_fontWeight: 400 m_enableAutoSizing: 1 @@ -6624,7 +6630,7 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 45.95 + m_fontSize: 29.95 m_fontSizeBase: 36 m_fontWeight: 400 m_enableAutoSizing: 1 @@ -8231,7 +8237,11 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_text: D E F + m_text: 'D + + E + + F' m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, @@ -8259,10 +8269,10 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 38 + m_fontSize: 31.8 m_fontSizeBase: 38 m_fontWeight: 400 - m_enableAutoSizing: 0 + m_enableAutoSizing: 1 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 @@ -8459,7 +8469,7 @@ MonoBehaviour: spaceCount: 12 wordCount: 12 linkCount: 0 - lineCount: 3 + lineCount: 6 pageCount: 1 materialCount: 1 m_havePropertiesChanged: 0 @@ -8774,12 +8784,12 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 32.31 + m_fontSize: 22.05 m_fontSizeBase: 32.31 m_fontWeight: 400 - m_enableAutoSizing: 0 + m_enableAutoSizing: 1 m_fontSizeMin: 18 - m_fontSizeMax: 72 + m_fontSizeMax: 42 m_fontStyle: 0 m_textAlignment: 514 m_isAlignmentEnumConverted: 1 @@ -9809,12 +9819,12 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 24 + m_fontSize: 29.2 m_fontSizeBase: 24 m_fontWeight: 400 - m_enableAutoSizing: 0 + m_enableAutoSizing: 1 m_fontSizeMin: 18 - m_fontSizeMax: 72 + m_fontSizeMax: 32 m_fontStyle: 0 m_textAlignment: 258 m_isAlignmentEnumConverted: 1 @@ -9854,7 +9864,7 @@ MonoBehaviour: spaceCount: 1 wordCount: 2 linkCount: 0 - lineCount: 1 + lineCount: 2 pageCount: 1 materialCount: 1 m_havePropertiesChanged: 0 @@ -10811,7 +10821,7 @@ MonoBehaviour: m_enableWordWrapping: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 - m_firstOverflowCharacterIndex: -1 + m_firstOverflowCharacterIndex: 8 m_linkedTextComponent: {fileID: 0} m_isLinkedTextComponent: 0 m_enableKerning: 1 @@ -10838,7 +10848,7 @@ MonoBehaviour: spaceCount: 4 wordCount: 5 linkCount: 0 - lineCount: 3 + lineCount: 5 pageCount: 1 materialCount: 1 m_havePropertiesChanged: 0 @@ -11182,7 +11192,11 @@ MonoBehaviour: m_Calls: [] m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null - m_text: A T K + m_text: 'A + + T + + K' m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: a3d0691d7d9b4d846b49ce03cef7aae8, type: 2} m_sharedMaterial: {fileID: 21524089645596496, guid: a3d0691d7d9b4d846b49ce03cef7aae8, @@ -11210,10 +11224,10 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 38 + m_fontSize: 29.2 m_fontSizeBase: 38 m_fontWeight: 400 - m_enableAutoSizing: 0 + m_enableAutoSizing: 1 m_fontSizeMin: 18 m_fontSizeMax: 72 m_fontStyle: 0 @@ -11654,7 +11668,7 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 33.75 + m_fontSize: 18 m_fontSizeBase: 36 m_fontWeight: 400 m_enableAutoSizing: 1 @@ -11672,7 +11686,7 @@ MonoBehaviour: m_enableWordWrapping: 1 m_wordWrappingRatios: 0.4 m_overflowMode: 0 - m_firstOverflowCharacterIndex: -1 + m_firstOverflowCharacterIndex: 8 m_linkedTextComponent: {fileID: 0} m_isLinkedTextComponent: 0 m_enableKerning: 1 @@ -12431,7 +12445,7 @@ MonoBehaviour: m_outlineColor: serializedVersion: 2 rgba: 4278190080 - m_fontSize: 45.95 + m_fontSize: 29.95 m_fontSizeBase: 36 m_fontWeight: 400 m_enableAutoSizing: 1 diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs index 85a2c34..17bb45d 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -45,7 +45,7 @@ protected virtual void Start() { if (current.cellTeam == team) { _aiCells.Add(current); } - else { + else if(current.cellTeam != Cell.enmTeam.NEUTRAL) { _targets.Add(current); } } @@ -139,12 +139,19 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo Enemy_AI prevAI = (Enemy_AI)previous; //If Player took over the cell if (current == Cell.enmTeam.ALLIED) { - //Cell was taken by a player --> we have no reference so we'll add sender as a target to every AI because player+enemy teams are not possible atm. foreach (Enemy_AI ally in playerScript.Allies) { AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(playerScript, sender), ally); ally.ProcessData(currData, true); + print("Updating players allies :"); + foreach (IAlly e in playerScript.Allies) { + print(((Enemy_AI)e).gameObject.name); + } } foreach (Enemy_AI enemy in playerScript.Targets) { + print("Updating players targets :"); + foreach (IAlly e in playerScript.Targets) { + print(((Enemy_AI)e).gameObject.name); + } AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(playerScript, sender), enemy); enemy.ProcessData(currData, true); } diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/CameraControler.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/CameraControler.cs index 6957fdd..c4d8d90 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/CameraControler.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/CameraControler.cs @@ -7,8 +7,6 @@ public class CameraControler : MonoBehaviour { private Vector3 defaultPos; private float defaultSize = 0; - private float bgVertSize; - private float bgHorSize; private float camHorDiff; private float camVertDiff; private float camHorDiffL; diff --git a/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Aid_Bonus.png b/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Aid_Bonus.png new file mode 100644 index 0000000000000000000000000000000000000000..a046279b62a930994fbec5cbe4bf0e2718eed722 GIT binary patch literal 12964 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 literal 0 HcmV?d00001 diff --git a/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Aid_Bonus.png.meta b/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Aid_Bonus.png.meta new file mode 100644 index 0000000..85d452a --- /dev/null +++ b/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Aid_Bonus.png.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0b23804dbe0c61d4b968aabcf66c54a8 +timeCreated: 1508951005 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Camouflage.png b/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Camouflage.png new file mode 100644 index 0000000000000000000000000000000000000000..048a481e0e9a13721acf94e3d1d26efb9e3694e1 GIT binary patch literal 16742 zcmeIZ=UY=>@GrVUs8R)$CPYO*rAw8TC>4}0UHkyFa73o!aPY{qU zy#@#%y%TCkviHgNcg~yh;{E~mJ~z*kXJxPX%-XYNm02@u5^?XYF8c|A6953P-@c`N z9{}iSKj{HxIIXzVjQ>R|hVSW{+@zJG+vK##19aamcA2zvK)qGJ1^ie>)o#8W+-qAs zChSsrH^{|vN9T&x`0`hs+KE*QN3!J`DpebvUAvclt=qQlFlVlC<*fSs-Mxq1{x-gv zFuor-vY$;jeDHfa6~8vWe>}E*IJ-w0**=6IsAgd&b84MT1#wHnmBZt7{95A@F=J|d zig>hrOey=f)wa6Zzj@HHwzqjiF8{YZymipMzJEZWHZ2qP$y7Y?D1TB|ne3^`j%lwN;_P5B$wM~g4L|FNx3Yw!Q{Y8fqCOG~Z^>`w10l=aG_UatBo zmo&;(j0dQB)L~F?JL{X7pKw1m=FVI?kZu5M!#QjIAuFpWf5CLz#}8=Rw7Y<;X+I@$ zTbd{wE)4QL4j$5vK z$7l&oG6O6(K*Gz#T4Vo*Oj}aQFxC~ivqcVP{3QC>#~fdrJ7@Wkh*cH=AB&XKUt2Ik ztqnHqJ+fbEwOM8iN@oB{S$Ky?>ZG)CI##qD=LuJ5L63*Gr$-HIj+jQ~3~&$e;%9TB zISILa zg7>-J*zd{>9?l_@H@q)59{OJK@sP!2^29}H=-L*QM^n0=4v2PQ#QE;9<`u9k-^yk) z$DV#?1HN>Or0Dt2J+L)MP=bAoAY#o|-(L|;xf=8!H#s5~DH;G>9}j!`?js!c{5RV< z24&!N&D}iqF-b&K%TQWr0u((~a88&J_pIN?w1*wzq%lnYCGldtDq%drka`(SLhxiW z%3tQ<_#g~is)sRmnDJRi@9EnHFZ5WyV2zW8p5DN|Jp*j!sluJINDZRjl8xyzyMj#` zD3OxP3r{R%&x+R5<%mPYN~$S;-M=ZJ8Ykbr?t8Ntb*(T*>_ z#v)_7plSxLKQKQ5W~RcG0N`BobBTNRYI2eMVQ*ncmFN>VmGjUl0?_~P&>}AY`o64$ zNdl^M9?@wx!!hL*?+q}u)97U$WteB2td02=fa#;}w!ACbd~i2g9-EV)ofc}fEy?A6 zvJqx`1=5-}%a(VspRI0Y|8yw+A*mejjQ+(0-1kaJc0;{d(CmzGr*neMaMY1{#~JIV zuV0{7d_nS55&Z7Gvb%xL~hpn+yb5J}}c%t+% z*%AJQYnm$9uvWD2Pu1A3M9sC9=8;>#2S+#kA@sTC9o82;e(u6b0kmyaX zSAJaY%7-5lUrtM(u5>Nne_-WbmN0fr8LHVi$7L}x*m0$w&1r+@)`weLSY~1R8x9TK z_DJ2Q>3O1j(_d({ln=Al&)px&Mvib76gW#Dl%Y2ay)Y+0w(?h@9QA3^))TF8QloyE zDu0CfWbdT3GSu1+pwbWL((FA*Qw8Fz*ZznsQxlp@&V{i(qEws*7s8BR`Ee}QUfx01 z8QTirn#hkLOrHh5HHGe+$fkSFIaAF^v||^s+M8Q-<9B7Oe5q8uFC&wDqD2FPA0QEe z%%v=v9Z+6r>CPw5>od#=<=%uihi< z?!5_}>Rcgc+O`;e+ZM(!;;epAu)`WZl&UUp@Jo9vexll4jIqXQZ|lV$bca^Wm~ zMLH#>=`Tr9pP8UdB!LT;m$cXTv>ld+nkytP<4q{ zp1JK81x>M|{Aje_6=Sb1H;4!T32%geQOyjWf8zD$2sR(=M1l5Np;J;-zjmJaj$nk0nTYW&P-8-s>? z_dJ@}bpr1N0m`7(mbEGP3^=>^gee_r9_5#0VR*@C1_nHQ+M0gjV48M#kwt1I$k5# zphsCof91%;Wa0^pzYEHkAnK_C!%DZ{GkFaiGFxM-wc@%OhI*h(-4s}CM=@lKQ%dzs z=|r*voy@7Qb;X^VV^=pl#Gn~bci@VfVmmb40R8JCbWo7Fn(rKk|C7aZo6Xk3N2oA+ z8Xb&9Qr^z~%I}3XKFRbOhwv>a0QY|XIs}+9igpt`GM<{hgbOXA&vii`h|PXRsb~Q} zw`O11cFgNQ2NJ)SGvE+Pu{r#Ek%YaEKCAm)7pPMJKEH6`#^uVG%ORot>{SWm=f-0W zfE|;RoJjBa?X;2ND8yFP8L34Q!JQWX#A_5-X2!AcZP>>o#Bw{5hC7=`-#0i2DW^i4 zr`ds1EaAYTuk_n}F%+9D4pc{El>vMvJ#tf@&hKwKx}q?#7j0t*jyC(ux{coEI~Bya zj0(P4C@96EmRUKA_4Or1A}etypy=`zwILR>A@Zea6yj27OMTWmv( z$W`)kIEKPR9vT5;>1SeE(+Q(QIozu~62Y|fa;?l6B9g!B-hbT}cQXjtk4JN@7jK7H zusJQT1lVM^LfI1wNc!nZ2ana-9H>Kf zc1-ANe@tNr&plPxgC^Dh<2fjMbpd%})-byo&ZWul6XqGgx(j$v5V@EuBswQw&?C=7 zLvIg%SuHAh`|^w~-iLd!T9)(P!RyBN%^UWA2*y~7?!^Q0Wy%1`Q@*;&q3-_gWLtrI zNlP#=UfZOVjw)_JGKYx8mq2(P-n|bvJ4VxoQyEnYz+OB_&3n?kL_9*cXr_*BWqa1C z(|g{l=4;Pev~-E|exrF>#GCky0hF0yx(J3`snVkR>QpS zdZqJl$Oiflu|P0Z2F|5eY+EhOpl=Q4a%91Fu9j%MR>S1&Vlt!>Z=phRJsficfLrMO z-QnDg=E4ifj4fR_4x>Fb)Yy-W0LfL2i*t}={dC0Z6jy47~2CX^#-5 z`Zj)FWp9mm?KEVxa*7S;B%Vys1xYHJmAFAAjryn(A z{}eK4Vbm%mM7vp*LQFq~;(Tuk>uHkBA60t8w_VBaBu*e;vh>SQ%T0!@D%!5*^S^8Y zb_oWH5asv5N%Q^i^C%`E>0Bq^Nm990^jpT!#N9MM)}#FQhbPwG3;)OY*^}9G<>{|g zVx-En5dP=Jd-X2?H;U_>cB(Lly~g9G+DFWo^QgD=tmyrU8x;%E2eo*+r=5*=jlUgG zK9qexKT-vb4P_?26}()@n8e@UEz+)sx9a&rxSn(MtWR2glYTB*TXZt z6Q-HYm%bDXn8ic_drUdAU+HGDO5jlt$GIS!X5*-#ew9YC347}g({W~!%=^oL`-F55 z)3yrB@c6RNF*Zixi5Wk4ByVA-Lpdi@(Ia3CB%ksHUZ78|+Y_IEA~gTR{xoYTDs9*K z;Tl(&;dWrCc9XOug~|>S!b~CIr=dIY!2LJ*m6>@v#gE=IMx+A7Yv-y?Z2^?zk9+%@gFD5QoxXXV&Xp!U zBBmUFK4pn&0Nz)1BqO*_~VmGcJO|XU6ps?zU#-d1Q3TDQYV)d_9TE?%p`P z3FtEdc00uf1yUADiulr+h{Z86$UVTO8h)-}dsGU#GL(Js*ewdJ{02#}p5{P#+ySXq zd}NKT;-hocju$Ou;W*RBy)uUvaZHCq53FqB4o7K*u`!s0W|?;9SmJsh^_k|htpL@TMH$;P z=28%vgTTKGZBspF2ZUl@SmI>*lo zHhho>R787|tk|z<_a>~c!9~p?{Qkkv6aUv~t@ArE=!DZ~dOqV^I9D3-UIOK%TfF#@ z1)K0@cobR~sLeXM3hW$Po`)KW_q(B|wd#M=0LEV2+e@H2;BB~L4?Nkg_|1-+$xa&v zzUEW8HJVA-Yk?m@QHs?^A$Lh=5~$9yWJtF zG21CWiOT)5x9OY$9l78b-+QO13-TOCdTZ1|HYHZPk5i+dp4K06j@7U3U*`WQQD2kq z#*rPqi>!eieRBoa&aSr2ETNluQ9>6RfyR5~n{3MWu86LjtPEJdx~M?8<9)FfB`F}m(nfG7V98!>pJ?LZno!GQC-1qSRjKbQ5?y?wY+J9=7pr>QB3pUy* z0QQxqDdqkU*^>j{0Vc~Hh(iDJ%+#TXO~|nLxAqeQ_a0y1?(hOs>a=t|5snkW1ajoh zqhAzW7KnL!yo9z@f`WZWTc^RbZBfrGpxUwGJ{bDf;ronO9rXJjwpJbZxZiGYYQ@q5 z3|;9WLF$&wsT`QVY12-$UzNoOz)bmuS}#QjBQx$7}qqhW9oj00}DhOzy7?v0c0dqU=i!00P!}~ z!!9*uT1T*Jcj3m1KFLaTLhc>4g6>xc=#aF$Rh!0PImp4|&P9UOrJB*fId+_?5a4JU z0MGe|H@OKNf1qUd-dS-xk9@BTAZVM(opvZ>Rv9=oyq7VjI09rCil))@Q9O2r=$4_y zgfp6B!x<(@klwA|F(0G|CdZA%rhUGTSG|+mua4$X0EF=SCml=^VUKj+yB>>eX#j0 z&`tN^c7-zLPJ1*Ipa496)?E(|5<`k)R+>7C%xVEyu)28-Qi5Kx_*9*mSpu|amHTO% z3wKkZq62Lr#|(RV;+W4 z5=hK`kJ&rX^{~FiDkd8%xaT8Ph~~!0X~4F9eJL)nP*ML4nqZKokMk}>JAmo6Lkc>q zqG-CAgozO^5@ism{wYR^jO#$j5wBY0Y!CVE7#q90oHjGffO#^J(*D}!2GAzV8opn%P+mQ;~YOJs<=K0FF_RMfYim_0qLv;1u~G&083fg&6M` z8S4@$g!swHZM*pYdMnb7{*-+Dq9Fz^nDRG<^=m(%@`^HgOGX4Dbh(#wT4cgJo03CG zTT>c*Dg#$vCt$dhfe`FEV}7!k0KinRUK0oP3tJx^xz0TJum(wO0YQbn^`eFn?5H)V z6Km*evCxiY8r#{zAA|qMgeyXx+M+@KI5&#;=hhY>l zoJaRj%Q-nF*()w9=W)(XfMrh*hzO-bp5^bw9z8aM`dd!&?j)qOqaREV;_qm~`y8Ht zFU<{xvOAVmKL3FZTHQg3Nwc-*iGQ&hJ9h*yXLzuXm#xEM&%AL0ZwC6>uVkoJgZ@@9 zlc%@NALxPa8Cz2YK+55mjGWr+saA@dc3!h+r;U1beIC)%Ak=F-Ho6}vjK9Lojtcw+ zf`-a|EsC|UWpd@N4R#68xDCFA$h&cw=TWp*$y2Fm?$s(&B}#$&?bs~>pX$M*<6H_p zMEo^ldZ9iV63LrBw0fS>nWH^%DAR>jIcLG?sMv*MM?Ivy)AIwK$Dxi{bf7WNa2gm| z6-#%gd6rI>2MG|rD*N%IjFL2DK}u7P&WUK`RglgJ}scDd$%*|Vr(Y*&F?ikiZKabD#w4tqi-vYHkR>1 zW`64`s{z_&TrP^NV|(8^A{f){M-C;I2=n3x_YvcPQ!X+=0^g4ql2+e}QuM|C8c5UR z%!%_cLrH@o{S%Cqnqp@-{$e?#s9obY?R|UF&G83zK&v&(L-jC-`HAsFV@Y{+~(fNBKfv zr0=PeXLzRKv+O9=ccdz-@8yACW6+r%5X7A(%jk+|py{JWd>&mBtf=7Lxts=(Z_IvX zwE5@7_Qw^`NZZUmiO)kDKQ@kkj(_P#R+K@5hy2aPZscvnbeNOsbB3AtNXUxv@(vis z0qJeZ*JsTmbNEQ0ivT8^#~g4YQLsywcg$5ONR>l-cFe}Vv^f<4Dzl4DBlaiENo6+; zs9Nx~1Wh@hE`*Lb zrh{$HIdDmS@VmcScvAqwShmCBDUrni<(>r*6sM748z%v*wZSgTns*mK>x9}*rv?`!(_mzPT2XhAZQo_r_9q-_OlsMY&_1sb2cAAszky2 zOm2Y64{4@C+N}AXB51Vm`L5_r@oqEn_UNq~#5LvX@VN_{a<7nq z@*_Pl9o>DAEhQ%)v13FWXYk=urzjD+xiEpGy4+55MNqwC>`(qajt-+8Oc!)=XQ>@|IlImz8ZCfvuzW58DUXw|X4h0k)#7h<9P}F=8r-JYNr7kXhNfVs z)I`zW`%uKF+pi*I&N_%B_jEyJiL}|JFc8QRr^EJv_NTMpW02a$(!tb&a+F< zxE~K~5`Rk59PE+y%QR4xbtT=Dd69CWhW#RBxsZ=VlRkAr5w(=S>mDzfd>eG`cIlaV z0AU?Ivu19iE7dj;bULT0*B9IqYlvyC&%y?f|8987{jw^IHZG^XH7ZF9L% z^4pQ`52H9reKeaDpLAeOxA@J0%7tNgZ@2Q7T9w)BF!1OF=KKEZ;4vao94Dz{(~#dY z{D2m~Zd3^O9Gs`1`ztq&Q|XOHYTw13K&ZnXB$io~MeAj9;GQ-U5fU3U6K;X;x$W*i z+PYw~Bk;CTLg|G?&H$`>cY(HGYo+8R&Fjlo8J8Q5{>elQM*maAlPF~D?$KeCmQeRg$y48!OzF6&I82ZYQ*4wQSiUk=4SXi0Yg1VIC z3C+pm(h(@X+9DhfSdeXp9A*)kMF#|3tI`o4=>zeh28LCo6~98~_`TVj)0 z8+j=gyRdVHy8#s%N0NrM#9l5`hHJbKjL#p`J&MvUxs5kfvp8>0f<}FFUF$|qp~Hbh z(Pa7uzUQ|?rgmlAfG;7`s#gKJ6GTFA8y6~+9Lw*5wAK)Whc{@wRQ%IZy$pr(P7&DV=Cv_qrf`TuaxIFhO ze7FJB^M1B}E)x3#A>&u(J?cBG!_kj1$VHHA&W}RTC5`zM&|~+f2NVbTK4!wGVZ@lN z;g{4|{aRe?KvQYhv^w?UQU38pWewaZ#+Ge6eJFCOogxtg&q=oFS8iuq8V!F5{=5eD zPu#D}S0XN(@WWm0z%5B$=jxDEJN~);C-rx*w^Rn7>rmpTzW)cMlG6v!=bosvFBe;q zu)S2UvuXxhS`xd`YIjYz!Z;>-Fcqx|u=9j8R~&h0PII#aAt@Kx9`twp2sgBYqI(6uu0X zeuG}`IFtAVjo(G{bY<&aQz$)L`gkNUNhXV`0zKRzxXf*jl(DGjE02nTD*P#j5)zQk z-|0+{QY_gIbBh1pEsXilstg(>vYuD2nhX^<1(`E1&^RY!A{>Ct;=a?W9Ilu-KSLpUUv zupDxS!k&y9TSD(sJm;~muGF(!biEn4FZHl8=kLQ*s{E0LA~exEQ|56Ms;BQeWjam& zzVb)iLAtT#PzW{8A6EkpAUv$SB7WvtM!!*Af)FZHWX~HxEGavtj+Co{!kgDog;Q81yL&ksu1O4<0b$Ecx9V7vEtQ zDM_^yRzsj2-CSM=D=~XLsJ=3qjDDJcJ`YL4ClwTc)qP?6$5^FgG`twRD+@1avYY}Q zjFV=r$AE}70{ary?$+q zjIP5bwbLO5iC^TRTl8 z_)Q36Jnv3MYNxnr!9Al_kC82A!rKERWxui7UY~M$S(1k&?Q(HXbd|iLE07Bu>ytZw7Yxj57#1(yJD^IMZbsD zS(-HK3^~{Rb1CQwiq(a<`p{)CO%#))?**UH(?4*ne$T1Pa}00}g}Gb8_=Xdl3J zbTO*99LDD+;@`a6dLVb@-0lAWGZmkaU(8dB75}1Xy9RX;OQ|bKz6%X#l04#iCpKZU zcm)2mDiIOKj&tJ4rC?3)Il%)**s0lFk^b?-XA^?g=cgILEaOj+o0NyrPCLj;1-F_iU6P@w7`GLH zMRmFAcQJe4kuSl*Djv$n!_K_>)ffnV$oJMIepBo^1SJ z5#pft4RH7+a8(+dB&n@Gy~m<-#a!lj*#Y;EtLiTDP$v;I5I$CuTBb9B^m9s#gvOU4 z@bc!(Ht7PrC7Y>Jg`pbHj%of3YRo77JFJiE({!^_A$uXYWOICU1jdD37aE&BPrY~e zecLlu;Ky?Tn>MZ9yRK`b099a3!sEU<6f8~UGa3b!cY{*iy&0`!ocV*?^g)!*+bE5v zjW;q6VQGsZ^TljM0gR6=a>GOy6x~@eMKG^U1A8H)Qc6`m>?q}tg-OTtqC2(VBg#qh zUB;QAge9ygJ5FYwlrVLO4QS>;w=l5dUTvIeS5LEV`H%F8NYNWTn(3O3dSIk{`d$SX zo%Rhnj;k!ct^?{Jp6E~xk4lvX&b&VU4)Q!6-rG!mhhEil9##eNiAB)%cPMcqFWmBk z!@K1peNTQFb8s8-*SEjXRPpQc5Ia!d_y)Za)rc$&^ML0-+7DQ$v+~%%O>D=lce5o{ zI+@lc3&@Or*p@oYuhP}dLo>qZ=mkB$U*2QV8Bdm+iD~?hn;8k`U8{N0Z0v&qxZ_77 zI2+y}Vylx+hSY*zZx4$9e!r^G{SiHgY`A>QiNua-Ds=4_IsDg%xW-_rvqB>W{5^?= zR>vJqD*Am{z%J`>*zGJeBK#SuBCnV+N?q<;nqsI!&GvJ33t$i?&)*5 z^)4uFLl4T&SS8tv>xHKkA>aSfV3yq_Le$p#9p3qq04+st@-QPzu`U#lmxeflB{Hx6 zE4KufXvTSyY;<=!;*ww}U@QYULTr+!I({acAVng{1iJ{tm%YdL-)bgt;=Xi2<8DdC zR36SuK@2S~Z{a4sg87poGFQ7UD<4gHlXgTcfv-eXp#P;^*g}Xofv&6_wrH=*- z0bs}?*?8AOEspWD$I+RXV(Ruf;tF5Vi9J~nP0Ujq@Bg#C5@LD*4f_eVyr&w58MnH!z+bTc^J>({7Y7k0x$U=ItmexB}nz8CR7 zG&>sYApx7(9q@dQh&-hRp4G)3g&%2&$8Nz5d{^oMsGNUMV1`Yg#Gka$kn~5}no;0& zOb5rmr?5(%XAjm-`7!K5e|)X3v-SuI&@&$_y`UJg<32*F@lZo#W&VkY_U?12YPIZt z2n5}wcu2Y6fJsW9jZQnzOAXp#wEcsYSWN3B-=JBF^o*Jb!|Jn;A6)hy^7L+RIofHk ze;Q~xT=Jwmr8T*Kx0TY1FA{N*+h9jMK}#=T)ihyRj)RaEkyA@w8Axp=A^4SnY-31} z$Z7nVaRz1n#&EOG7jP4#`P0uJ7Sda}rlhQ-+8BO9%D1R*QxD~`n~Ps3>yu^Lk=+)| zc@yDTCuBCe^;`6}ic36}1~vV3z{dkwi`Rk2<~jolD}?VOJ+Wv$AKL<0UwLSI4=ujunn{*JRf`zlIrpTS7Z~?8@2@TLb|AY4kUZ^Spp{D7gY>6{0m@i?@UfYM z0EX-}D;4@~b;>XH+s8yD!bZpiNVb5T9d|e{(9HAxh9vs_qYS@KS|~d3H>^;YWEvrKW#H&_R+R?V+ApO zR}>eJ>c#=1@;0nksK&MK4oDgVkJ@8bG{zW#@ zp$)r3%7z0EmDVO<%TveK<_HwZAPghQs<;V+caX4Y>aFabV#m z^vgI7K(e1|6crO-=(ti|RkDRVh^DEF*#?z6ERSm`gnkwj3X)iZ)8T-`;(@atQy;Wx zM#(sjk@`gqN&GB3~r+ZX+LLf zcR!?YxU+Zw&I7P0!g1gZ1uy-Raf^=*!#>N7^A&m`irqhKIYO6N>1ezbmy@WJpiky* zcx4@W8^vD*(r#K~Uv1o2J^8nl7M~HB`Lc053D`{@xBUTS+<5ONcuL1_oPcFhj1mMf zAI7V|MySF=Eqfx&>zC^&bM?iuF#Rb&eae~|^l38m+bRMoO0b(m&yV=t*(bFK0g}wR zfN?SG_;SBZZXuc41$Fv%3{1Opf?>`b%0%H#3&b#F1fz#Zq2*G*FrI1kC@*;2v7j_;v2T0juj*>Fi(0-PB;z=3g_%Y}Q1m3Zw)HW)64mO1Nn zGHMTzTew$Ct3&Y9VT`sM*#K{2T2$?0xn;?z_E#GLFy(^ozep?Z(ANh?u^aDU;`5da zDwJZk>}D7_HZ4@GH;nZpt*xtXvx-{2To=MNPa+rGN9%7E-8Kj!Um-yRH) zQVlF8p*I#0#`zkD***y<1B$=YNY{@p$?oMZB;Zp1=)QVIjcx!3r_2e5*tIbg z1Vi|>{!ABrl%NLv2|dZ z*|xID&AB1wRXBeP4Z8N~MqN4_cQ*YSH{wdl=G^)^{{kue6((0MYZXXJIR-L zQwCN^vo{NxA}!P9W7CGWu?fd%-tiC*&#Uj_kE5WRw* zwO|Dg{#L^=VzXy4zV-A+lo`kO2)_fR81%)dnCJ`^Ylg-1=e+$#Q%~ZidwwC4crPAH zyQs}+VAQEu!U-W+aG*zt{UZR9y-9ww#HQ8xd{=fUn+{FsRANIl4=JT0w-FsrV%*;T z@=V>BrTzq4&+o^J*Vy-~4ljhL$Q$nq?L)@4i|#oIH4T?nl)s^^8N%K10h_=J9h=+m zs1VnsG-`??wvGSS?oY_a^Up_Z^hfho-!1l%EiCrP*`y4c8rZT%Ht+h;ag+pD?EZ5n zfo7^7GyWrN`1+mZ3viQYfM4<)Htz@a+y`9tQW*#W27$_^XDK~)rn?js+vxq$1V;j~}^(@u4b*br@zd108qnN8dlqO@> z(a75Mgh?YJ1NQq{tTlA_O(V*)`rOpIcDCqg^uKWgOX89SewbdWqNoxc()hC(r#Mu$1gYUhC&CY`zg~-=@`pOS| z6(nWFI<}eg$!o*QEAv?_ubid3cO)EDLMqrce{ZJHdAKHeL~!s0pEhz_RT4s8bGWa0 zQvv1jKYBS2*bib_3-dXlzHNIf!W>e618HqN{BD7JiM^^Ub;dfd-th+SwWy!MTmf&C38vZ9xkteFy~e`*+5HGLTXZ z0r4FUY^dhZa%7Z%>F(_W^e9e=#$Mddj_WDdQ+95biQoYC2FCzz4?0U?zna^4lntE_ zz?a?#lg)Uk=F`5Fw#ZHr?T2AtJ+1)bOXC4(Vez*w=@jk6!jm`#s5=^xJvO6kxP^eP zef5mCo$WTUZz1l@;4KD@Bxi7k)wZuO| znq4oT_u1gYS6DCFui6oOv#@$hz#=^%)ylHcYRxz`GW!n!TVjQ>(xeG5=Mg$l=~Oo@ zZeX)`IOMxizM~|LZ5JlcVSHHweHxhjQn{i0gKm=EI7{NZ5Z(taee?()h*_r~O$mN( zZ}Js3X?Kk)9|wlPlF?l5LGTC9>2*mhbkpj@-yKx!ZR5gd1>COde|#qk8e#m zEt%MTqKMa1+mo}TczG9hCsPKJY9u56s~`KX-jDNM^O+e@QiqI2*N0)pA7H}6-mO?&^Cj^L!>%$hFNRrRGNte=Tx{G3 zDtY>#3+oA|DT?t;?5lXCH7}m+^~nWnT_sIXO0I9DP;RLVVrEpV3$%b;+X(l<&_*C< zLWAX20rk+ePF?J5xH2G7xdwlzxSW8ImO}=8u+`fPx6HwV=i5bmPaa23K$*cx= zSTN9!xNfvrVrtb-x?(Fl?R6M|$NiImmH_JyiaZ?fEnM%X`&!AjnD!E5`>>v;1nHqB z^n7hMg@2J(VAScRV>0cm{oy6u^hhSlcBN|9j!~y;SC?9`)b$OsYjGd4fZg-JP}37f zl&})T})g6oSb?_)4_LIrkkc-!HyM3B;qp=i`QD zit%z1kR)CBu?1OHQNK&*ChyRGq*@nQuSOEl{gr9^v47wnG5tt;I}0uje~+#M5B6IH z!9ns3T8-+dLB>j?W`7MekAxTgRND9_xaz$qpVO; zLl7SSX!={R!gcqevLvH>9}F2rS~gjFp?heT6pGi5FVe71uUC*d+67Wx$CUOKN_GkI zJ~U)dYB|YCjCA-qcocSb#~$gX7b0Jh?Rrrj>7gqLkaS}uDbJ%`wluQ&Bv8w1LO&j? zRh*PP@{}E+66}sRd&(+@E&j$WT{sxFIWR75yQ*O5`M#wV!n;(W@1*}Mgxl}>PHzSc z`HUM{;>VNjbFuRz&pnxfGJ7l0TIn%`vpLpp!fkh_JmC(GO;UH==&S=Tq%BoUak;iQ zTn;X$?!ufu3cUUy)pYPVw=3lL6GyY_Rh-`5^m99ea_>Ei=ED?qtuVY=%HQyX*TUU? z1-TUd*&9J)cHbCq{dZj+4rZ@C{2X%0B>)qzbnYa28f0*`UA(mzczW%-Kl);=pf~iY z)~~_s+m6|dR8r5l8FF2;O7{?v6ZeM1&y(D#c|KXsP$QkpIn+Nf@{yKYvcwj^)R7Mj zoOeM3`}-@+d&ftXmLHpKIcp zCtc3;R6?IQ(J=P1oaKhL!}KtKhgq(kYF24R3f5mb;=K#))=DUogmrKP(| z1SCgtsF}HI$|?|yVjbQ_mt&njxZfT5QIii;iejb z?1z{8k;4b!2bT4+AN)A@@Q(aVgpB_4zB27K{D#UwLB|<>D(wCLR-=tHg7_keH?L_t z9$X-LcSLR*3I(hzIWc!~r$iBLp&fvrSw66Qj@U2Hwx%s{$|DI8{^egRp zIHvSaAr>*<_juErJcXGIE4pHuI~g!8OPM!OcZZ7p7{`S6t!s4+3cZ58f=pH}K3K7{ zhRNa<$uZ*j6$zp8xG~AtJ4rSNLtQ=-w)7L5_?6UQSqQ?BUmBON_X<(CO8NIi9zyZ= zg^usvpT69(e_zPbbNqe5L4Ex1i?9QS|GsFTME3;#XG-z^U*_*l{QrCN{{_2|4e2@w z=P7H=?2*(c?01dP-~UIcX~@Ky7lORLfu8ikD=W8NGkWAJM*RBv_*l?&P8YT-J$+nL zo5?ZJ7k&{%{jRNhTLp^`f0_5onbJ43nI?AmIT?usk*AR`^P^qD@d^6?B~DKA9KOIc zv!a`O@ovPud)pJ_E3Ut5$FO$OW@<#DnvT~P`DC%rAj@baAuFexFD~Uf>kv)#jPv#g zg4Fo3!8)pnzP9-+XVv1)2UiS!`r4KqB`*AH?Uc}1Ob}L4VkLI1-zmM4>yf+LEkipN z_hmlC@EgxXhQ9=rE5JHXH}>V}pnrBE=zFrIy#!`i=HF9qiiSN_$n1yC>`b2c{`TAEek#Pb`x<-(;no=;vQK8j z&aP<)>G{O0zpcye{J@Z2gCKGK==<7vmkvdrubz3Gwq%`_7CVqJ!+c4)&vUrQRekgb zf1X8RR}MXL++y#35%Ercss?i!G!0w1ke6>JB?lH|>Ob!I7|pyXqU_J!M37_#6nXf~ z0@^t7Eu!L5!3+1K#_kb|v+I=}T=tC*q(x-6&!D$epC&KdULtXJrHC??b>A9asU}OM zCs8bFc(vmxkWN|@{@zOD^vyDwCSI7&dPf=Xv@>;xlaBJ{4cs9_L1ho=W-sEJ+ap|i zC$E2d9f_Q~;keVG;f2V0o<;AVpygIf>B1Hji~R?83ArSVaPa(t{yteqQjg;NYy(A_ z#Sz5eGc{?sWK>lN> zUm$~D#BCizdXd5R%AFVNd@oNTUW9xciB zL83=%DEV7N+=Aaqh8(k+$$cQgLVfvEuFTCfW32Tbah&`nrjbI$0Wo=$G~+a zd5rV#uY28SVizc!Ql3Ble)UfY5drfSe(sKU-HseTmF@kHbI;Oyron2(Ef1Q-2O^(n$} z1C6Y{zpU(US2uC~I63Q~;eOwu{y&bwMmP#M3PNe#z zr8z~Z`}y)@pMguXv;&|Z=T(+VXP4t*es;#|`{R3SBw!A|FNgLl9N7i$A);~Q8(2`5YXJ=-LEGnc)FLgKlv1+>*WLXG>y^ z!kIXHwMWa*6A3$pf`;r$jgv+^tGM*+^`%=X7wb7kR>BIV?x-2fY=$PTkb?UyNfvJ+ z#fce$z12$lren2~Yj(ZC;zp#0a=_vy(|eWGnc^H4Vwq-R8M_KnM3OnNlI#5Mb8WPn zm^?M~<^)7r`Nq2uj@sP4Q)=sfDlBs>sDUL>gKWozdv!owScp%kVArVCr>)+D{9R_( zu{%xBOWGrv+ijc9EDp9fkO5<2xZ9_-RY*>?D$5njA{_FQDBUbBn%6GAw9ijhT___p zrK`Z_Q38DwX2EOz8B=*cp{0EE{fd5@BHEBV5kx^%WA9XAJz_pcV*eF+BtjQRe3W*+ z(TKyq^JEaVywwZ6Il8;@qc292&V1Rp?9_5Kns7D5^Ly%N%;zE71*RgR6dgtM6(fUW zzskzNKJmgX3grNb&J3MS>Yy}cn)>h4ud{Cqb_A9Coi76~NXSMjMuVxEcARF>*?!HebG6IL*PK^P23%ht@5ZISaBr z^es@m-iIikL;n_uu+SAtf5li61#f)`k|)g=UzwPzm8wg)xp7#E1jV=Gp_bngZwH`g9Lm?W*d zh4oqxlQ4Z`MI*;L>CSA0fmMF{L$zqA_R)VTq2%gVf0S=-*FNO#F?6rLOs~p$i>(n` zm^{vTn9aX-OBUFkyidLQxUtw#zH)W(S92}p6j_}i@U3no;n`G4`Sh>U^%1hrqC{`D zX8zeS8)dKSG)4Onb$PfL!VQ#qt@TKDxooaH_`Z*?VF7{Vtgk+G6L%gg8|9NZHW)MfdGyf4YRo(9YQ+m$Gyk$SSE>+wLrNqpChDj4km;=Kp9NbBrG&-(XKu| z;n8ie_K~F26wb{34@XY44@+LRN2(5@HfF5Xdcm2y{?*r*WaaJG9lLkZEW%FwM=*jV z>i%q<(%zv1>KX+wf4`#JM*Pu(Qh8pT=lcgtvu+y;>QSB#q28ahmn;uC(evIy?z*wu^&SO{I129taqi;QLeeh4m#r2OJbtM zrMi;&{d#F;h8gseG_EVb;j_d2~aMpB$2>EMo0wCx}X7 zJ4SY?)w6f9>U+E!XJh`YwUmD@zE+*BTE8h%uJ(Dw>3i7e>_I#4Uq-ooDfJAh+cJ!= zrMS>AHlJ{AKeBf{ek!++{cn=nain*vng|W~p;YR0l3HzCmiC{GvC8{NcJd!-S3Khr z%m)X6w0ZnWJa4Ce&tY)c{YA@@B{sWCH>WdIfzh6|ZiuPm-ui^9XVgb=wqX;ia;&0* z9TN+=zKcq|!DJ_|PID3nIxtBI zu~F;{q7#Z9(cM6c4$5=nTx{V{ii5q`?w`-RkMAUhj=YP-kd4SO!Y9V&UhXARuO?O- z%T05;a-_4bdOEb*vawJgi~PMX1n3w05uKpDYsaQ7F;!=<`zEDP zKI2|0>h;n9C}{r3UH`H9>*}9I(gDYZgeC0K4cZ2gRek!5D}}Tnv9w=1?8TRsFH^5; z*l<#}i7`v^I!rD2F5*k^vND=TgD!gV#%MD-1a#DLWdWDC0I*5Gw>Smp9))Hw9*ufzTCO*NsZgA91|3A(E=G*4v<&1xE zrSND3!f|hHm*SayW)zE1URxbpWQ zjwY&jkk@?8_z*>=;XiGS*_2-{<-4n)h#B>Uy@#A45*1G-CK@QtVqf)EbXw@#{t7&> zsF>B=Gec+cWt8$N$z!XiZfW*(Di=rIUVL~fSWZJBKNRu_FNA#%du={s*71R+d1A8U zALS$DU2*6BTU#>n75BA+AWIjVPOLSh5WuQw;`Mk6U@#$mO`%ZDFFkD6w(S2ZvzF>RBkYxrJ) z3G>h@ZkbtND@j9YK00-y@ge{ko6SaV&)Ey>goprfm=lya`Z5~w%G92ZxkcSc#+%Pt zEN)h?{$A>s&J6nHu7|Bj++93AgoKIwy-Q6et?~F*`}nN=3Ttk@G0}`=s}=!KS+D1o z-oU??wo_bYm0I~oC;OA$@SD=r#P@6mZVX|q zZN_lm3v`PM)-xVqfC|(ExhTaA}l-#$MU#1T99y_ zzt7Gnop>a1n|3I8>L7Wle6Dmw!uj_hnbyzLf5ZqEzvyl7#qZkxGRW(nb?3;2R5>=3 z?Uf01HFqP%Lz>fwx?Q&3!w@%@ei9qO zKmQFG&ph?j;r_;O%&`M0b=j%cInQICz}5=zkXnrIc^m1PU_jCFAm=^lB%hZ0mJ&rUd!0p#Md2+TX?x=k3&sAj!FV8bCE+) zjNksO0rBQf!%$n)!;n(OM2O{N<`wT<6`iRXj#C1z-+Gnvy&YV>3lyfXWs~mJ%%(qN zDQ@8vnzogB1f-jc&z}gSgiIm2?Vun%nqB-)+Zr;1kBsg*23K^{)NbxaF@!{}?A_R`c+Qr*fQ`tCC2Q{2*HxRHs#JP# zs0_n>BX*COe13NvVcf&h^ZuC?!woypGy3`9LyPipUtg%+c zoy2Jd*~&maUFEf5spwy`;D@C6)Dk}ZQ~Z}GJECQ!CRDQ@r$?Jmgopozm8MxPFbOc1 zKNsm>`vy=2953VDHv=}~JamzO{)#tLhz%Qr)BgUKHc8~PxF(x?QoejO?$;5yyE==k zgmRk7%B;H(t0koj`uUGHc0nSo9Wn%@I7(}0YnUSmjJm-SWqpKW&kM47&Sy@`re$RQ znH!vC>(P8nwcl6qwA9LHaR+?yDbkj65w2cSME!{fHm1it&%|nzQ}Icmk?Qyzchkik z5lvcAnz#3ZYJu2VDNnrbQukLv&o+xm;x;EnVi=<%oycl>3ZkV>I;XAmo%#1$@zd8t z2q867;`NkIE<{T6a1$K9A^pb3XwnH~7gFN|H`L*LrVLh8JxF~@E8Mzabcw|sA;s>_~d7<_BmQS2;M4D2* zxX9eZ;>HU3fHwEMNtqP#>!RsMY0ytdpG-=262FEVJLod@)Xgn3S#o%?Q3=x zS|Tb$^?rRJZn3lc>4BqMRSHp5X>ti0E5V1mCrZlWoO>JSdj~jk(h-Ew4@xnn1py`x zR?B9}TILfLmA8KyML?|6U3a?2V7n;H4q4pBGb)28%U~X;69(_rlQaX`7*+}IfS2LF z%1db(S{x&e*E6nOqbBc`Dr(CAl3qiC$XvRsw-e1$`oTbRH&skrg(_~jewCbiyYWp` z%F}`0#3v1bq_05%O=ThfXqxL!HNCu1R!}jRgW+w|bd@eX>AQSXbU|=OdZ$)Vlk%0L zk=UJ4vg_;Q*TMTn7}`{U9d}L(iN+8~o%kOlJo(nG``6E_Lz*p)pZ!g}lPg)xLW~|= zSfjkSQMUH|=ZT)E=|82{2O-}NQ&n>Xtq-il+e2CQ&LwaCdx*v9NBw3SAeJ{9^FL~f zarVewAU38ZwJsBlf|EU94ky#T}Wb&Ky32W=vUA!M0>x;b(0; zZ5@7$GtOj2yDIi0%OWoQO*W!{0b>!oZevuVUnqGxT96FxHU)$%^L181PH;PJUq;z5r6@8^1)u1Btq-k?=mVz&T|t;Npn!zU9rKCT{M#A#`P zVtMKZzJMn!RdOe`F?TXiAif23kn9%Y##UaWT7pLAQvaM%*Kjd$O}aH#cAV4hft@vD zT<7xBP$Qj&mlVGK%SDI0CO)sOWztU7tlo?eo+(&bB(Ri613tGo?++qiT z1e%z1pU{ux{!AJWbO9LwrjF9yB6Y&aLcHbVHDSf&}&mvOEW zPwME3DA9fucrQJ$Js%U# zW~#Ch-o6tjlC!20@I&cNS}oE3klGC`F|GLxf*k7&J|r3C|5g^4E|5W;%uak~p))O` zc_%YZxW|*HOM&7;+U)RzVh>)n@G2vjINTSh2Qo=zQdwlLaXXLaDuzNj>x^N^ zKUyDXy3x$9j2*36%dbn&>(m)Ketu(zQ*CGblgGE-)=v{W?qs1MIXStqC7t81-~-O#9g%{Z#5+vq7-8X4HVo zm2SVHQeTXxjq`V(TQ>e$G|toozgtL(>x`RzV@H3(a()N;?K^pp z^5i1${twJ*8Uzoa=Ip^ ztxB82Aw$Y}1wE9>kR0hNS=kq`AHM5Jx8k4dr;@unFhEwCAvf2D`!=|Mr>c#nMqP7m zx$G?v*{QW(AC-NMZEQ$L5%Zh*E_b-LxeobAK_HNF_7+fj?n|}cN!FUqkRnJ(1wZp# zqb1)DYSU@J`|kHx8}}{sv|p1O>n(d&DRa7D>y?7m|G`jbF_wctE>liWVc`!?_>zt) zsH1ozt%)AeyVR6l0KnjaHe{ug46eLl>dZpEk8+Y_g=r>lYv@ncKg|n0E#z!bvnJI? zh@KBJ$ak@ENbTw>o@yDNNSC4dcWq?sW=?a);gW*n2%`4DILgr{pHenC;)Vw6$IOyh z!P2-;rBB=flLmq$e=1&2MpWf;D|^RA(WHR4Q68$d0(WC_r8Cr<#C%UG1D)T_hWY2i zePVuXQ$1sSK04CTm2I!jSE^lopU@;yH+kg&WFkYEz#uXUf$lw0}Ssn4Gomr zPJcHc0+d6wUYHPKInX-F#Y&_WdjcNzL#G(m1|W6kzS3i5IL29j=Gz*KFL?MJI@Pn| zr-k|$m@iu#vJIw{yUSzqyCdn)p^`zQ^~?K(b9JIKJ{=pI;|@4d<~pPI$`mVYU6Z$7sOH451umh3Dd(TfW& zOFN99-UB4>_EtHmqhf@;eP7Oy%!u(~ibomNP zf$2ts?smxAU<3QvhVhy+_03gBTe!+(85mlAl#stJcT0;|w_>&*cjF{|ia!)bN2a(| zy=uI?Mh{h&UgERBN?yB?vx%v`3e?~tEX64zrk_2}ZOl&;9(Uvu#;RsiaIf z&lk#B;T|{ri|%+x(hWtUKSQc|bE>(0?S)-Zmo~~Y^kQGM^*{_+VFHNRi6CEzHl?nfA^7CZC-$36HW$n%6p$B ziJ1!gt_*Z^vvo!r{l{#mD8ha~qIli_*6Exe)JGcWpai+Ydz=g@%Gt3EHizciEiiS&X z%VKgWg;hWYG@J78x65yOrG5EAZ(B=OWwhgU-`BAi`DQ!2be*4xM`4e6xK}N&#lUK= zI*NObtMifBomFOX;(e^FULxZzs|ibj+22bbf_Y;3f3InTKYU0-A(ne6{RIF_XHD5A zdwEie+}i@&P!5FaezrC$idM@dRsk)%erm<} zFj~#yZSb9m@dWu@!S+V$I4G2=)&o;3*uL>v(&=OjU$1#3WT2H_N}iclDlmfmMV#%e zCHE(6c*hT@uh^$tj>~l2StQ837dLi7vtp02C!}X1i~p-~_TvaMcz-kZ%ZeY-%+Qdv zeKCKxh)_?`nirbxJGPtIrLJ;EI$BGTK_=D7hzfVe6u(4Xx{$)?{{84r8>=4S?4hwV zC7uoC7pQGR)#JKH@_sNtsy=XN-oXwt%rfrFa1!X$js3i2^$FJ*8<0qg7-CH7FVrRN zXP&hA4*_>5F}B~Zi$_D}%pa%idXyBFHTOHZH0*A5e1QT}-bjZ;IGQu&tjteevhV)k zYk(*J&@Y@ZOiO#`=Ea*s@)?a@&vnk3Smnd)m9NTjBaX23pKOZqWq5Q^(X&g#_$utq ziA#{Xk2r5I4|q>})CWkBxlGs@qO;lh0OYcoZfpCyT&e!!ngLT!-Mi;UseLZ5Hr+0m z{2k^)GSrrOAasH0RBsg2WFwNAZaZn{ZSR~s7;vk)Y+{QqR{mg!xK!<%0`Q7h^~c|= zj4n4fcGa63R>zaop+GlQ;G%n9(I;+A8|+Ph5Gb2l&+Jr( zJl|*Xq3TuDkmqM&Vz*H9&xO1Bs}^&(`L8CM`mje4c_llcH%sl@VjMxa=*q|l4DeN; zLpQ{Hge1NCq;HYuH#;ux-oy(caZyaCv(nZgl<`h=Y1xq+z_zl-LKk zxeUzlwQm+FJ`f+a8@vw6g6T;EZx)mmV{U3FR4uiVB zK4A0oWJkC6g<`( zaNMZmqOr#Qk9;|3M*;A>dGeJiaWK1|=CwiBngs96nx2y=>)@;d*5~=a@nvqsp#2V} zx5DYVjp6L%LsLqSLIn6o1HFP@EkfP6`bKhk*aN+eALLG7Yn*%PA$YediLfn`(_k6i z#V0udFhKvt``K7}+Hb1Fqhi_JT3cL1`QfV_omQjHFJ0fm&OMJyxRiGq^tc-Tkq|N< z`y!ZS@4|Dph>`r4_1rld^H3Gwx^uM}%FojY$1uT*+Pf;FsI@Ohd*oG(w*DjHMmsdx zdLp>#^t~rDZ-HxDF`XV#itm0wp$U?W!JE+ArlBj+p!;282T+~dHeJE)Nm4zw}L zO_IcbF&L~&KA$Abj`Z?HE1 zf4vuezGdlijNB}?&^XR7iA^PyFG&WpO}Tnr;xbWhdS43NH&Z3xm>P_yT|CPgWd94m zH|?75+>jOXhhDWeHJ!`k7@14GlHR=xW-oHK%r2BIZ#^1vSGTz%HRx#v(3)R<3aV>0 zaRe8JG@azIpuoVj%BV1~_JL!Cb+6y8+9rBmmo8CRTD+Jxyc^+>mX^p#L%@_?WlbSj-o_ z?Y5sXTaVrunA_Sg3ntpKM#Kx^mrD#PFRd+IU9?F`q6m)lh^6n3xIck#B5|gK1{vJY zy{=9x&kf7yF7;anfgSeG-N<#k_T;OB>Z4w)PdEzk|E6%-&Xvt%@f9S$W+l%=-d#G& zy6kM@8sj**I#NW)w{Z6OIMRuwC%5WB4h?-3sKlMOy3-J%Uj2lnZ~4ubpe*7LG2%`3 zdK7*X&6pPUs{x(ddqNqU0vlk50QFuvAmYwaxb#pDawb42b@Q0B=)+_I?V3NU^P}~6 z)gvl_o#*OpB0{&(ww^>5s(PNIVQM({s^($FZM+T68-A z@>ru!sxQ0lb9mO4eTlVu`^v*?C|y8waminR#iP!!1+}2$Kdyd{7q@@##!zc>IzdRqxp#T)BlbF=g(549F3azE?HL#*Pv6 zBbt87w7k+h({fpS3%lB+yg~DLrT9h>vq^%LnA(SghG6zx{G&d#sp(zaM_TvfM&q3r z8x1VYCk1@bZn**F`4wxxC0%;5!;k0GP^X~SL;x}R^MD7GLPDfx0{b{#f)oBHWNj9l zs)$?VjUZMMNg)rI7|lR|&Bpo`FwR)OKy{^#?xmNnUMZ{d>!&TXt5rJxd^dN5sMA?= z1i~_Lzytf{O=9Gw{{T8;dK2hJ-1U9(I>g|SEuUS_DC9o4kT&!h3TRbWR*FTSjG*xX zZ$W3Hr1v#F%&C-S8Va_@m18R|`+?+71|5-832GMX73D~HQ1vM$GvNbsPcOmU8V^CS z>vek{KjeyY-eYQa#=ugFQQ*i{w}fi-pu>Tb9*6sOR%>Hi&?E>oQuCG>hSsxCuI|x( zX{OS@&3nf?(#ZM9Y+yo2p7{RvYwRW`{yBK`mDkPsgI_6$C zRTH80!n}akZDM&dNJCY$+D4n`U5JsO<<~?#wELvA&clI0hFq3%;D#+)T?XRuwM>-5 zn_ljNW4V?P8bzh;E1$pZBriCdpZ)?3V45>3kJ#~54f5T+1SMBmo}QNzWTWrX!=3Io z%R?$-dlMBeqy1yCT3N+ObQlBA>FtM7JwJZ3w_>2el$En0$GZBZ8**xt3c{&e69T)>DNb~IDEh9~8prDH3IRhF*o+hJ6 z!f>3Cjpq`s$?Ry2w@-{0lPshafSu9V1R|J3Dg%w$?GMGWmknQyzF4W$`vJ;=*{>Of zbU&D(m_)l~vVo*8J8+YPxQZ|{h{EX~h&Hv6;XD#$atk%t7Y<_dj3~#CWO27;O4%bt|r$-mr(FYtNaTV zS5axa2jgeWUeIS6zG$hyd4C82c@j!t&3Q%$zYciQ!$G6cc7<^eNtkWp1#zvdU8#(YoRa0zJP)O!vg&=iAdP2X%jJ2HHwyt%~K zCXI1%H6gIarGaHXA{(U#r5dZWf^um17`bzMz$j*FVPjud+)#bVf6@d~`NK?&2WKeK z=sc-WaM#}c0j3cDmb%aX5R0%H!6Vgxo4JKk+)UE>3R?Dr zLu*y@Cyg-wAROW7BNo9`3-aHh)gFxEOE=aeW{CyDzA$CB#zMzy*VHxyq4PC1)9{$G z^>WR1%Jg3WKh(SlqJE0$M^3BQrOVeE-hlS(yR#l4{&#^B)=yd1sBet~K%ISDD5${I zh5x-}J%wB;R&#?(?i$=KidDwh`=x4J6;H$Kfq6bf zP+L5`RL`_jhvh{W(1p!KX>0@S_M)^(F8u89xpy&9tm^ip7?T^fX2peBK6@eb-GCf37+P#}Y@oSLbR z=6M+6h1;a?QIz`#vrxa245fj7I`c!6pyNTbI?;P32|ezM9(mQTHVCK;45{}oLdUgf zD1zm^0-gnsn=K~eSg(FY2$i@|8L~j76f!1I<*h*h6)@-*{;zT0wnHc;WMYB!R%+R& zPYQsWi(Xi5_>q<-WCo%pq)o1E7fSaCVi(2FC4Un`J1ZKc&BqYD^yUK(Bgfsr(&%%` z@i@>8QEI--Uc{Xpn+hV-%PnOu*ROhLW7yO})iVaM|EHFG%K0TZ1~3?;ST@Y_a5`n0 z{TnVvRW9*6e+NBlY4e^eD5S&7^0!t&GM$@xSzK@mV=za$DNgZs8&Bje>|iGXPQ;SV z{EHIG`;{!hNh2+972tlwZ7Yczg`*E@%{utv^*7Po_KxS?4X>Pzj-D7sE@ikuF-~}WyvDSB-4^tf1LY=9EP$(@l z7%pVePY6x_A~ASzpnsnB6~1>)&_uxx)CF>xZhH;xYG)Cyv4g_67F7iJ3&g55vj==BeJHoy=VsZ(_a4FVa#p zy9z)ty;67{7yGP|g!sDfOWnJeS=Y>R=*44aaVZMqC2Z;YDJV!l=XlLecE|j^c4V48 zrC$Bb>og&$xsv)rrn1mU&x$91`hf@PJ)l$Lo0O9?95#crTj0O^53EBvKu%Z z6xYG!0fG1AqwLG~37o0SnKGw3;=W&_Cqtdk#W|91Zt^dOa;m3yyaA={PnzX^Q8UtL z>gS~y4jrXYr-$hOY~VQxaLV6K*9#3^?$p09%(ph zOMwVBqrDYTBrRwt0RFEi2z@4Da)38SQ3}kM{mix*B5NL&34Y%oh@L5^%>%RB*uJ={ zfNidxW$*?P@e1BOPGJ2ls<(4iwO(VtKI%RxWOz%K9+;&d+Kj&C(B(T-5=?z${U-I_ zx30ijo%+xpzy9^T*(7eN#|L%<(pvPAEZ1Rzs1#M;F%khuAzT36ph%>pp@XSa*I*$` zXb!#F;n$l&27b^5s)Di#1H9?$2dft@1jN^ea*xw6c&+}N`+pa`1sDAQLBkm;4f0zk zhPU$lcSALp1PwDsyY2v#^sW$JC(~&CvO)Vs)epig_xm`VUsyY}w>QEkfK(RcYk^`B zWrB}=EkBEnFdZoemg61Tl&Gq>Q*3^9CSN#l3FR(A)iAL;#ASk3m8^1&O!CF(}>INA^1~<`<3yZ!63uG zifDlbDmsr(LyxVJi@!6E{R+r0l2S^h?^)6~k#Sqp1HBJr;eVrMxIXxB@+EyN3Ak3W zA1eKgc6DH`^qiV%C$dvrgI~T!eQbv`yGaYSYKTTVsFdm%&UpXyN(7G!0IO1aHPT6L z(PFUf%Y|tGYIp+XsQXG?p!9$kcas%bDpBevD_v~zd7Fiw! za)b*+7bt69B+Fliz2&M=p2Y%!*zmPXhEl?D$G&B|sBr_+@5IvQp&(3&aLDy@5m8C+ z>!*9d#C@~5E?)_-2zebh@to% z7n&2fw&_N%{V#|^Z=J6aiX5#QlTn%pAOqf-m5B&Af>fQ6dZ3ftd#*Z6LDymtGw1V$E|&PZ#zQcO~}wf4=^JxrD@7YiBwViud~{Ph#tF)n~M9- zC7Fm|c%ApZ#%Lgj{RH%c%okX8>giQbaZ2HAxjYGSwmod@g7wM1vSr;V{&derbRK&i zHJY25goH0wS5zXd=!fU*St{x;HSgQ?jOY7hZj&e8pcZ2q1X;y&D*b!}DKdZGUa^Z8 zKK9T7WyDXjJD5d*ek~=+Ps)frKZ0;jF_kYY?&JVz0#*3@cle|gNZ~%v)F(XmmQVjp zX6)G|Qnh%1l~dX2Fa_8f=n8*?wog|=3bj{|N8P2y7z%sSQr=hRPDB0;5~;>N4*wuk z0)V0?Y*FtDB7-oey$eU59D^nhpwrlSXsv%1FXbjph!sJh#078TJzZ23HdV5HNk)Fp z!au;263@GE00A*9VK)|5x(hGHL;Ysw<=g@N>?dq++0)tYTMpGv1p>JdX`w{3ciPU7! zRvavOFAKvf&|!x@nq}>s$~h`|+~{gKjoqdninCt6(5;(~F`CaGKJ>35WI*a-oil4L z;33D8fSoSrpS8bwCR5E(IhAgpzRvkA$rXk3Pq!o|W`Y0NPPT z$n*M42vdU&!5T#XeHc}|9{zi13sgd=OKPhWK)430kAKCwWijJv5BwJVQ;eDpk&Vmp zNNKZOV$EeKhV~B_`C9tBj&qXoBoxD8$}G?~sGO_-a`~136;zTmW(N$DWh#Rr!2?1AuAYJJ2i}|*+ARm-=Qp&M1BLKmD8PDdd~&ru3cl6- z&|(Z%6OL7&-H%kAhXG2+@l>=!GILfgqvt2KdF=p9%?gHn0w-eCEj&-XTl+G^o zJr4nZi;S06K|cU7@$Pr%c+g8RM%$0V!Fds@hSslGMR>Ph?_Ge=JKsPf{X9CGuN(}g z6{cJEy)@4`-vV|cWcP;d8SoQy?9Fx|kaXw+R6dwL|9z^mQYboPzmrwEGKiw6f+FCau%LmSz8~|YJ5W~}*+WvTe;lmHN?jL;@`FIVUOb5}M>~pu9>K!u zmVSab2&A+Cwx^~_S-gL{)I(VXoiG>p0^&z9v}~A-$#eqf8NVJWC+|o=*t`Vq+6I~} z8|lq;Ku)8*d(I9T$F4XMP}|6_$=m!7Vo}6MhS8|1gG(eZG}9<;dU8Yo>>3bbZQ?n! z+w6+N-XA$bRTc{^4cT$5#>=4vFsP&rosQE>GH{Xs@Ecno1=^d2cN(0Ix}%7v#vX)4 z=OZ`*K^*{jn*#aYuYKXLtU-on41B9v|M%*JJlU~zKiQ8{fP6+cCXd^J5@_`Z9E|U& zVh|AN$-WRPsh|(!Ek@#_D7oA_YHZdD;s-}y>4n#w+jTv_fpxqguausa7fo)RAgOjiuAzHvQTtkpoCiNX( z2BgK9T$@?hkBCVr!AI^IXU*e!L|Ea8PEsPqEMqn=6HfJ=n);3QNq2#wP$jm&wxy;1 zrurwljz5Bk-GCk|E6q!{R$+I1yH7QRV}sf}R4|fQyRQS7w|4OjN5qv?5CxHUx*zdG zvcam1ojo%QEy1nC{Nm4%p)l9lvg0mA9L-r@!*JrRT6$=Y9xow*vR5uPF4uN)dH_V;!3f%(5 zZ5#8%Yb1X7v*g&9kA6KK!8goEoK+Nj^<{UdxQ?~&uSjUkD{XNGhC39%=eYhhLhqI9 zg<)U$Lxk|8@>djSjRR!i!42mM#;aLS;c(ebL8!jbBjfIn)^NWgXUDa4z&Rr6mY(nb zWbG~SLTar{*eo3A7)+1grrz@P{gT+*=U0<34wbXRO1F~`^QD`;;Xc3%>g?QjwC&G| z1Yt7lDQH(c{XIhI5m=6Qpxh~JE3dwvdJ8clF5zFePwQUv0zGS`Y^+1vgEoKj(8u?b zh)xcml-Jt0Y_|Y3jt=$>EUuw$=n#OjTi_ph&eq%PMNjgjyM%~G?CjTT&IsTmHG z?4T5bGRi2-W_K%LecDE9d1#f^l$jDSO@Z=cey$D7)&WNt-eW2hCP8H42si0TItTPS z|K+q0IRS@UJyBEC39XemE(6be8)`+W?2th9?d25!Sse4(q(uAN%|kz*!ROMTQx!Zi z+Gg+m;{{E(hYHhH`;=AoHJsjakSm!hWV9=He!=bUmF)($#LK2?@nTXm97*>me6vh6 zN#vKS-pVR~R2-Q+=w?>p^(6K>yAVe3MV(sZEiw!q?)hnhE^x{d&;R@FXOlN%06noM zV2;|b+)I1^nanFe+V@fp@y)ung@W5$V9F%U%JYQa^Y3w2)5Z>Rd^ik~EEmaOj0#Fk zt!*7+!h`dh_OWcP{v_cg=Rf})``8hV4^W5FsW#jqgA@eE)*yk+CrcJdkV1J#ZH*Yi z2~}nl7C&5q^E>ltWzmOQ3E`r#%?jqpiX*w`PJhuO;pYE- z14JITq>MazxxsZ(4tITQsywS-rm&QI^!FrI$N1;a(FTnaCK#_@?GKz`)W)jhf!6TY zNv)o{UG7bJx#Z&Ezm3?34;*KJ2S4)n!J}kitmdK^$b%d49Gh*5jN*vN)`8NxM7)mupuw&?Esy5dA1`7~jQ#K6li7}mZRzgh zlRAU!D)9Xy8F=SR%@ULHqwMwC)zYw}tN$%&j=U9BireAQGg0bF`Z}={tG@DfR4kWs z$(gZyCy|$$tPUO0y$;p9UC^1GPU&mMvhT$!i=16{xc$qG=TioQU0XIoladFutUQgM z2i!WDzln9&xU?m+L$_{7sJANIWIyTn*oLx`mJVsKgv6U`&shEmHrQa=j7gP`_e%`7 z^8DqDJJl!7Ep73E{*7UVjHA){F;3j42{D$5nNx63X=%Q~HxS=fz5P-w>yCRXkCVzG-tbHy6v_GDVgJN$2L; zTD*Th;UZo&<*XJ~N}EB>H$#&OOpu-=Adi7Q_@4t`MS&n`abfs)*C_dBDPi`^$Xb3e zCy_WRW5^9(27n`vL7#qD(q^;qJ(zLn7xw#>&n9$)I*sKD2S$|w_GFO#<@RHc0uRB| z;05r}>Fw$jUa9_t-JfHUXL-ERc~bG>>&IZYEA|=pMm@0 zFrW$mc?xdKo-!W_eAs?$x~Mp+fe)A^-(8Mw`Fz zLw56Iib!4^S`<0;2fZ%V6xw4y^S! z>0?g%&_n-&uq$TrW!jolWLMee>``#?c zDv-J$LB7+0Cpq`A4+OyaoAM|*#p!8nE| zH)-hIU4LZ-5@q^B<+(NnF33n3o0Msh5Cl-{MGhZs<;&oW^o~t?B4JE&aS5x-if1@- zTV{7G^;qTRPEJcjvj+P0LxF9qTtQ5hrra1QST=H;Z?(y95VNb9mUd>=be2qmJCd+b z2;a|h(VaNP#DxPU%j2E^-=>m$E=N&s>CLTxxCGYDQ{X}h5Cb>9{gy&taC2%6Wgmid zXaKBjBb(fg%e`ti3*$gA2J7hMBMaYouwkA)W01b7pZ@XRuTxv{hC)4M_Pg~Gw0E8x z3Tv)*bkho;eT`w^AX2H4H{-5S@?RiH!$nP>h2qwf@|}Mx!3wQ*>##6d#sTf|X+@T7 zIo#O0SDRKtg>PXiDs?ipEGx#Ym{JrW9Os}H9X-Fzw=rYsH#kQfz%uG^JM4d_T>HBj zrY9q(Lg9;D*7{do_fV+QNeE1(A$6!{*N}i0`Tl}->W*11g}}~De6P&A?bq^`o7hht zx&7`@sLEmFJObz1srT*o4!NyuG7-KHPWI|u+EW=qyO&{+irc@a4J<@Rt2tXu>CvP+ zYM9rRj-16*?Vo75UTPi}j4(TZ*5RRf=%-B%YZ#Q9ySl>8M<(Rr$Np^nD&I0$_E`Dp zycoK8m0N`T^b(Q``ikj!PxLR&kFLpnC<{m|U~%`DO`%E*a_{dh%vq1$C@dKvMkmj0 z-LgGXHAIDNkX*$oT^yAX+>Ule zGF9PS{hfPy$x*2Xvg+9w|1ZwoGboBKXd9jd5y5~MKm=VB6hVRlN)i?Y0YyP1i9{ud z+M3xI?ig;^2zK*L~CK2j!$lDq5GfgY@O}VV8Bb&$$xu)+=X3E zdU=^1((NM-Io6J`VVi2P;-%(Vd5T!ncDjUa-Mr06azm5c*rMFNA0BA!a|9>%;X0kp zzciK}>6iN-&?CaB?p_T2Sj`FbUoqbJxX<$*N_`|{wSe(G@-V)tW@c-E zmxIL_u#ce|v-IQ*tRhEIV(E<;+-!?AsWk!XAaAvvNx#<}vUB48)0^atf{=;QfnYpK zc8+(Xv#aw<1rw8vFCCeUH7#Bw_nH#N8)MY=#3|Rm(f)?Wm8R6b^KVzNFB|=&<8aBm z0{Q|^*5iY@vKIea1-Azt1>|oTUQM7ls;^nT&QeetcI8V${bozA+#d46>-|XOa_kPI zxwHAhQ9tK;L+zVOA=bj%r1OrNS&}8q$JFIVcbfLo&v#6T`S~ZAboZsvDP%co`Reay zyl(n3ndVT?FVkbKKu$2-FiWGyJIteASG6z<^ z)9(p2E=-L3WYeQJAm6{?yPwKLkaUF_As*-J_>+gaQbcs0T-5aRpC!zm4Z0A~q0%#11vR?URGL~@K)#>u` zwoKN#Hn{YL@a7^LV!=}@f-HeG$LZ;5N_69Ule7HekAZH}J+2u0{zLQ{Kd^j#7hbaL+tpenfJT?`Qk50_o*=6_VWnzeUgFeZtvv=ikR!hsfSDxJ$ zusTe?1Q0cOAK9n%T05oXgV=i4UavGx(%8&ygO#2@1wFQ}L$y&e&m(7*In?2`Wqk zc(k1)Svg)e(2nxHtN8OMJYhEMB+olx6{zi1XJDdC-CN0n2b$94IVxN0hPP;km zDz+nu?(2B{yyAKPV2!1#v{@sVxPg0v_8Da*H^qvsk7e?OX5?eNwEZ<)yYs$2NB5%OBiU(hV|W{l<6o?wkp}n>mHk>D8{i z)>1vRWBoi@_0;;f(!%y#+kG7BmdiOpRL7tAeWY_!V8nDg<5CpSR)u zawjJ*++PT$FVYrn13~jU3)B^0^7Uj4zzaq2kxqY*ipr=RDl-Y6Enh5s$4O77d{4#t zUSpqco^?1wE7s&R+5L;$5q7uZ5Kh*9`uBR|u}eJ)<=@{V7+u1z1cgj+vz2F*m)Gdt zF6-*e%JR>>7$PrT-P!6LJ!7Q!YG#5btoE&}s$fhP)%2AMM}w#LO~uQ6aQ_9ZMF!r7 zke(*uFTR}J*r?0pn0QSN)WwDJx2ZKd*mU5#*2^E7(o$^x;8miQ$8`8 z?tNZ{PJUoT`*Vy+l@inOf6-=O{uVizmaH|poxcfkq%GR375COrxdK7h%GSyd<@4aF z6%R&Y{~CtTe9A;K%GQ15bxAUowIgi))MW2J1ENhoHDltRb1C!;tiZ#G&CFiv>R_^n zgiK3VS=cL^QYt;OD>pipBlIsotq?V(#<|ISp2eDw#$T~=1+wzG>gKu_Q&XS&m(|bZ zljh=7`x4VD+i$a-2($SfN9#an4;|PF{p}1P*RU=o1s~B7w;v&W46I0mlrr zwCkPvbNxvIH0qwA#k7XJJQ1_$XNvg@NI-}AV!}&{1CDeOJ@@2@kl2_f#_T?fK#+Vr za6n7nbE(8R#e{-;X^$Pa9qd3!q|Msq+8^Tnp@;CUzbK%an!qw-Xl6jSD;tYT?-iqH zi)A0p8`AzJU!1^8W@Ytdmdu@NZ142E{_!*y;hP*u9?De&H1!6Pmff;Or`TSOj`EBsg`e{7EbZc<&eAtdvbL0?DJL~F9DQ?*pAwW6rxgX_ zgMy>Keve}+nz_3KAXxbT#;TICtuS7pzn9zD`#G{ZS2Nb|?u{6C{6e(vG9&^CA6-D> zb+=}lR}&+l-5(xkV(eP2V(Z@|Fbn(jRSx(iHR+bRPv$cJ8!PTQFC=~#!j;SJh*?9~Z{uqhX2LJonuVA95uZd%?AKQJ!)M)x&rFbsm!6tzP&=$m ztWs(IDRvy3fj@58VH8yamk$apYiu;i?mM0L`EDc}q6zOLX|fa+gcC2_I3XxYpeUbJ-E*I}4#jm?zFK*puV8=La&JDF1 zbf;aga>civ=IpR=K%CZ;$YFq%dQ~kcFMHZIv8Cmiv1xKjwSx2V2l|zmr-@2pIf<+& z;h(EIl}*vr>Dz=L91OwvM*W`uruyz)nW(YR>+tN6RL8TfD_Auqf6qvIWLLh%q*q6O z=dx9@^>+RpFgF_R3i}~^tzIlCj#u!9&<1QII@>diVz<$d`R+Gpd?{9?iBSEfK7F>` z(%Eluvww{_XA4}|u;$f7Hz4ijhsC1sZ?WWIYdpQ52mkdpj>KP#YiU8mP5O3Zo%VQr zY~~=Q%3GDRYLslfyF6w zvBFqvg$&PBmdH#0!6jjgMWFUNlJFLE`tbA`KH7yZEhPW%E;Xi3f9axS0pD@rCXxQn z?~kLj#3(A{1))l$W}_c8I!O}#Ne}mRi}ZkHsP+nK6P0sk>#oU~sOUCIxs5emDa*My z>1!xdqFB77nUG^3y!uiXjau)rx_;P-@Gx!TZ8JE8_cVEHS~9!(66`GWV(gs>$*DBo z?&gD+Nw1NF*Pbg=vu@rTgm`p&`=&)enq%4)JoQC{JYfCg{Cc{*WeGmbD;PBno#v$Y zwL^$NV&5f*qyavqWN?V7(@7Xy2{@i+z3v#Ous{+{y!C6&_~I37SVTVV|2b*1rI^5YJ%z2}7hAzko`Wvl2Ni$9dag

YXf-;74NJGtRI}El~jhO(RKAC)*H3gkc?+8_V%|BcBRh$0Hct zHm|bwaG|F+w?gzC`WEN`nZJm@jAeU7BM*FJ`1kv5VJePW3X@;6!tAkoQn(`s!HIVEJZ`XP8? zDsVj0XV)GEWS82q4e~_JJ0$rBts~lBo$y8lUVOxpJ5?m8d?x{l7;5&KZH{Mgq|{~? zGzKxHR^2+tz`!Ls#zyCz9D?M4^qG9jXQ_z0eb%XE0nfK2fX0M{B*0Qkr-G&BA&K`m zjbp!|9!Bl@diD`}x&bq1kK(Iii_(hvx=XK_K}f^xPrGImoiG|2o4Y#R~{T%Wn z-Xeyxk|4_4Lh=|sV^bT`tj4NyoOcRLA|5q~UbzoY;?xplMFeNbc|BxL(epA*Fd6y!1i4i*@p%$~;JPupfV-~r(tvfBY1A8;0}8|pA;LT! z7t?Ex#Og0(e8}Jo!$uAJvN=Xgp0h)lQKBO?`}NE z)1}}p@qm2U*H3r19YBSgh`8!GWN;sZzxTEaGZ28{2RH+8hKN&SpzU8_<fQcE6$f z1@2S%`wiT~*Hb9;tPM++)R}?~rK8RZL0oQ?it) zoQ412-s=|--d&J&cq^`p$b{ErZ)#hu_j2wf?SEfZqf>IR@jggTtxz)?>wRy&K{PIgOkmj>nzAORq)a++M)a-!Z*!|b}GJ7=?Olu z)S2{cYvNvaI={l)v!WEFdnf5L$Un?^HW^xq*vimcVpYNe5-(#7WZ$>I6)~Ps~e^p*0wFm zy#3Ls3@7Ti=+AUey&kg}eLH#80c+AnRMHw0aaBziQF%Cvo%v7$($90v0`I+b-YLFM$?ge%|9RJ>95V0=FT{(L~Q>@voBRb2~qMn&zWe zkc0B8C`KkC3f4{ELhx3PZzW?1{5$9ReZ;po-Im)_5B={(Q8z<27ruu?1)Sw5fBNbT z3XTnOrun}wnM=>%>FD5Wk~(}ZDg(;xkNMgUtu;y}-wBKKX6re)zOq=J9#PaHu+e)^ zfrtWi6CmM@x@Da$N7BG8r)^G3_ZVB3>|ci~`O8e73`M>`+)CTZcjh3MNZ^FeVaK%q zlvCtT8O#kl{`BOGS#+s0kuHLEulrSwLd>B*?h`N5Q%l9@Xz23C@ zpzYR&vd&YYMxvsd3$ClWL=Ek)tnSvf6D(*E%1kI<=uL&PfgenMAxUep|K%g#A#j!=FE`WA# zp-9^sOSpFgQEbo7-P~$WRLYlQY`2`mGw)Un;4_R z6r}X(izkLQoDhEFI8puLh6eKi36P?GpdOYw_H(K(4!a>unR^ZqUait~|E@06EPDPM zQxwgq(#i;r$b-< z*TR`a$HOMB*Zgy1!HA*}IakkfNEQHUeaKjz?q^=L; zZze;m)Ddw z5AP&-e;v8lspw|cATnzw&F$&kFz3N&pt9 z!r8^hM-5$|di9dtNvg`*V+Lw#TctJ@4NN_C>m?a&X|GNpg22VG$n(He73isSs2TeExX?HxT8r+bIcl?9Y%;nkgPq)gUPweuUzZqf)Lqpc97_^!^NF z?je@35|qPeA=aq=4uxj5lUmIY3lj@k63zQuNI#3=! znCq>#5L$CSe^i6lYlRaOS;Np*Ls};5XIAy$2=jB0#267f3b2B2KBFJ?dycPCZwnw$ zjx8Qi!Y66!4IJo5!h1w~dH*Dql5OMRAq1Y+IgRzxtACnN=Y<$Ub)e9f&M~vmeVT`5 z8*hyL+>GwMa#ejl%i`G80`<=p&RuVai!u43%T%Fve*rjMqoq9@yR;JAN2dRMinEc< zUJchcynh^81@M8IH>xqm)V`5uq${zP=BjF9kM7X6!$HUWiAOPJ^OkO{}?K^Ani8=m#E_<6npHv44LU4(tVqrN`B-8P+g>Ev2LrLKv?mRZ_K zKKjd@Ab=*YF$OP1nJYb+xs&DoojVNA(pLiR5K_thvLDr^K~7=j{`kEKHzhR zlphHN%u738q;^hlGVqQ>SS^X1HPOH8@TI1xwEe{0PG=X}3PD4LJxyY~F5{oR_7Knd zVd*VzST2MX!84PAFAxM+yUo>CjY_|!;f9y4V0g>(SC%g?$`{|Ixrwms8()ht&aWgu zo*S%z#+v~#yIQ#uzqcS2L`;&CrQ@af)X3rjfrnJ!;M+3Ym$2AwW43G%0@U z*@6%f0ERO8I|=jn=w4Hj!fF-4A>GY835ps)k8k-=W4AA%F`-P@69V$#^wp3|q4ks0 z)b%6oJKXW}eM^-saUv%L8UmhZQxLUQ$0F2B{ji9IipY zB7lC6(^oVOEynjtf(G=VN(n|q@6;GWGo8Bmh?(kiZfz)m3_gHe@TVW=WY?6`L7ev( zr0=o$N@tyIv;P9Np7~3KwcbYg<-tDBMp>(0^J{O`e=&lFyp;LC_5==^2_tE7 zB+}^Oc7%VTgv4T_5!WKYMEKUz>fLMPv$95s$~tsi`kX9TU`uEltGw6EGwY-2M#Hf; zj}5K|_SDDCIkw-a?Qy9uSL{#3zFz-oV6awR0eTq~bFE>c2LME4^?5G_)WY9`^o)&9 zk24AoW+`aIHV^pOhm}+6D<474kC`NA^=rb0H}LB3Rt?_8US};hwm~@$oUXkBH!bj4#ijSoKRox1#H2nKt1};W;|ju6Yk#dWC=S^0349Lhho)TM5=*Vlk&^9 zPYT99w;gMcq$I)!F#o!F85I5W3JSEJoaQXoRE!^Yxby;{;1i^ZuB#1UrY6(Dr*6WV zK(YYooCndl{XX${qfWR*N@A866m_69&>no=-;oi?fwP>M669Mt3oDAh5i`()k!WcJ z}Dt7(I1AJ%tDpDJSg4- zb3=|pJO+L#3TEU0@Di$?oZP(k?BA!8ZEf;A?sXfu6E2XvQn~YaH61|a=-HbD&-(2d zdJjs!-E1Ib)l1j^Aj06>+{<0|+v@5ONNWqhc$Yqv>^B48EU23zIj=@okih3Lu}4GM z;RL9yc@Ln)uvPtDI){l?h8cg*mw|FW&oE7h@8r#W{8ZbKKBw;Uf%%gO+Y~$R;psQ@ zbptx1;6rGE!e3&DIqWdm0d>rl7AC@_Melf1Q9HW9Qx1h3$hP{M{pPE6`)J7vx{6#1 z$;m7hTObwHz2_(WzRm@>)BTtX5x_hB3P?npqP_x%XcdqOaKg;^p2^+jC}R z1p||3FrTa)t(RB{weUg^q99k!U#zgSEAK82bOWk6Xh}@wcUcNLJMTcU3k#1oo)B43 zKGfoGr`CgSf4Rp8BfLU4HMqj4$g6R%MD>G00}C_{I)VVS*5OIV4O|CB<2vM0fdh3V zAkZ9n_C2Y6XjH&4=9bJXDOPs$-hM?YTNtpRg=fC^}sC6a$`@;Ib+?X20TU~e&gv`__7 zs`%tPc%HJ)B?5xFNSkTNrJcE=9gJ*wLUzu()($Mw85eSa%z>$RAP)bZ0&C`3e0MXC z`KDGHFiDC*j~X5A5OmEs>^*$wZHB?CP$FsmrR8J_Ne>s}9|6Z9j@ltw!{@)+WBfB^ z4B}lNWwaxWl>o{ukot4lS}AGp5Lw6v*eUR0n#3+s9hBA`h1xa+c;RLL^hu>dEEhXc z2zHaP(JC|9`^o$=&JoP%^AM-8_r%EIJS=zQ(xQ>OWp=~5@~!3pG2Xpb+4ccly75s6 zK4p%8o+ZZyp;0p9+dMc8dlW-ZQOR%TNcMBVT^|3CIcEluaR$ zn`8Um&HW7#z=626-^V9^@w^&mX;mO%5Ri2Xkl`Q)!jgvP{r>4Rvl?1aA5D8MIX59n zR_+Qf1{Tt6;YSd=+!_-rj&$nD6;ynD_giA7Kgbbx)*|gTuU4r^I9e+)*kE)Pm%sM0 zDl_(@Ij~T`CiiOr3iB6;_Z9v5K0c-e2I1{v5V4@FE`U`*Y|QSvnBjQt|=ut9CJkvxku@ zDd|LYp{<5P>uK1JfFT9E4CI-C`K=q88$HLMJX!aWh}K*U!|H$SrF#Uxmpl@P=e}EFb)iT^K!ffnQfuwR1=rW)7ws!i`yFjN0EqbH2ElMgsF31tiLDxsooQ?XNephB>` zvfB3~zkRLz8{umC-d3?Jxq*oZ2B7ju$X`3KxT$g^CM??Y>M{V_ zH~S_z-GC@tW^Q8WE~>uYFn1PJtp)XSXYZeIqo8^q=>8K}-q-TgRMtyp0r30NYs}41 z3kYRE&)MAgE+uV6*e7>GeVYuDJIC|J!!`QJ=v%;J+*o6@0cM~YJ1R^FjZSXKIC$lm zcGPd%WSxY59Sz%O3%XAK1O`8Oe~o|bFFH$MjDVL{I|6jWS??LAP+K4$wULojvl;M--l*iw~FXbM&2?vx4>AMq4^Q$P8Nh8v`n;wW^g|Tod>#X{$p~Sb;2i)k7op+=y`cT5J9+5e_u2*AS<0oJP!L(+ ziBbZS2ezX2RjpnBbJbnYNJEAG#b&`>gAC@~%~lmmP*FKmkg)oYZ!JA|i^iLOI=*lq z^yh$=1z`Kc92w{1+;ZzwUm5rI5P3w-KApDwkYsY zh#_-8gu<9AV%fxIu^mkQ@yx`5vsuutDW|4!Q!?@w1;8V4Y(TLJo$~1g58|xneD}Y|loI4AD z{eE*}8pyDzBK1umc?g8{rmx~zT6K}wAKoa3^Ty}++Rw5r1xE+L&594D=;cE^7kUCE zPA|LdiUI_x_U$jY{9oY-w#h!w9}9TK!LUlxmoaElJvB!3L!s<8&I4$dts7h(=n_dN z%YN(+VTXSYE>%9J5|k&L6SM|8{i$63N+6)O-)E=pSdqanBZ|!pJq~I!DE0qla1St| zL=7CdU=9R=X1YARf)v%WRx}rKrBc0b5J3v1S}jK!#}sau<>TV*~n)4e#d$}oP0h6$3f&DI*YFS z>ZZ5^F^Z<~IFY#Wg&y@?VH2#7Pz1j1EO&RMR`oSl1Ztcpkqw-L$<*Pd*oIr6mJ=AB zy~m$}f{3G^Z?v0PwO*ztM0LjL3LH9k_oMJ8l-GLp^V7TnS7lI!2vhB=+U~QAvET!v zXFRvbs~%BqJ*@+e8x8*Cb@k%R%sDSlT*S!6_F7HRRn9lrgUq32FrzzmKYv%esa=uD zqKn!E8lc+Q9FiopoO{>Gga;rm*d5h*q=tz!Q2zjnpx2y7pW|(vh+w-XUg9I#fo8Am zA4|I?JRJW}a?%201=s)lUWJWD?~HX5+a?Ty>zl^@3gC{p1PH;Ia)W=}0T<|xyhEv@ z4?96I8uSpWeh%}bKnBkUofUOkwE;Pv%Rl>Q5CB5NycDo#u*6tl0ltW>};D?3BP!hg;QloSHCzXmO^RFRsd2RS^TcbPNDOppd^6ThO_*(!sZJ{AAg zto(ndkGlV;uC1>#P(hsMJ^^^(b3C>*G1mKYxTIFI+8DZLre0d<29SLPYRSZ{dUI0O3Af4F24hA|7t_4`+IzW6CpP+AY2LlB6 zPorV~^`Bru_$&TXO^ieRDEk>^*s2bOwI1pqO0@rS^vWY%#32dN5Q*&oeInGtfVU<4 z8zrhhE4E>j;G>P=6v2AEPaZ(+9=ch66hKoRu@yjQcOZ@=f5Rfp0L%#ef_8FI=xv2$ zE>Kxk90a9+4nE9@0at~RQ2*28qR+l7|0c4GHqLYhJ471?xM7h5LDaTTa++(tDsHD4 zoJERS9T#C?X`rIxkmsSSHQkz#mfhDuUEj;q(}4#ubnxZ3z+!EJff(Whx`rr0U%qX|C>m;MS*RHaAu48!jqSh_C@3ih;i>F)}I!phX z?J?=3kvS_f}8m2@lctZxM#-)op5zr+)3a*eJ4M#yb$p#uhbTj+x zq2$85=|Cq^HqPQa(6{Q|!&beFQRILPI!Cc@hhu9s+Bi_jGGY?|u7lwnLOlq|P^E3$ zxdH7-Q~c&vTZwKwsPJsc(nL3x04LRLh8Y@O9Y&QsP|E1oxWBBj^K_-Kuhix!qQnd7D2~@so=7J zqS`qCDP;Yf_$T75eX-*E2P~9o!H|wQWd60$uKfnKymAVh#+ByIucYiWf!RiRk8=b6 z`kjJf1eHJZmthCe!aB|dbpmRm0_BgP83zxZnSgayqS4YibX91Cfl-oI5ZS>Szx12^2}n2}Aoq9W-}KB1cfIcQIMa1 z84X=wsePJmO ztyVsr&2t2tcA!*(B!JEUSmBB3-pzx;M)Wkik@Myddka5){P7o9F>i?uFb0}91g_(K z5MvUqPA5iO5PIYRhjK-l~XfJln}{^$RH7xy1W{R`O13vpV> z)+kt%R|^Fe5>|b3S3Y&MuIKaHXf!bu7v2dwa%unl@d#5mNs0b&^1MOQjY;s*27fuIyVN4#7NT_{| zHso?gK{0Fo$(5BySCdUQr+&*3*d)IJJGKt+>ap_+VdZ?X2kc%@c;s(IqN5-Y&*84S zgN*CL%=1eZ6VA;pvtS)(0;Q>_rVGLkNw84NgG#D5Wjru!2t?7-U0vxHpPWAT`yEJg z@2C|(?-J^P#*v&nvmGc;ZFbJTw*6lCl>A7sDRF)wcK$>VIuv1tGJK_?Hu|DSPayqt ze{?r3?Q3(g8)L zk@9=NE}{_Iy>f=~psSBcO<(AA50o)lMb_@?Uy@ zPk^7W)mUTeKx2uzh(PdovZ|@hxrfhY;}R!#iO5e){da1aKEtReBrSX37l_fpR{Bps z7{uW#YXsq?psMuw43xmRO4o**eG~wi^3y=t6nYiDfdXJQ&;b|2I7zQUi@0A!(}s7d z3b`fVsRlg==;+H!JHFC{t~(z#rNJTk2H~(Y=&)EhcN~0Q0&_m)s6F(L+Sf70-Cw5v zkeg=kB?^}rTbm_m>hnjAC8{LmJN|>1Ky^Me#Dh+Ru&uMuCXmqXyXqO9m!S34()gG2 z$%{t7*as9*w~KyE)Tgn-Gvn9R8cj6nUiXyhT&dbWqFjwR%VWMBAx!ImIOJvuR(@55 zbb%f0Qqh|iF8ukgH{O-bMfw-VtvX$2_Rs}19$s#WsfOeb10p>MP=!Sh>$TMFA5f6K zjKa$Hf|7WxO$Ey#qKV-_Sw44xopsNc+V z6?wV*zr?)PrrVzGhZ?TmJSllxxgvuoD%=`iGb>ceY<9~C%& zwx2yHaCT_xQLmeeKLb9RpEc5Y51MC5=Yu#A-Y9?u@j)f{ozlR-#=6*}O0+p1a4|i+ z@3Q*r@Y|Tmb#GO9n4%oWf!Gy(P%N6I9U!tJ;*F5NeX%{?BN9w(Z!iFx(VoK^;L%V= zZ}Ij=T%{FsJ-wu)bX__fj17#yym@Q^ZTK?PNK6}g-0%c}QaT(n9nvkJ@}Y*lr#K)A za$;p96JGZD)W4Kpe|7U%DC-f$&j_kZ{cw>d>L8M^FBPUIf&gK5rHw9w`JT^@2Vn-V z#>VLa4ky|I6n(vSd^>s*;ca3@5RHrIeD^`vb^3r5k8~UV!v{l;WhhN;-+}0gHPwxN z^Al+)HE?96cRUJdfeZXY(Bn%nANaw+*7s)rL*ewJch)ctl-#;`;US@`h}iBr*9Ky3 z&bAtI_Mc&f8h*kWGLDfKdqnJUT$6x{*N!sTfNKExvbzn*AfaS$;!qb)>g zA#p4Sr;A){j$v@lcWimsnc*)tC*P9!9Z3I zO)WqgK?uI6;C=YC7?g7Ss|p|0+DN#kY5KZG{?SE-EMt z*&5KDeuN&!(Mz8tEq+QV*AT20s4o@%t?!6VZl&1ttF_sZ(}x7^>1{K+d!33op2{#N z2?o&vRj05sOQ7Q7V-pLy^_t-I(A>bO*m4c+p7wu$cPo?QZ3AL&>o0d->;*W~Xa#+( z7}(FBd3=rzwufYjwwp`6wY`&mz--U?3T0iy4$_>tGqXz&U4nWwB#X5Ac8DE;Fi8s% z>J6Rz^F#y%5{MPh0+tTiT5xRf5+kG)pK1r0%#IHI;v0fmZycF{- zF-dIfSE1=ZJICejsjUPzR2^DN+oFug7P_}jvbci45UTz@cm*C?elB>kX)>93jLIrH zpD6d@L!a0W&ncooumVBsi@VUom2ahIg$uTUF!N+4)upv$IkG2x#rW#> z*gXsfup9W}!+J!QzAPe{{2x$sI1e0uPe)e_E{PvfY=}?bs#(t??k7%6Up!X zT&_;CUiB67oy1w}SxQ85y_O_Su-ai4Si3`PY-t5G81&d zre-@JoE<4_Th}4)&2?g>gn!_S3FXRz*W&r$P!j9a^pc0N7hpDtB_qxG=w z-=SjXr}=V4CMJq*@6|h#>_=^S$OsFwVhgIl43SQ_9yCir+n~cD8{7tqjAOfF`13~h z(!gA(wC6`L1{=V9mM@B_Y7Fezop_>ROdk#zD#ZVtu!Uam!ixN`!0?%t@1Rg|)}oC(IwHRSr4mn>5f` z%JWk!uR*_tXn)v_UOo7|H_Q+%N2Pf%qtyi7?cl9!8ni*QXm^E`DdEAFXDF@Hnz;Ma z{XGNAxf)D`khW|Q<3_HxL%t;}nL!e=MJbk{sN=eh9xyAkJ%hAbKPf@eK(D{_ayQl1 zRAlZ`ikQ96K)-7UxQh&tgvGxzOuLX!`~RA<3RlD1C4+rjfI*s3K)_vEVvEE(Nr(^F z3)izWXan6@Hyn0;lyf?oBt($lX2|S;!ZC7X7zCnJu4-wto`zlECRyAN)@==Z{uefm z;+u_=(Z<=$`E2=Huk2>H_w*{YkM6g!ltkDoA6`ODe}Xoziah+D6+~hdmDQ7robS6U zRUA@%x-@=X0}^QbP*gvagc?#rxQu-5yBlQY1GcPplJ}UEW*})RTiro2t6CHA<~o3t z(}(^?@E%@?nsD-d1VPm!J{b0qhBCes8Vz@)e>R*BCNo1DTb`8#nADle=xcy>>SWVH z$!rEfKrc?r6txjUC`_T9*Z){3B8m@SLe0~ISJOT^dp~(SDkLTajqdKV6fpWiue3g@ z(o_;*NEdSsLIM;zO*zJ(cp2@c%guSiF&wfc?GO_I83AE|1ILS$cYCP|lHGLNVTgjX zd>A_IS?^gXRiLZ#UP{MAIP3#cpmPeXP66JQ1zBkHV*rB&G5^2tigNOmf`RROD`uMr zLuaapB0MG_gYR>>`4^JaJx z4pZ7EL|DjYIM>_Sn6i1;0-^SL{rxp_!L;NAKPMf4*}a4(-}CjN&KX+!QM+&_S_f!ei6bj)n;~4;m6pXX9T3E!o!g-kT#UaLnEJo)gQeCP ztrXlU5*VVvi6a`O#^OUmWfJg)$ffJ+S^J4TIWKR0=TUl97k7kgQt*w(Ue2Yv;EDVb z1sb_a_U2vV)NYwo8>UKk&_)IcC@7Ge0p7@P_;xr8+D55DV&dWteGd6HV@SdoN;3y$|eWRbdM|G$m_ zsSU~CO?G2pYZ3qQvSS*R@L2rhHhxhXD32ni;JDFv@OHtG_kjF1v+T!3dz>3Arusow zj_D;iMnq8XfI{4{x8)zr|1WofDl|@{m({e=NoDJ7uNE`e&OxuvhzTwm{-9y@!%IU) z)4%_4zFj+*TeT0v9^Gl6t&+6ug#OcP&r7EUYj3*<{wYr5v$M1>++Ejq-fk}G!I1h} zrs}HTlY|$Q8H8vNpE9-Gw#RyY>`=R-+J2+?g-YbWVlQ?mn{1v`GG?v0vO-REIqglE zm`yHu9^v0lrTP;|RH`s-QfY*^LGl=2WM_YQa^HuMlPe}px`e9V!nEluJQpW9j1$AU z7T!>FZm{AG$DIEkPx?Uv!i_3oN6dF7Un;($T|IY3O5x}LZ_%n?h0S&THJVvFvc5fG^}V;-4M=LlH2-e z+;`>2!s_(?L_DrPFIlXZQmu?2R#y?i-Ooe8c2xp2c6RdPXZQu~F^9<8LKTLl=k}Uz ztURp^M)vYy8e(_NFC=SzZ`6>|rx-Kda8q#adexh>|2wDA%p^9jCsuMlLg?Cyyzl0r zIdjA`)@{&WFndqc&!1x?X5CU#5O($sT1Sg>N2T#=oQX$2y=qmBkf%NuT(u!)(zCoa zrcsTT?LJUoXP5hKe?{71+0K~00!xD$s>flj7h-cb^L+@C`$q`5W*^)4@;h$BW^LWm zm;b{=8(a9*+N1t6RogXajbY?vmByWOwGAZ6!D~vQ{ww&N1FCv&%OwXNW!qiik*C&- zWBqDvd-C(8s`%#a*89ch_K0B#`tohY&zRYkIs1|YiGlJ`na{7DoP4ZYcO~@Tsn*nmBGQ`UNX!N?Px}b{db+WSu zc|PZvh9T#xJwGp(K12c=%%7SBtmnTezx(rk?8`#iMw@|t4kpC<*| zIn77UXi_JeS1UC$iGAiF`PJy$Y*iHtc(!1BtK<6wYiR%ySS!NaB|Rr%J{(yn+xr{=;_$K z@4Jn&bI$ZrzXcpPAVTAsX%DJj$SV-jN01XyP)%qJGrnh&`oD`WxNZ>BsQZJo&(?4@ z7+$$r-&Fd*fXpB9`v^|PS$wuAHF4OV?eKI+jOtdu*Nlo?Tc8d7cMe8hIxZ$UcT8~D z^!f5=*0%wy!v2ogb1(bg%U&kA5uV?Cg*#-}!>vB+*#nvx%`Wf`ustT}*qyE@Y7d=z zeny>sZkf#E@)#jJySIAibe6}Z4Eq+H)B`f>_Z&_zE!qjP)qM)b}8S50eAMUd=N> zl?J_q>lPEtC&*fooX3(`uP759`aK=$(~N#55wCudnvV#7G+iQBWpGCY&Ptq${9a9z z(Vb9YGGpKSZx9*%0&j9cLA~1{Ld1(9;xpu-xsvl(Zt@>F)q_J1xv#Jw&CYXewU;%R zI@`|dlapnB0kF*LFkw2G*PeZ49>7i5OBgf19~Nj4^tkiG^LsNzo}GPRJnlZaOyBK6 z_=mV-`nvoKFKaRtE_P{iY}vATb$3pUm=YPCfE-$O5x)HBz*Ls-IgXucna>WGE=|I^ zF>ee=x>Hy1O-{_jV8WBt%%rS$fEx@WaJHol$FV~C1*}Xbz@(f=>6AsH{F`tqnm4LG z5Q=)|ZF}IOUg=%7a5P%(Jn7t6ZX`KsD6|obsU!LfAeXB?#n?{_L|F8eqy5_w%D3rU990;RFHve02lg!=s2Iq^8aE`d#k5|Ij!f;mZ%U zdmB{x(p^+A%E~bNS>S#Gz{(7~dIGI)*Dt($epm@iJZzYlwq%I8c6#Im!znl)z`A=2 zUd5r;FJ~zjw%y!p+O@<1R>E_yaWhX3)bwVpg&>IrH)|Iv+l3(PWlG7n*PkT4TJM9K zs3$P+!-BHPXr4m$<;EQ|olrt&>O|j8WrYYGro#8}*Mum}N?AmE;*Rad zr6Y*&yXswKdq%D>twx1&I2JOQ(Y7IqU6W!YyXG0oEXGe2`5BJSu{`ox6P3t~Yw&xW zKEBc(*pt>Y4kQnD{-1jInJ^=V=UPbMRc!^%6(e0r&J84Qygx1cqOJKth!hlKZZp78Cp;|Kg+9cmhkK8}V6i z+s^Fu&iOa%zSOaY&g+SQbNmRzVhobn7A%)D?mPN*<|+Oh%~V-=s#`d}pFMkR)Qb&c zY0T;r8+^3(;Geqjk!+ibWiVW>?{t0rMaGKE%((GMY;AYc6o>Eu#%nT3h~gR9jiDM% zTBGORaQ2Y?{R<;2FErWTsal${It7QIquij|pO(!(s<3pjEnD$O#f7f&IKhrLV*U>F z@gw0|wx~TukhYJu^rdA}!tP(v(ccBIenm^cuB(T%!_It*E5`+v|F%7P^s>n^EAJV$ zL(>iU8DfW3Nwmc;m$Ao@?Pv_rTI^x95;eB_6Imen_S%ig2c=AV2R1@p81G|e?`fAZ zAY;w;%$;OMjwfMsDAJgBcr;psP{N7_b97W>i{virCTFXWQqo4iYkGhqjqhlGLAi53 zk@NjQdqdL`GCR#wlWiawwHtYVu#NMm!hGVhu>3Ch2IXz5KS^~T))Qq|FpdXJ4ld?* zn_lt%i)C+W%0I=&hNNDF)nEQ;&TYqwgIkbmQ(KUadhp@C9~x-*?oJH8b5o(DdeUF; zk0T!UACAG`NG zhn=D6k31<(dZ+b1L~#bjw*(i{e6ctugD{`Ol{zZ+kRdz!(7*7zG@NL?_(~eaY7`ycWY2t)k|@izYiU~$wM$doM!th$E=|Sx zrBpWhy)f8Ty8LALkUwPg4f~r~j-9xQ9dBJPDMIS(ZaBdFQ^b^eDc9cY$K33;TC=c> z?h9|)rlMks3udEUj$1l}yt|&F&Jej3xmE(BYr*KfG&NC$c~0%81j^UCEdEnZ8%#GG z!J%Eo?orh3$uGa=aLAa6{E-L`-&Md?dgrtv;U)w_xyxY8=g4XBQ1t2F^h0Uf ze_#hKf6VYs2@UeV7x-JgT{o59%NXxZWoTuEfT5=|+q`Q~3R`5h?z@BD_~CaRQLg)- z)q)ywC9!oW^?s8uIOG#h)Pv;8Pmj^e#;VS^N=`dm9zQOt(QrNrVv*8cEqkN%_lKm1 zV7XG4ZZVuv^-bUUQ~YmyS=X;2O&xI3@6542t_wCuNy*cbe$S9PcDQlvFDbf1^Gud- zR*0kfXFbY1@-FWB6ymlVq@quM2Oi{%BHU5@^CDKDk5av;_N><1X#+S&@U=3)oot3xeFXXxuxWJ0PxJY2 zwjn+sS%>6R6dJz^nhnnxp9=mcrkq|Pu0K&3A!Y!|KRshUWIV!A)gH(l*k8Wh>9pg8 zRnwcSE}T1ZX*Xhae5*HK`I@T1#?sR)M?+6b4miu*DM=VrI21I!=A6ieA$WbZxv0?b zrqPly{&f~v3ihV^u}yZ1sg%fdZsyQE+Au}~ZY|`Q^v2LLQupDeJW`V0<-=VCIPQM( zLneIx+sDB2`S; zXk}tzAS+AmPuHQL7RK_8Sm9-boR3P1^f6jrLJxh_+;%9%)R@vuvUVxQ#jO9I_O3Ik zsqEWdiVdZyBZx|n;fYG`3PLg}>WCBv5fmX58Bj{3NePh5I1~*s zX(|FDLq`ySAT`ngB!v6l*SFqU@5}q}zMBtWvAFl#v(Ik7{oCgrqGK6RG?8v=?hJC~ zHSYke$~9>5u0Mk0&=EwdaH4V|M)1f`eKyrtMleE_BEKhWa$;*Ky6`AjEom8l?^arC zXmCV6EmADD@jF5<+mOzJWOxjDyjO;1cUlGV8ABLJy8XRqzAzY!G$_BG5O8jab#XNc zSpK`ru^YH^4 zFF0JNeWS3j-p2V}-D!=Bi>5H^uIJ(XTAAizF%9fBrXti;eOKHOhg2+#Fk%|;@>p_& zqi2##81BB_OPp@!+Aah6K2KdJXi+?ao;(cK{c2IBNC5pBEq&F*1?xc$1CC0kuwXkqK>!>2D- zm87DDSLW9{GYmB`^ zcgPf=j1~L3VNG0+m(FOF(=~qh&*HNorE02ng-_+1gaH%6ku+zMW)`VkI=(*AS@7}q?(_`THztg=m5^Of>o1C|-$Wu=z8WGDfF zPSAkW*fka{0^t-uL*sJFlcGre!;uOT>v~F!n=VbP^^?zrapJBUuV=70gLz;>(b zbi8eC6Ww@v!%4tsG$B;FeKqapK0V{LKIUGgXT&MaOdA)EHb_Hge8KKmeY_rfZ7GcEZ{pD`f(~+OS9_gKRS6{wtUw&&)H1T+4 zTqNAar;QmS%3eu~`s6E#u+XhsgR~hMyE;q9{_6yNc^vA!>%g5Uq_Z>9k~nYC`II>0 z;eesE{*Rog3V##T)T&$bCOY?j*iicUhns{E>cSSpqV5!h`&$>rxD|wh4w;Hm(d6aP{T}OW5y4A%e}c?&uvHsdF(j|Bk3T zx0}rG+9Z6i+wxO*;5P^Ke%TOkvIAig+cWZz96&}^UYSFjG?lWDpyIVo;;Fh4+ru2k z*)=)!;pupx9sT;eQ$@Ko{>RM35>e64(j`-jkZb$Sx*Afq%dQ87PEX1t&vQNf}DaJ<{rdGSR&`+n;L%aXLKQ;$Y_~Y=2En(+RP%n3O5<~v7A{WKo zMLOSXMzZBEkw}Z7^R3tHK9UZbFc-rQuFdjtXY0`ru&|J|3Cl}`6*-m_P#6#RTA3V! zBKa(H8`XFub4jXU4>QQ)UH_x`imxbc&|-;#M}AWnI-V#E$ZaEzbgeN|+Qj#Az}G{Uu{t=Hu|W)t&)3-^VRCb7!jd7+ry59Ae&!o4t1 zq$U-!`rs^cC-u&u(iP&#`iOs4&*J0}tqbdumummqv)VrBvGOb{E0mcTHz-r#(k$<^ zww)5guF{yiSdibl1NF7%mMQBA0yq6@ z`SU23Ten=;w(c}u3!G+CIRG{@#u*4aKkz(LJ)M0&zzzZNR4EX$C1k z0n)Fj?F=jhp?XSd4jC0ckx*M)yufu4cz^bp3F2kniIt*bBymFGb|hT{qN>J9472&g z;Na-Rr8E*0-n~+sl-oRFlHKMg2_foa+4xDz_HfHGlG~j~igP#jKw-wp5SXr3nxBfY1h&4AIUY{qsA)+M}7|c@!dNoUNX&!Rn@LNsvzP z=m)I?!(cacOgfZFuqKW$~Ij z<78zXmziu$^>nJNU2>QC5}~te$6xoaR5}?CROc$1iNz$AFo6>5Q$P@9L4&w$zeAB2 zds2RYYg<{nw8eE$+f*gFqT`uZk0OrBDLZp(%Ce zQ`4^B_rKZ#zSQ2{B>|w%*`4g{SFAHCtMAr_C~wqbFb{H4rDF>M#2RB;|F~A5^koz$ zCyJSBvh==h{EWK7g*Tu7WbC_9+L9~dwD68=eR_*_qt++I!~9Z$DS5m>$r&m-APH$% zRj0pl1gas#fUzaa=qm)b2K?pNe14Z3Dc^Tq{4UU-asrBxFM9m_ z4w5ltz>I*TI2?KgIL}Zp(FRtcXyH@G5dB}=om=|^71(zY8FRHXKJ=W|gM!xj)$Fz} z+kZ-Me`m0~=?v^FzMBsD5mft1nut%=?AUO&w{K8dQj#5fqR!oNYx1Oz>iILK6)w)U zUa&wO%Z0-$>&0$6bw;(9Aky zC^Wlp-g?b;X@XBXG+nLhk`Zu|XhZ5~hIAk6;C2{VYM$d3grJXffv*93kU!4r}IogyyD(wS?1%V(wyHLk=r zi?xmq<11DV`buBYwJ9UzFC{ z#cAwj&0BMAkZdmy`lrIFuNJz6XZq@2UvpK<+<2(JZ_rH@kN84hb7-Fco?L7(wpzD4 z#A&z$T6^uC%yPB!n>$Ltyujn?6P23KGH3r=JHikaaNvZ_UUGgr`4k9uQYwYja?`de#Be?jG>w@X9$)S0deU zs-bmOz~&g3P=fX)1)FmRG7TTAgg3KQE<%4Ti1JP91&{NS+SJBkDprNI&siUu@uA;83udbf* k;1O^#|LX=%($#Cf2mRkSOgI0mj```Y#%3q;k30PN9|_;D9smFU literal 0 HcmV?d00001 diff --git a/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Element_Resist.png.meta b/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Element_Resist.png.meta new file mode 100644 index 0000000..88bbf19 --- /dev/null +++ b/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Element_Resist.png.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7a4efa1949ef4864b825601ea1e4b52f +timeCreated: 1508951005 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Fast_Elements.png b/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Fast_Elements.png new file mode 100644 index 0000000000000000000000000000000000000000..c89b434e4bcdca03ed5e0fece3c3f25c9afa59d1 GIT binary patch literal 9639 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 I()Hng0S`JfW&i*H literal 0 HcmV?d00001 diff --git a/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Fast_Elements.png.meta b/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Fast_Elements.png.meta new file mode 100644 index 0000000..09b96ae --- /dev/null +++ b/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Fast_Elements.png.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7d48c009dbad59a439265bf7858c515b +timeCreated: 1508951005 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Fast_Regen.png b/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Fast_Regen.png new file mode 100644 index 0000000000000000000000000000000000000000..83d2ea6eac453c43dc1bb3b3b014a15d88de6498 GIT binary patch literal 19332 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 literal 0 HcmV?d00001 diff --git a/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Fast_Regen.png.meta b/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Fast_Regen.png.meta new file mode 100644 index 0000000..7b8b334 --- /dev/null +++ b/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Fast_Regen.png.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: be9706dc55589f846855166948f59f57 +timeCreated: 1508951005 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Reflection.png b/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Reflection.png new file mode 100644 index 0000000000000000000000000000000000000000..965171ff04eeffec14f0e8e5b609bb5aeec76025 GIT binary patch literal 23133 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 literal 0 HcmV?d00001 diff --git a/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Reflection.png.meta b/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Reflection.png.meta new file mode 100644 index 0000000..39b8a7e --- /dev/null +++ b/Dots-RTS-Development/Assets/StreamingAssets/Resources/UpgradeImages/U_Reflection.png.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c14c43c37c13bcc4aa0affa1ab53a294 +timeCreated: 1508951005 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Dots-RTS-Development/ProjectSettings/GraphicsSettings.asset b/Dots-RTS-Development/ProjectSettings/GraphicsSettings.asset index 40ff158..d74737e 100644 --- a/Dots-RTS-Development/ProjectSettings/GraphicsSettings.asset +++ b/Dots-RTS-Development/ProjectSettings/GraphicsSettings.asset @@ -36,7 +36,6 @@ GraphicsSettings: - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0} - - {fileID: 16002, guid: 0000000000000000f000000000000000, type: 0} m_PreloadedShaders: [] m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} From 0cd16c8dc8e26d686c7cf85737b0ed314a94cc84 Mon Sep 17 00:00:00 2001 From: Slinta Date: Wed, 25 Oct 2017 19:56:55 +0200 Subject: [PATCH 17/25] Hotfix of simple error, remake in the works Signed-off-by: Slinta --- .../Core Classes/Conversion Classes.meta} | 4 ++-- .../Assets/Scripts/Core Classes/Initialize_AI.cs | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) rename Dots-RTS-Development/Assets/{BulkRename.meta => Scripts/Core Classes/Conversion Classes.meta} (67%) diff --git a/Dots-RTS-Development/Assets/BulkRename.meta b/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta similarity index 67% rename from Dots-RTS-Development/Assets/BulkRename.meta rename to Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta index ccdb37b..4515cd5 100644 --- a/Dots-RTS-Development/Assets/BulkRename.meta +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 15eedef553a4a5c4c9ac76d8104e5807 +guid: 586c9f86e092b7b448eb319ce5445709 folderAsset: yes -timeCreated: 1506764672 +timeCreated: 1507306952 licenseType: Free DefaultImporter: userData: diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs index 0ebc88a..be9d619 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs @@ -38,6 +38,9 @@ public void StartAiInitialization(Dictionary clanDict) { Dictionary.KeyCollection keys = clanDict.Keys; foreach (Cell.enmTeam j in keys) { + if (j == Cell.enmTeam.ALLIED) { + continue; + } AIHolder temp; clanDict.TryGetValue(j, out temp); @@ -67,6 +70,7 @@ public void StartAiInitialization(Dictionary clanDict) { } public void SetAis(int index, Cell.enmTeam team) { + print("THIS ACTUALLY GOT CALLED"); if (initAIs[index] == false) { initAIs[index] = true; aiTeams[index] = team; From 0329cc183d2840ecde4b43bb6ab8bd1a202af1c0 Mon Sep 17 00:00:00 2001 From: Slinta Date: Fri, 27 Oct 2017 18:43:09 +0200 Subject: [PATCH 18/25] added fixes but still errors --- .../Assets/Scripts/AI/AI_Helper.cs | 16 ------- .../Assets/Scripts/AI/AI_Helper.cs.meta | 12 ----- .../Assets/Scripts/AI/Enemy_AI.cs | 27 +++++++++-- .../Assets/Scripts/AI/Interfaces.cs | 6 +++ .../Scripts/Core Classes/Initialize_AI.cs | 48 +++++++++++++++---- .../Assets/Scripts/Core Classes/Player.cs | 24 +++++++++- 6 files changed, 92 insertions(+), 41 deletions(-) delete mode 100644 Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs delete mode 100644 Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs.meta diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs b/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs deleted file mode 100644 index 4cb2a71..0000000 --- a/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using UnityEngine; - -public static class AI_Helper { - //Functions to find ally moved to the interface IAlly interface - public static void AddAlly(this Enemy_AI ai, Enemy_AI ally) { - ai.getAiAllies.Add(ally); - } - - public static void AddTarget(this Enemy_AI ai, Enemy_AI target) { - ai.getAiTargets.Add(target); - } - -} - diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs.meta b/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs.meta deleted file mode 100644 index 72ca5cf..0000000 --- a/Dots-RTS-Development/Assets/Scripts/AI/AI_Helper.cs.meta +++ /dev/null @@ -1,12 +0,0 @@ -fileFormatVersion: 2 -guid: cd223bbe0f3dac54ea6407d8b36e149e -timeCreated: 1507233850 -licenseType: Free -MonoImporter: - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs index 85a2c34..02e2bf4 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -83,7 +83,6 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo * 3. Current is Target of Enemy * - Update targets and allies */ - if (isActive) { if (previous == Cell.enmTeam.NEUTRAL) { @@ -232,11 +231,11 @@ private void ConsiderAllies() { //Needs revalidtion / rewrite //Loop through all allied Enemy_AIs for (int j = 0; j < getAiAllies.Count; j++) { - Enemy_AI currentAlly = getAiAllies[j]; //print("My ally has " + alliesOfThisAI[j]._aiCells.Count + " cells. " + gameObject.name); + IAlly currentAlly = Allies[j]; //print("My ally has " + alliesOfThisAI[j]._aiCells.Count + " cells. " + gameObject.name); //Loop though all aiCells of the allied Enemy_AI - for (int k = 0; k < currentAlly._aiCells.Count; k++) { - CellBehaviour currentCellOfTheAlliedAI = currentAlly._aiCells[k]; //print(currentAlliedCellOfTheAlliedAI.gameObject.name); + for (int k = 0; k < currentAlly.MyCells.Count; k++) { + CellBehaviour currentCellOfTheAlliedAI = currentAlly.MyCells[k]; //print(currentAlliedCellOfTheAlliedAI.gameObject.name); //Loop though all the targets of this AI for (int l = 0; l < this._targets.Count; l++) { @@ -572,6 +571,13 @@ public List getAiAllies { } } + public List MyCells { + get { + return _aiCells; + } + } + + ///

/// Get a list containing all targets of this AI /// @@ -588,6 +594,19 @@ public List getAiTargets { } } + public void AddAlly(IAlly ally) { + alliesOfThisAI.Add(ally); + } + public void RemoveAlly(IAlly ally) { + alliesOfThisAI.Remove(ally); + } + public void AddTarget(IAlly target) { + targetsOfThisAI.Add(target); + } + public void RemoveTarget(IAlly target) { + targetsOfThisAI.Remove(target); + } + /// /// Get a player, it has a list containing all cells under player's control /// diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs b/Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs index 1f0020a..b2595b6 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Interfaces.cs @@ -7,9 +7,15 @@ public interface IAlly { Cell.enmTeam Team { get; } List Targets { get; set; } List Allies { get; set; } + List MyCells { get; } bool IsAllyOf(IAlly other); bool IsTargetOf(IAlly other); + + void AddAlly(IAlly ally); + void RemoveAlly(IAlly ally); + void AddTarget(IAlly target); + void RemoveTarget(IAlly target); } diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs index be9d619..a769692 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs @@ -37,21 +37,53 @@ public void StartAiInitialization(Dictionary clanDict) { } Dictionary.KeyCollection keys = clanDict.Keys; - foreach (Cell.enmTeam j in keys) { - if (j == Cell.enmTeam.ALLIED) { - continue; + List tl = new List(); + foreach (Cell.enmTeam q in keys) { + tl.Add (q); + } + + + List InterfaceList = new List(); + foreach (Enemy_AI ai in AIs) { + + if (ai != null && tl.Contains (ai.team)) { + InterfaceList.Add(ai); } + } + InterfaceList.Add(playerScript); + + + foreach (IAlly iAlly in InterfaceList) { + //print(iAlly.Team); AIHolder temp; - clanDict.TryGetValue(j, out temp); + if (clanDict.TryGetValue(iAlly.Team, out temp) == false) { + Debug.LogError("Not all IAlly|s are in the dictionary"); + } List allies = temp.allies; - List targets = temp.targets; - + List alliesI = new List(); foreach (Cell.enmTeam team in allies) { - AIs[(int)j - 2].AddAlly((Enemy_AI)team); + foreach (IAlly t in InterfaceList) { + if (t.Team == team) { + alliesI.Add(t); + } + } } + List targets = temp.targets; + List targetsI = new List(); foreach (Cell.enmTeam team in targets) { - AIs[(int)j - 2].AddTarget((Enemy_AI)team); + foreach (IAlly t in InterfaceList) { + if (t.Team == team) { + targetsI.Add(t); + } + } + } + + foreach (IAlly ally in alliesI) { + iAlly.AddAlly(ally); + } + foreach (IAlly targ in targetsI) { + iAlly.AddTarget(targ); } } diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs index f6e96f5..e0e1610 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs @@ -3,7 +3,7 @@ using System; public class Player : MonoBehaviour, IAlly { - public Cell.enmTeam playerTeam; + public Cell.enmTeam playerTeam = Cell.enmTeam.ALLIED; private List alliesOfPlayer = new List(); private List targetsOfPlayer = new List(); @@ -42,6 +42,12 @@ public List Allies { } } + public List MyCells { + get { + return playerCells; + } + } + public bool IsAllyOf(IAlly other) { return Allies.Contains(other); } @@ -49,4 +55,20 @@ public bool IsAllyOf(IAlly other) { public bool IsTargetOf(IAlly other) { return Targets.Contains(other); } + + public void AddAlly(IAlly ally) { + alliesOfPlayer.Add(ally); + } + + public void RemoveAlly(IAlly ally) { + alliesOfPlayer.Remove(ally); + } + + public void AddTarget(IAlly target) { + alliesOfPlayer.Add(target); + } + + public void RemoveTarget(IAlly target) { + alliesOfPlayer.Remove(target); + } } \ No newline at end of file From 7e4b71217079a8dd77c9bdc4de75bc1121762144 Mon Sep 17 00:00:00 2001 From: Slinta Date: Fri, 27 Oct 2017 19:08:45 +0200 Subject: [PATCH 19/25] Bugfix Signed-off-by: Slinta --- Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs index 02e2bf4..659d808 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -85,20 +85,23 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo */ if (isActive) { if (previous == Cell.enmTeam.NEUTRAL) { - + Enemy_AI reference = (Enemy_AI)current; + if (reference == this) { reference._aiCells.Add(sender); foreach (Enemy_AI ally in reference.getAiAllies) { AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(reference, sender), ally); ally.ProcessData(currData, true); + } foreach (Enemy_AI target in reference.getAiTargets) { AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(reference, sender), target); target.ProcessData(currData, true); } } + else if (reference == null) { //Was player playerScript.playerCells.Add(sender); @@ -563,7 +566,7 @@ public List getAiAllies { List ais = new List(); foreach (IAlly ally in alliesOfThisAI) { Enemy_AI ai = ally as Enemy_AI; - if (ally != null) { + if (ai != null) { ais.Add(ai); } } @@ -586,7 +589,7 @@ public List getAiTargets { List ais = new List(); foreach (IAlly target in targetsOfThisAI) { Enemy_AI ai = target as Enemy_AI; - if (target != null) { + if (ai != null) { ais.Add(ai); } } From 48a6ab3d01c4323c4226ffc712883e07c5ab002e Mon Sep 17 00:00:00 2001 From: Michal-MK Date: Fri, 27 Oct 2017 19:18:16 +0200 Subject: [PATCH 20/25] Clear Neutrals after game --- .../Core Classes/Conversion Classes.meta => BulkRename.meta} | 4 ++-- .../Assets/Scripts/Core Classes/PlayManager.cs | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) rename Dots-RTS-Development/Assets/{Scripts/Core Classes/Conversion Classes.meta => BulkRename.meta} (67%) diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta b/Dots-RTS-Development/Assets/BulkRename.meta similarity index 67% rename from Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta rename to Dots-RTS-Development/Assets/BulkRename.meta index 4515cd5..ccdb37b 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta +++ b/Dots-RTS-Development/Assets/BulkRename.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 586c9f86e092b7b448eb319ce5445709 +guid: 15eedef553a4a5c4c9ac76d8104e5807 folderAsset: yes -timeCreated: 1507306952 +timeCreated: 1506764672 licenseType: Free DefaultImporter: userData: diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs index 8abb444..389e708 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs @@ -37,6 +37,7 @@ private void OnDestroy() { StopAllCoroutines(); cells.Clear(); + neutralCells.Clear(); } public IEnumerator GameState() { From 0401bc384ba19abffa9b910b32375ff21531e4fd Mon Sep 17 00:00:00 2001 From: Slinta Date: Fri, 27 Oct 2017 21:09:02 +0200 Subject: [PATCH 21/25] Bugfixes Signed-off-by: Slinta --- .../Assets/Scripts/AI/Enemy_AI.cs | 64 ++++++++++--------- .../Assets/Scripts/Core Classes/Control.cs | 1 - .../Core Classes/Conversion Classes.meta} | 4 +- .../Scripts/Core Classes/Initialize_AI.cs | 10 ++- .../Assets/Scripts/Core Classes/Player.cs | 4 +- .../Scripts/Menu & Wrappers/LoadFromFile.cs | 2 +- 6 files changed, 47 insertions(+), 38 deletions(-) rename Dots-RTS-Development/Assets/{BulkRename.meta => Scripts/Core Classes/Conversion Classes.meta} (67%) diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs index 3258eb3..0ce676d 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -1,4 +1,5 @@ using System; +using System.Collections; using System.Collections.Generic; using UnityEngine; @@ -38,6 +39,15 @@ private enum Decision { EXPAND, ATTACK, HELP }; protected virtual void Start() { CellBehaviour.TeamChanged += CellBehaviour_TeamChanged; + + ConsiderAllies(); + + print("AI " + getCurrentAiTeam + " Initialized!"); + } + protected virtual void OnDestroy() { + CellBehaviour.TeamChanged -= CellBehaviour_TeamChanged; + } + public void FindRelationWithCells() { for (int i = 0; i < PlayManager.cells.Count; i++) { CellBehaviour current = PlayManager.cells[i]; @@ -45,16 +55,10 @@ protected virtual void Start() { if (current.cellTeam == team) { _aiCells.Add(current); } - else if(current.cellTeam != Cell.enmTeam.NEUTRAL) { + else if (current.cellTeam != Cell.enmTeam.NEUTRAL) { _targets.Add(current); } } - - ConsiderAllies(); - print("AI " + getCurrentAiTeam + " Initialized!"); - } - protected virtual void OnDestroy() { - CellBehaviour.TeamChanged -= CellBehaviour_TeamChanged; } //AI List sorting logic @@ -108,11 +112,11 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo foreach (Enemy_AI ally in playerScript.Allies) { AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(playerScript, sender), ally); - ally.ProcessData(currData, true); + ally.ProcessData(currData, true, ally); } foreach (Enemy_AI target in playerScript.Targets) { AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(playerScript, sender), target); - target.ProcessData(currData, true); + target.ProcessData(currData, true, target); } } } @@ -180,7 +184,7 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo Enemy_AI currAI = (Enemy_AI)current; if (prevAI == this) { - prevAI._targets.Add(sender); + //prevAI._targets.Add(sender); prevAI._aiCells.Remove(sender); //Every ally of prevAI had to be a target of currAI -- so all of the Ais should remove that cell from their ally list @@ -224,32 +228,32 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo //Update this AI's allies and targets private void ConsiderAllies() { //Needs revalidtion / rewrite - //Bad way of implementing Targets - - for (int i = 0; i < Initialize_AI.AIs.Length; i++) { - bool isAlly = false; - for (int j = 0; j < getAiAllies.Count; j++) { - if (Initialize_AI.AIs[i] == getAiAllies[j]) { - isAlly = true; - } - } - if (isAlly == false && Initialize_AI.AIs[i] != null && Initialize_AI.AIs[i] != this) { - targetsOfThisAI.Add(Initialize_AI.AIs[i]); - } - } - - - //Loop through all allied Enemy_AIs + ////Bad way of implementing Targets + + //for (int i = 0; i < Initialize_AI.AIs.Length; i++) { + // bool isAlly = false; + // for (int j = 0; j < getAiAllies.Count; j++) { + // if (Initialize_AI.AIs[i] == getAiAllies[j]) { + // isAlly = true; + // } + // } + // if (isAlly == false && Initialize_AI.AIs[i] != null && Initialize_AI.AIs[i] != this) { + // targetsOfThisAI.Add(Initialize_AI.AIs[i]); + // } + //} + + //Loop through all allied IAllies for (int j = 0; j < getAiAllies.Count; j++) { - IAlly currentAlly = Allies[j]; //print("My ally has " + alliesOfThisAI[j]._aiCells.Count + " cells. " + gameObject.name); + IAlly currentAlly = Allies[j]; print("My ally " + getAiAllies[j] + " has " + alliesOfThisAI[j].MyCells.Count + " cells. " + gameObject.name); - //Loop though all aiCells of the allied Enemy_AI + //Loop though all aiCells of the allied IAlly for (int k = 0; k < currentAlly.MyCells.Count; k++) { - CellBehaviour currentCellOfTheAlliedAI = currentAlly.MyCells[k]; //print(currentAlliedCellOfTheAlliedAI.gameObject.name); + CellBehaviour currentCellOfTheAlliedAI = currentAlly.MyCells[k]; + print(currentCellOfTheAlliedAI.gameObject.name); //Loop though all the targets of this AI for (int l = 0; l < this._targets.Count; l++) { - CellBehaviour myTarget = this._targets[l]; //print("Comparing " + currentAlliedCellOfTheAlliedAI + " to " + current + "ENEMY 2"); + CellBehaviour myTarget = this._targets[l]; print("Comparing " + currentCellOfTheAlliedAI + " to " + currentAlly); //If aiCell of the other AI and target of this AI are the same cell do Stuff if (currentCellOfTheAlliedAI == myTarget) { diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Control.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Control.cs index 4a50294..3ebc395 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Control.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Control.cs @@ -22,7 +22,6 @@ public class Control : MonoBehaviour { public delegate void OnMouseButtonPressed(Vector2 position); - #endregion //public static List cells = new List(); diff --git a/Dots-RTS-Development/Assets/BulkRename.meta b/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta similarity index 67% rename from Dots-RTS-Development/Assets/BulkRename.meta rename to Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta index ccdb37b..4515cd5 100644 --- a/Dots-RTS-Development/Assets/BulkRename.meta +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 15eedef553a4a5c4c9ac76d8104e5807 +guid: 586c9f86e092b7b448eb319ce5445709 folderAsset: yes -timeCreated: 1506764672 +timeCreated: 1507306952 licenseType: Free DefaultImporter: userData: diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs index a769692..caff52b 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs @@ -12,7 +12,7 @@ public class Initialize_AI : MonoBehaviour { public Cell.enmTeam[] aiTeams = new Cell.enmTeam[8] { Cell.enmTeam.NONE, Cell.enmTeam.NONE, Cell.enmTeam.NONE, Cell.enmTeam.NONE, Cell.enmTeam.NONE, Cell.enmTeam.NONE, Cell.enmTeam.NONE, Cell.enmTeam.NONE }; public float[] decisionSpeeds = new float[8]; public static Enemy_AI[] AIs = new Enemy_AI[8]; - + private Player playerScript; private void Start() { @@ -33,6 +33,7 @@ public void StartAiInitialization(Dictionary clanDict) { foreach (Cell c in PlayManager.cells) { if ((int)c.cellTeam >= 2) { SetAis((int)c.cellTeam - 2, c.cellTeam); + print("B"); } } @@ -87,6 +88,11 @@ public void StartAiInitialization(Dictionary clanDict) { } } + foreach (Enemy_AI ai in AIs) { + if (ai != null) { + ai.FindRelationWithCells(); + } + } /*Test foreach(KeyValuePair kvp in clanDict) { AIHolder temp = kvp.Value; @@ -102,7 +108,7 @@ public void StartAiInitialization(Dictionary clanDict) { } public void SetAis(int index, Cell.enmTeam team) { - print("THIS ACTUALLY GOT CALLED"); + if (initAIs[index] == false) { initAIs[index] = true; aiTeams[index] = team; diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs index e0e1610..817ca72 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs @@ -65,10 +65,10 @@ public void RemoveAlly(IAlly ally) { } public void AddTarget(IAlly target) { - alliesOfPlayer.Add(target); + targetsOfPlayer.Add(target); } public void RemoveTarget(IAlly target) { - alliesOfPlayer.Remove(target); + targetsOfPlayer.Remove(target); } } \ No newline at end of file diff --git a/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/LoadFromFile.cs b/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/LoadFromFile.cs index a4749be..b39c4b8 100644 --- a/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/LoadFromFile.cs +++ b/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/LoadFromFile.cs @@ -38,7 +38,7 @@ void Start() { GameObject.Find("Borders").GetComponent().ResizeBackground(customSave.savedAtAspect); Dictionary.KeyCollection diffKeys = customSave.difficulty.Keys; foreach (Cell.enmTeam key in diffKeys) { - print("Possible error"); + //print("Possible error"); customSave.difficulty.TryGetValue(key, out init.decisionSpeeds[(int)key - 2]); } From a4e6c2468e058084d59c5dd277d0075835fd6049 Mon Sep 17 00:00:00 2001 From: Michal-MK Date: Wed, 1 Nov 2017 21:32:41 +0100 Subject: [PATCH 22/25] AI stuff -Reworked AI_Data_Holder to use enums insted of cell indexes, that didn't make sense. This doesn't either, but it looks better Documentation needed -ConsiderAllies is wierd, should be rewritten -AI is attacking its Player Ally due to wrong configuration, probably has to do with ConsiderAllies or InitializeAI not set up properly --- ...onversion Classes.meta => BulkRename.meta} | 4 +- .../Assets/Scripts/AI/AI_Behaviour.cs | 2 +- .../Assets/Scripts/AI/AI_Data_Holder.cs | 54 ++-- .../Assets/Scripts/AI/Enemy_AI.cs | 285 ++++++++---------- .../Scripts/Core Classes/Initialize_AI.cs | 1 - 5 files changed, 155 insertions(+), 191 deletions(-) rename Dots-RTS-Development/Assets/{Scripts/Core Classes/Conversion Classes.meta => BulkRename.meta} (67%) diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta b/Dots-RTS-Development/Assets/BulkRename.meta similarity index 67% rename from Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta rename to Dots-RTS-Development/Assets/BulkRename.meta index 4515cd5..ccdb37b 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta +++ b/Dots-RTS-Development/Assets/BulkRename.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 586c9f86e092b7b448eb319ce5445709 +guid: 15eedef553a4a5c4c9ac76d8104e5807 folderAsset: yes -timeCreated: 1507306952 +timeCreated: 1506764672 licenseType: Free DefaultImporter: userData: diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs b/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs index 10f5334..8c95b2e 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs @@ -98,7 +98,7 @@ public IEnumerator PreformAction() { while (isActive) { - print("Waiting " + (decisionSpeed) + " seconds."); + //print("Waiting " + (decisionSpeed) + " seconds."); restart: //If selection fails for a known reason use goto restart; yield return new WaitForSeconds(decisionSpeed); redoAction: //If selection fails due to a flaw in the design LEL use goto redoAction; diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs b/Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs index 7432a13..76728ee 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs @@ -4,42 +4,28 @@ public class AI_Data_Holder { private Enemy_AI _ai; - private CellBehaviour senderCell; + private CellBehaviour _senderCell; + private RelationToAI _relation; private bool isModified = false; - - private int[] cellIndexes = new int[4] { -1, -1, -1, -1 }; + public enum RelationToAI { + ALLY, + TARGET, + MYSELF, + PLAYER + } + //private int[] cellIndexes = new int[3] { -1, -1, -1 }; //Constructor public AI_Data_Holder(Enemy_AI AI, CellBehaviour cell) { _ai = AI; - senderCell = cell; - - for (int i = 0; i < AI._aiCells.Count; i++) { - if (AI._aiCells[i] == cell) { - cellIndexes[0] = i; - } - } - for (int i = 0; i < AI._targets.Count; i++) { - if (AI._targets[i] == cell) { - cellIndexes[1] = i; - } - } - for (int i = 0; i < AI._allies.Count; i++) { - if (AI._allies[i] == cell) { - cellIndexes[2] = i; - } - } + _senderCell = cell; + _relation = RelationToAI.MYSELF; } public AI_Data_Holder(Player player, CellBehaviour cell) { _ai = null; - senderCell = cell; - - for (int i = 0; i < player.playerCells.Count; i++) { - if (player.playerCells[i] == cell) { - cellIndexes[0] = i; - } - } + _senderCell = cell; + _relation = RelationToAI.PLAYER; } public static AI_Data_Holder TransformForAlly(AI_Data_Holder data, Enemy_AI ally) { @@ -47,8 +33,7 @@ public static AI_Data_Holder TransformForAlly(AI_Data_Holder data, Enemy_AI ally data._ai = ally; data.isModified = true; - data.cellIndexes[2] = data.cellIndexes[0]; - data.cellIndexes[0] = -1; + data._relation = RelationToAI.ALLY; return data; } @@ -57,8 +42,7 @@ public static AI_Data_Holder TransformForTarget(AI_Data_Holder data, Enemy_AI ta data._ai = target; data.isModified = true; - data.cellIndexes[1] = data.cellIndexes[0]; - data.cellIndexes[0] = -1; + data._relation = RelationToAI.TARGET; return data; } @@ -74,14 +58,14 @@ public Enemy_AI getAI { /// Get the cell that triggered creation of this script /// public CellBehaviour getSender { - get { return senderCell; } + get { return _senderCell; } } /// - /// Instances in this AI --> [0] = AI, [1] = target, [2] = ally, [3] = neutral + /// Relation of this AI to other /// - public int[] getCellIndexes { - get { return cellIndexes; } + public RelationToAI getRelation { + get { return _relation; } } /// diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs index 0ce676d..dc7e574 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -42,11 +42,12 @@ protected virtual void Start() { ConsiderAllies(); - print("AI " + getCurrentAiTeam + " Initialized!"); + //print("AI " + getCurrentAiTeam + " Initialized!"); } protected virtual void OnDestroy() { CellBehaviour.TeamChanged -= CellBehaviour_TeamChanged; } + public void FindRelationWithCells() { for (int i = 0; i < PlayManager.cells.Count; i++) { @@ -65,49 +66,60 @@ public void FindRelationWithCells() { private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previous, Cell.enmTeam current) { /* * We have to cover all cases that can happen -- Only do them when the AI is active - * 1. Previous was Neutral - * - Update neutrals in AI - DONE - * 1.Current is Neutral - * 2.Current is Player - * - Update targets and allies - TEMP - * 3.Current is Enemy - * - Update targets and allies - DONE + * (1.) Previous was Neutral + * - Update neutrals in AI - DONE GLOBALY + * 2.Current is Player + * - Set targets and allies - DONE + * 3.Current is Enemy + * - Set targets and allies - DONE * - * 2. Previous was Player - * - Update targets and allies - NIY - * 1. Current is Neutral - * 2. Current is Enemy + * (2.) Previous was Player + * - Remove self - DONE * - Update targets and allies - DONE + * 1. Current is Neutral - IMPOSSIBLE + * 2. Current is Enemy + * - Update self - DONE + * - Update targets and allies - DONE * - * 3.Previous was Enemy + * (3.) Previous was Enemy + * - Remove self * - Update targets and allies - TEMP - * 1. Current is Neutral - * 2. Current is Ally of Enemy - * - Update targets and allies - * 3. Current is Target of Enemy - * - Update targets and allies + * 1. Current is Neutral - IMPOSSIBLE + * 2. Current is Player: + * - Update self - DONE + * - Update targets and allies - DONE + * 1. Player is Ally of previous + * 2. Player is Target of previous + * 3.Current is Enemy + * - Update self - DONE + * - Update targets and allies - DONE + * 1. Enemy is Ally of previous + * 2. Enemy is Target of previous */ + if (isActive) { if (previous == Cell.enmTeam.NEUTRAL) { - - Enemy_AI reference = (Enemy_AI)current; - - if (reference == this) { - reference._aiCells.Add(sender); - - foreach (Enemy_AI ally in reference.getAiAllies) { - AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(reference, sender), ally); + + Enemy_AI currAI = (Enemy_AI)current; + + if (currAI == this) { + print("AI took over NEUTRAL---------------------"); + currAI._aiCells.Add(sender); + + foreach (Enemy_AI ally in currAI.getAiAllies) { + AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(currAI, sender), ally); ally.ProcessData(currData, true); - + } - foreach (Enemy_AI target in reference.getAiTargets) { - AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(reference, sender), target); + foreach (Enemy_AI target in currAI.getAiTargets) { + AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(currAI, sender), target); target.ProcessData(currData, true); } } - - else if (reference == null) { - //Was player + + else if (currAI == null) { + print("PLAYER took over NEUTRAL---------------------"); + playerScript.playerCells.Add(sender); foreach (Enemy_AI ally in playerScript.Allies) { @@ -125,17 +137,29 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo playerScript.playerCells.Remove(sender); - Enemy_AI curr = (Enemy_AI)current; - if (curr == this) { - curr._aiCells.Add(sender); - curr._targets.Remove(sender); + foreach (Enemy_AI ally in playerScript.Allies) { + AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(playerScript, sender), ally); + ally.ProcessData(currData, false); + } + foreach (Enemy_AI enemy in playerScript.Targets) { + AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(playerScript, sender), enemy); + enemy.ProcessData(currData, false); + } + + Enemy_AI currAI = (Enemy_AI)current; + + if (currAI == this) { + print("AI took over PLAYER---------------------"); + + currAI._aiCells.Add(sender); + currAI._targets.Remove(sender); - foreach (Enemy_AI ally in curr.getAiAllies) { - AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(curr, sender), ally); + foreach (Enemy_AI ally in currAI.getAiAllies) { + AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(currAI, sender), ally); ally.ProcessData(currData, true); } - foreach (Enemy_AI enemy in curr.getAiTargets) { - AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(curr, sender), enemy); + foreach (Enemy_AI enemy in currAI.getAiTargets) { + AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(currAI, sender), enemy); enemy.ProcessData(currData, true); } } @@ -143,21 +167,15 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo if ((int)previous >= 2) { Enemy_AI prevAI = (Enemy_AI)previous; - //If Player took over the cell + if (current == Cell.enmTeam.ALLIED) { + print("PLAYER took over AI---------------------"); + foreach (Enemy_AI ally in playerScript.Allies) { AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(playerScript, sender), ally); ally.ProcessData(currData, true); - print("Updating players allies :"); - foreach (IAlly e in playerScript.Allies) { - print(((Enemy_AI)e).gameObject.name); - } } foreach (Enemy_AI enemy in playerScript.Targets) { - print("Updating players targets :"); - foreach (IAlly e in playerScript.Targets) { - print(((Enemy_AI)e).gameObject.name); - } AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(playerScript, sender), enemy); enemy.ProcessData(currData, true); } @@ -165,45 +183,48 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo if (prevAI == this) { prevAI._aiCells.Remove(sender); + foreach (Enemy_AI ally in prevAI.getAiAllies) { + AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(prevAI, sender), ally); + ally.ProcessData(currData, false); + } + foreach (Enemy_AI enemy in prevAI.getAiTargets) { + AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(prevAI, sender), enemy); + enemy.ProcessData(currData, false); + } if (playerScript.IsAllyOf(prevAI)) { print("Y u took my cell ;.;"); } - else { - foreach (Enemy_AI enemy in prevAI.getAiTargets) { - AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(prevAI, sender), enemy); - enemy.ProcessData(currData, true); - } - } - } } + else { - //If AI took over the cell - AI_Data_Holder dataPrevAI = new AI_Data_Holder(prevAI, sender); + print("AI took over AI---------------------"); + Enemy_AI currAI = (Enemy_AI)current; if (prevAI == this) { - //prevAI._targets.Add(sender); prevAI._aiCells.Remove(sender); - //Every ally of prevAI had to be a target of currAI -- so all of the Ais should remove that cell from their ally list foreach (Enemy_AI ally in prevAI.getAiAllies) { AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(prevAI, sender), ally); ally.ProcessData(currData, false); } - //Any target of prevAI can be an Ally of currAI -- that decides whether we add sender as targets target or not foreach (Enemy_AI target in prevAI.getAiTargets) { - if (target.IsAllyOf(currAI)) { - AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(prevAI, sender), target); - target.ProcessData(currData, false); - } - else { - AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(prevAI, sender), target); - target.ProcessData(currData, true); - } + AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(prevAI, sender), target); + target.ProcessData(currData, false); + } + + if (prevAI.IsAllyOf(currAI)) { + print("Y U Took me cell bro...?"); + print(prevAI.gameObject.name + " Will be adding as an Ally"); + currAI._allies.Remove(sender); + } + else if (prevAI.IsTargetOf(currAI)) { + print(prevAI.gameObject.name + " Will be adding as a Target"); } } + if (currAI == this) { currAI._aiCells.Add(sender); currAI._targets.Remove(sender); @@ -228,32 +249,17 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo //Update this AI's allies and targets private void ConsiderAllies() { //Needs revalidtion / rewrite - ////Bad way of implementing Targets - - //for (int i = 0; i < Initialize_AI.AIs.Length; i++) { - // bool isAlly = false; - // for (int j = 0; j < getAiAllies.Count; j++) { - // if (Initialize_AI.AIs[i] == getAiAllies[j]) { - // isAlly = true; - // } - // } - // if (isAlly == false && Initialize_AI.AIs[i] != null && Initialize_AI.AIs[i] != this) { - // targetsOfThisAI.Add(Initialize_AI.AIs[i]); - // } - //} - //Loop through all allied IAllies for (int j = 0; j < getAiAllies.Count; j++) { - IAlly currentAlly = Allies[j]; print("My ally " + getAiAllies[j] + " has " + alliesOfThisAI[j].MyCells.Count + " cells. " + gameObject.name); + Debug.LogWarning("Ehm.. hello we are looping throug one array and using its indexes in another.."); + IAlly currentAlly = Allies[j]; //print("My ally " + getAiAllies[j] + " has " + alliesOfThisAI[j].MyCells.Count + " cells. " + gameObject.name); //Loop though all aiCells of the allied IAlly for (int k = 0; k < currentAlly.MyCells.Count; k++) { - CellBehaviour currentCellOfTheAlliedAI = currentAlly.MyCells[k]; - print(currentCellOfTheAlliedAI.gameObject.name); + CellBehaviour currentCellOfTheAlliedAI = currentAlly.MyCells[k]; //Loop though all the targets of this AI - //Loop though all the targets of this AI for (int l = 0; l < this._targets.Count; l++) { - CellBehaviour myTarget = this._targets[l]; print("Comparing " + currentCellOfTheAlliedAI + " to " + currentAlly); + CellBehaviour myTarget = this._targets[l]; //print("Comparing " + currentCellOfTheAlliedAI + " to " + currentAlly); //If aiCell of the other AI and target of this AI are the same cell do Stuff if (currentCellOfTheAlliedAI == myTarget) { @@ -445,88 +451,63 @@ public CellBehaviour AiAidSelector() { } } - /// - /// Accepts a cell, returns location of that cell in every AI present. - /// - /// Cell to use in the aglorythm - /// - private List GetCellInstances(CellBehaviour referenceCell) { - List AIs_Cells = new List(); - for (int i = 0; i < Initialize_AI.AIs.Length; i++) { - if (Initialize_AI.AIs[i] != null) { - Enemy_AI currentAI = Initialize_AI.AIs[i]; - AI_Data_Holder data = new AI_Data_Holder(currentAI, referenceCell); - AIs_Cells.Add(data); - } - } - return AIs_Cells; - } - - /// - /// Accepts a cell, return its location in the AI provided - /// - /// The cell to look for. - /// The AI to look in. - /// - private AI_Data_Holder GetCellInstances(CellBehaviour referenceCell, Enemy_AI ai) { - AI_Data_Holder data = new AI_Data_Holder(ai, referenceCell); - return data; - } - /// /// Applies information stored in the Data format to a selected AI /// /// The data to process - /// Is the selected process addition or deletion -- not implemented + /// Is the selected process addition or deletion /// The Ai to operate on, default points to the one specified in DataHolder private void ProcessData(AI_Data_Holder data, bool is_Adding, Enemy_AI ai = null) { if (ai == null) { ai = data.getAI; } + else if (ai != data.getAI) { + throw new Exception("AI mismatch, trying to apply data for " + ai.gameObject.name + " to " + data.getAI.gameObject.name); + } - for (int i = 0; i < data.getCellIndexes.Length; i++) { - if (data.getCellIndexes[i] != -1) { - switch (i) { - case 0: { - if (is_Adding) { - if (!ai._aiCells.Contains(data.getSender)) { - ai._aiCells.Add(data.getSender); - } - } - else { - ai._aiCells.Remove(data.getSender); - } - break; + switch (data.getRelation) { + case AI_Data_Holder.RelationToAI.MYSELF: { + if (is_Adding) { + if (!ai._aiCells.Contains(data.getSender)) { + ai._aiCells.Add(data.getSender); } - case 1: { - if (is_Adding) { - if (!ai._targets.Contains(data.getSender)) { - ai._targets.Add(data.getSender); - } - } - else { - ai._targets.Remove(data.getSender); - } - break; + } + else { + ai._aiCells.Remove(data.getSender); + } + break; + } + case AI_Data_Holder.RelationToAI.TARGET: { + if (is_Adding) { + if (!ai._targets.Contains(data.getSender)) { + ai._targets.Add(data.getSender); + ai._allies.Remove(data.getSender); } - case 2: { - if (is_Adding) { - if (!ai._allies.Contains(data.getSender)) { - ai._allies.Add(data.getSender); - } - } - else { - ai._allies.Remove(data.getSender); - } - break; + } + else { + ai._targets.Remove(data.getSender); + } + break; + } + case AI_Data_Holder.RelationToAI.ALLY: { + if (is_Adding) { + if (!ai._allies.Contains(data.getSender)) { + ai._allies.Add(data.getSender); + ai._targets.Remove(data.getSender); } } + else { + ai._allies.Remove(data.getSender); + } + break; } } + + } -#region IAlly implementation + #region IAlly implementation public Cell.enmTeam Team { get { return team; @@ -558,7 +539,7 @@ public bool IsTargetOf(IAlly other) { return Targets.Contains(other); } -#endregion + #endregion #region Getters and Operators /// diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs index caff52b..ea59bec 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs @@ -33,7 +33,6 @@ public void StartAiInitialization(Dictionary clanDict) { foreach (Cell c in PlayManager.cells) { if ((int)c.cellTeam >= 2) { SetAis((int)c.cellTeam - 2, c.cellTeam); - print("B"); } } From 3b80729252aea5c0a7ea0b681628325e3048af83 Mon Sep 17 00:00:00 2001 From: Michal-MK Date: Thu, 2 Nov 2017 19:03:25 +0100 Subject: [PATCH 23/25] Player Teams -fixed bug where every cell was considered Neutral by PlayManager -fixed and compressed AI cell sorting code -- should be mostly final -fixed an issue where player would win a game with an ally - it would never end since the logic was made to trigger only when no AIs exit - player should hold more code -- selection of cells and so on --> would clear the mess in CellBehaviour --- .../Assets/Scripts/AI/AI_Behaviour.cs | 206 ++++++++++- .../Assets/Scripts/AI/AI_Data_Holder.cs | 16 +- .../Assets/Scripts/AI/Enemy_AI.cs | 321 ++++-------------- .../Assets/Scripts/Cell/CellBehaviour.cs | 48 --- .../Assets/Scripts/Core Classes/Global.cs | 2 - .../Scripts/Core Classes/Initialize_AI.cs | 1 - .../Scripts/Core Classes/PlayManager.cs | 20 +- .../Assets/Scripts/Core Classes/Player.cs | 3 +- .../Scripts/Core Classes/Upgrade_Manager.cs | 2 +- .../Scripts/LevelEditor/LevelEditorCore.cs | 10 +- .../Scripts/LevelEditor/SaveAndLoadEditor.cs | 5 +- .../Scripts/Menu & Wrappers/LoadFromFile.cs | 11 +- 12 files changed, 302 insertions(+), 343 deletions(-) diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs b/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs index 8c95b2e..4449b79 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/AI_Behaviour.cs @@ -14,6 +14,7 @@ protected override void Start() { } private Decision CalculateBestChoice() { + ss += "ATK = " + attackChoiceProbability + "EXP = " + expandChoiceProbability + "DEF = " + defendChoiceProbability + " | "; ss += "SELECTED AI = " + selectedAiCell + " TARGET = " + selectedTargetCell + " DEFENSE = " + selectedAiCellForAid + " EXPAND = " + selectedNeutralCell + " | "; if (attackChoiceProbability > expandChoiceProbability) { @@ -72,7 +73,7 @@ private Decision CalculateBestChoice() { } } - #region Function to preform ATTACKS, DEFENCES, EXPANSIONS + #region Function to preform ATTACKS, DEFENSES, EXPANSIONS //Expand from - to private void Expand(CellBehaviour selectedCell, CellBehaviour toTarget) { if (PlayManager.neutralCells.Count == 0) { @@ -96,12 +97,8 @@ private void Defend(CellBehaviour selectedCell, CellBehaviour target) { //This is where the AI magic happens public IEnumerator PreformAction() { - while (isActive) { - //print("Waiting " + (decisionSpeed) + " seconds."); - restart: //If selection fails for a known reason use goto restart; yield return new WaitForSeconds(decisionSpeed); - redoAction: //If selection fails due to a flaw in the design LEL use goto redoAction; bool isAlone = false; /*AI selection @@ -116,8 +113,9 @@ public IEnumerator PreformAction() { isAlone = true; ss += "Alone | "; } - ss += "Not Alone | "; - + else { + ss += "Not Alone | "; + } } else { isActive = false; @@ -136,11 +134,9 @@ public IEnumerator PreformAction() { print(ss); } ss = ""; - goto restart; + continue; } - /* This section will select a cell from each cathegory, only one cathergory will be chosen in the end. */ - //Aid selection if (!isAlone) { ss += "Selecting Friend | "; @@ -182,7 +178,7 @@ public IEnumerator PreformAction() { print(ss); } ss = ""; - goto redoAction; + continue; } if (isAlone == true && factor == Decision.HELP) { ss += "Aiding with no allies, DONE!"; @@ -190,7 +186,7 @@ public IEnumerator PreformAction() { print(ss); } ss = ""; - goto redoAction; + continue; } if (selectedTargetCell == null && factor == Decision.ATTACK) { ss += "Attacking with no targets, DONE!"; @@ -198,7 +194,7 @@ public IEnumerator PreformAction() { print(ss); } ss = ""; - goto restart; + continue; } @@ -222,4 +218,188 @@ public IEnumerator PreformAction() { ss = ""; } } + + #region Cell Selecting code - AI Cells, Targets, Allies, Neutrals + + public CellBehaviour AiCellSelector() { + int elementRecordAI = -1; + int recordIndex = -1; + CellBehaviour current; + + for (int i = 0; i < _aiCells.Count; i++) { + current = _aiCells[i]; + + //Find the best cell to work with (the most elements) + if (current.elementCount > elementRecordAI) { + elementRecordAI = current.elementCount; + recordIndex = i; + } + + //Just return curent cell + if (UnityEngine.Random.Range(0, 10) < 1) { + ss += "Selected 10% chance | "; + return current; + } + } + //If the biggest cell has more than "x" elements 80% return it + if (elementRecordAI > aICellSelectElementTreshold) { + if (UnityEngine.Random.Range(0, 10) < 6) { + ss += "Selected cell above threshold | "; + return _aiCells[recordIndex]; + } + else { + ss += "Cells above treshold exist, but were not selected | "; + //If a target that can be overtaken exists still try to attack + for (int i = 0; i < _aiCells.Count; i++) { + for (int j = 0; j < _targets.Count; j++) { + if ((_aiCells[i].elementCount * 0.5f) > ((_targets[j].elementCount) + 1)) { + if (UnityEngine.Random.Range(0, 10) < 6) { + ss += "Selected Cell with guaranteed Overtake | "; + return _aiCells[i]; + } + else { + ss += "NO selection in second Chance | "; + return null; + } + } + } + } + ss += "NO selection above " + aICellSelectElementTreshold + " treshold REALISM PLS | "; + return null; + } + } + else { + ss += "NO cell (highest " + elementRecordAI + ") above " + aICellSelectElementTreshold + " treshold | "; + return null; + } + } + + public CellBehaviour TargetCellSelector() { + //if I don't have an attacker .. don't even bother. + if (selectedAiCell == null) { + return null; + } + + int elementRecord = 99999; + int recordIndex = -1; + + CellBehaviour current; + + for (int i = 0; i < _targets.Count; i++) { + current = _targets[i]; + + //Just return curent cell + if (UnityEngine.Random.Range(0, 10) < 2) { + attackChoiceProbability = 0.3f; + return current; + } + //Find the best cell to attack + if (current.elementCount < elementRecord) { + elementRecord = current.elementCount; + recordIndex = i; + } + //If curret cell's element count is smaller than the one attacking 60% return it + if (current.elementCount < selectedAiCell.elementCount) { + if (UnityEngine.Random.Range(0, 10) < 6) { + attackChoiceProbability = 0.6f; + return current; + } + } + } + //70% return the best target + if (UnityEngine.Random.Range(0, 10) < 7) { + attackChoiceProbability = 0.7f; + return _targets[recordIndex]; + } + else { + attackChoiceProbability = 0f; + return _targets[recordIndex]; + } + } + + public CellBehaviour ExpandCellSelector() { + CellBehaviour current; + + int elementRecord = 99999; + int recordIndex = -1; + for (int i = 0; i < PlayManager.neutralCells.Count; i++) { + current = PlayManager.neutralCells[i]; + + //If there is still posibility to expand just return the curent cell + if (UnityEngine.Random.Range(0, 10) < 4) { + expandChoiceProbability = 0.4f; + return current; + } + //Find a neutral cell that has the least elements + if (current.elementCount < elementRecord) { + elementRecord = current.elementCount; + recordIndex = i; + } + + //If the neutral cell has less than "x" elements in it 80% return it + if (current.elementCount < 5) { + if (UnityEngine.Random.Range(0, 10) < 8) { + expandChoiceProbability = 0.8f; + return current; + } + } + } + //20% return the best cell you found + expandChoiceProbability = 0.2f; + return PlayManager.neutralCells[recordIndex]; + } + + public CellBehaviour AiAidSelector() { + + CellBehaviour current; + + int elementRecord = 99999; + int recordIndex = -1; + for (int i = 0; i < _aiCells.Count; i++) { + current = _aiCells[i]; + //Locate a cell with the lest amount of elements + if (current.elementCount < elementRecord) { + if (current != selectedAiCell) { + elementRecord = current.elementCount; + recordIndex = i; + } + } + //If you get one and it has < 5 elements => 50% return it + if (current.elementCount < 5) { + if (UnityEngine.Random.Range(0, 10) < 5) { + if (current != selectedAiCell) { + if (Mathf.Abs(selectedAiCell.elementCount - current.elementCount) > aICellAidElementTreshold) { + defendChoiceProbability = 0.5f; + } + else { + defendChoiceProbability = 0.2f; + } + return current; + } + } + } + //Random cell for help + if (UnityEngine.Random.Range(0, 10) < 1) { + expandChoiceProbability = 0.1f; + return current; + } + } + // 40% return the best cell you found + if (UnityEngine.Random.Range(0, 10) < 4) { + if (Mathf.Abs(selectedAiCell.elementCount - _aiCells[recordIndex].elementCount) > aICellAidElementTreshold) { + defendChoiceProbability = 0.6f; + } + else { + defendChoiceProbability = 0.2f; + } + return _aiCells[recordIndex]; + } + //Helping not recommended + else { + defendChoiceProbability = 0f; + return _aiCells[recordIndex]; + } + } + + #endregion } diff --git a/Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs b/Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs index 76728ee..af26bbd 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/AI_Data_Holder.cs @@ -13,9 +13,8 @@ public enum RelationToAI { MYSELF, PLAYER } - //private int[] cellIndexes = new int[3] { -1, -1, -1 }; - //Constructor + //Constructor initially created object can only have reference to itself public AI_Data_Holder(Enemy_AI AI, CellBehaviour cell) { _ai = AI; _senderCell = cell; @@ -28,6 +27,12 @@ public AI_Data_Holder(Player player, CellBehaviour cell) { _relation = RelationToAI.PLAYER; } + /// + ///When we create a new Holder object, and transform it, the initial AI is changed and the reference is updated to refer to "sender" in relation to initial AI + /// + /// The data to modify + /// The Ally we are changing reference to + /// public static AI_Data_Holder TransformForAlly(AI_Data_Holder data, Enemy_AI ally) { data._ai = ally; @@ -37,7 +42,12 @@ public static AI_Data_Holder TransformForAlly(AI_Data_Holder data, Enemy_AI ally return data; } - + /// + ///When we create a new Holder object, and transform it, the initial AI is changed and the reference is updated to refer to "sender" in relation to initial AI + /// + /// The data to modify + /// The Target we are changing reference to + /// public static AI_Data_Holder TransformForTarget(AI_Data_Holder data, Enemy_AI target) { data._ai = target; data.isModified = true; diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs index dc7e574..ac7d82f 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -39,11 +39,11 @@ private enum Decision { EXPAND, ATTACK, HELP }; protected virtual void Start() { CellBehaviour.TeamChanged += CellBehaviour_TeamChanged; - ConsiderAllies(); - //print("AI " + getCurrentAiTeam + " Initialized!"); + print("AI " + getCurrentAiTeam + " Initialized!"); } + protected virtual void OnDestroy() { CellBehaviour.TeamChanged -= CellBehaviour_TeamChanged; } @@ -104,47 +104,23 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo if (currAI == this) { print("AI took over NEUTRAL---------------------"); - currAI._aiCells.Add(sender); - - foreach (Enemy_AI ally in currAI.getAiAllies) { - AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(currAI, sender), ally); - ally.ProcessData(currData, true); - } - foreach (Enemy_AI target in currAI.getAiTargets) { - AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(currAI, sender), target); - target.ProcessData(currData, true); - } + currAI._aiCells.Add(sender); + UpdateCellLists(currAI, sender, true, true); } else if (currAI == null) { print("PLAYER took over NEUTRAL---------------------"); playerScript.playerCells.Add(sender); - - foreach (Enemy_AI ally in playerScript.Allies) { - AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(playerScript, sender), ally); - ally.ProcessData(currData, true, ally); - } - foreach (Enemy_AI target in playerScript.Targets) { - AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(playerScript, sender), target); - target.ProcessData(currData, true, target); - } + UpdateCellLists(playerScript, sender, true, true); } } if (previous == Cell.enmTeam.ALLIED) { playerScript.playerCells.Remove(sender); - - foreach (Enemy_AI ally in playerScript.Allies) { - AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(playerScript, sender), ally); - ally.ProcessData(currData, false); - } - foreach (Enemy_AI enemy in playerScript.Targets) { - AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(playerScript, sender), enemy); - enemy.ProcessData(currData, false); - } + UpdateCellLists(playerScript, sender, false, false); Enemy_AI currAI = (Enemy_AI)current; @@ -153,15 +129,7 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo currAI._aiCells.Add(sender); currAI._targets.Remove(sender); - - foreach (Enemy_AI ally in currAI.getAiAllies) { - AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(currAI, sender), ally); - ally.ProcessData(currData, true); - } - foreach (Enemy_AI enemy in currAI.getAiTargets) { - AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(currAI, sender), enemy); - enemy.ProcessData(currData, true); - } + UpdateCellLists(currAI, sender, true, true); } } @@ -171,26 +139,12 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo if (current == Cell.enmTeam.ALLIED) { print("PLAYER took over AI---------------------"); - foreach (Enemy_AI ally in playerScript.Allies) { - AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(playerScript, sender), ally); - ally.ProcessData(currData, true); - } - foreach (Enemy_AI enemy in playerScript.Targets) { - AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(playerScript, sender), enemy); - enemy.ProcessData(currData, true); - } + UpdateCellLists(playerScript, sender, true, true); if (prevAI == this) { prevAI._aiCells.Remove(sender); - foreach (Enemy_AI ally in prevAI.getAiAllies) { - AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(prevAI, sender), ally); - ally.ProcessData(currData, false); - } - foreach (Enemy_AI enemy in prevAI.getAiTargets) { - AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(prevAI, sender), enemy); - enemy.ProcessData(currData, false); - } + UpdateCellLists(prevAI, sender, false, false); if (playerScript.IsAllyOf(prevAI)) { print("Y u took my cell ;.;"); @@ -206,13 +160,10 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo if (prevAI == this) { prevAI._aiCells.Remove(sender); - foreach (Enemy_AI ally in prevAI.getAiAllies) { - AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(prevAI, sender), ally); - ally.ProcessData(currData, false); - } - foreach (Enemy_AI target in prevAI.getAiTargets) { - AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(prevAI, sender), target); - target.ProcessData(currData, false); + UpdateCellLists(prevAI, sender, false, false); + + if(prevAI._aiCells.Count == 0) { + DisableAI(this); } if (prevAI.IsAllyOf(currAI)) { @@ -229,14 +180,8 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo currAI._aiCells.Add(sender); currAI._targets.Remove(sender); - foreach (Enemy_AI ally in currAI.getAiAllies) { - AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(currAI, sender), ally); - ally.ProcessData(currData, true); - } - foreach (Enemy_AI target in currAI.getAiTargets) { - AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(currAI, sender), target); - target.ProcessData(currData, true); - } + UpdateCellLists(currAI, sender, true, true); + } } } @@ -248,206 +193,28 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo //Update this AI's allies and targets private void ConsiderAllies() { //Needs revalidtion / rewrite + if(gameObject.name == "AI code 1 enemy 2") { + print(""); + } //Loop through all allied IAllies - for (int j = 0; j < getAiAllies.Count; j++) { - Debug.LogWarning("Ehm.. hello we are looping throug one array and using its indexes in another.."); + for (int j = 0; j < Allies.Count; j++) { IAlly currentAlly = Allies[j]; //print("My ally " + getAiAllies[j] + " has " + alliesOfThisAI[j].MyCells.Count + " cells. " + gameObject.name); //Loop though all aiCells of the allied IAlly for (int k = 0; k < currentAlly.MyCells.Count; k++) { CellBehaviour currentCellOfTheAlliedAI = currentAlly.MyCells[k]; //Loop though all the targets of this AI - for (int l = 0; l < this._targets.Count; l++) { - CellBehaviour myTarget = this._targets[l]; //print("Comparing " + currentCellOfTheAlliedAI + " to " + currentAlly); + for (int l = 0; l < _targets.Count; l++) { + CellBehaviour thisAIsTarget = _targets[l]; //print("Comparing " + currentCellOfTheAlliedAI + " to " + currentAlly); //If aiCell of the other AI and target of this AI are the same cell do Stuff - if (currentCellOfTheAlliedAI == myTarget) { - this._allies.Add(myTarget); - this._targets.Remove(myTarget); - } - } - } - } - } - - public CellBehaviour AiCellSelector() { - int elementRecordAI = -1; - int recordIndex = -1; - CellBehaviour current; - - for (int i = 0; i < _aiCells.Count; i++) { - current = _aiCells[i]; - - //Find the best cell to work with (the most elements) - if (current.elementCount > elementRecordAI) { - elementRecordAI = current.elementCount; - recordIndex = i; - } - - //Just return curent cell - if (UnityEngine.Random.Range(0, 10) < 1) { - s += "Selected 10% chance | "; - return current; - } - } - //If the biggest cell has more than "x" elements 80% return it - if (elementRecordAI > aICellSelectElementTreshold) { - if (UnityEngine.Random.Range(0, 10) < 6) { - s += "Selected cell above threshold | "; - return _aiCells[recordIndex]; - } - else { - s += "Cells above treshold exist, but were not selected | "; - //If a target that can be overtaken exists still try to attack - for (int i = 0; i < _aiCells.Count; i++) { - for (int j = 0; j < _targets.Count; j++) { - if ((_aiCells[i].elementCount * 0.5f) > ((_targets[j].elementCount) + 1)) { - if (UnityEngine.Random.Range(0, 10) < 6) { - s += "Selected Cell with guaranteed Overtake | "; - return _aiCells[i]; - } - else { - s += "NO selection in second Chance | "; - return null; - } - } - } - } - s += "NO selection above " + aICellSelectElementTreshold + " treshold REALISM PLS | "; - return null; - } - } - else { - s += "NO cell (highest " + elementRecordAI + ") above " + aICellSelectElementTreshold + " treshold | "; - return null; - } - } - - public CellBehaviour TargetCellSelector() { - //if I don't have an attacker .. don't even bother. - if (selectedAiCell == null) { - return null; - } - - int elementRecord = 99999; - int recordIndex = -1; - - CellBehaviour current; - - for (int i = 0; i < _targets.Count; i++) { - current = _targets[i]; - - //Just return curent cell - if (UnityEngine.Random.Range(0, 10) < 2) { - attackChoiceProbability = 0.3f; - return current; - } - //Find the best cell to attack - if (current.elementCount < elementRecord) { - elementRecord = current.elementCount; - recordIndex = i; - } - //If curret cell's element count is smaller than the one attacking 60% return it - if (current.elementCount < selectedAiCell.elementCount) { - if (UnityEngine.Random.Range(0, 10) < 6) { - attackChoiceProbability = 0.6f; - return current; - } - } - } - //70% return the best target - if (UnityEngine.Random.Range(0, 10) < 7) { - attackChoiceProbability = 0.7f; - return _targets[recordIndex]; - } - else { - attackChoiceProbability = 0f; - return _targets[recordIndex]; - } - } - - public CellBehaviour ExpandCellSelector() { - CellBehaviour current; - - int elementRecord = 99999; - int recordIndex = -1; - for (int i = 0; i < PlayManager.neutralCells.Count; i++) { - current = PlayManager.neutralCells[i]; - - //If there is still posibility to expand just return the curent cell - if (UnityEngine.Random.Range(0, 10) < 4) { - expandChoiceProbability = 0.4f; - return current; - } - //Find a neutral cell that has the least elements - if (current.elementCount < elementRecord) { - elementRecord = current.elementCount; - recordIndex = i; - } - - //If the neutral cell has less than "x" elements in it 80% return it - if (current.elementCount < 5) { - if (UnityEngine.Random.Range(0, 10) < 8) { - expandChoiceProbability = 0.8f; - return current; - } - } - } - //20% return the best cell you found - expandChoiceProbability = 0.2f; - return PlayManager.neutralCells[recordIndex]; - } - - public CellBehaviour AiAidSelector() { - - CellBehaviour current; - - int elementRecord = 99999; - int recordIndex = -1; - for (int i = 0; i < _aiCells.Count; i++) { - current = _aiCells[i]; - //Locate a cell with the lest amount of elements - if (current.elementCount < elementRecord) { - if (current != selectedAiCell) { - elementRecord = current.elementCount; - recordIndex = i; - } - } - //If you get one and it has < 5 elements => 50% return it - if (current.elementCount < 5) { - if (UnityEngine.Random.Range(0, 10) < 5) { - if (current != selectedAiCell) { - if (Mathf.Abs(selectedAiCell.elementCount - current.elementCount) > aICellAidElementTreshold) { - defendChoiceProbability = 0.5f; - } - else { - defendChoiceProbability = 0.2f; - } - return current; + if (currentCellOfTheAlliedAI == thisAIsTarget) { + _allies.Add(thisAIsTarget); + _targets.Remove(thisAIsTarget); } } } - //Random cell for help - if (UnityEngine.Random.Range(0, 10) < 1) { - expandChoiceProbability = 0.1f; - return current; - } - } - // 40% return the best cell you found - if (UnityEngine.Random.Range(0, 10) < 4) { - if (Mathf.Abs(selectedAiCell.elementCount - _aiCells[recordIndex].elementCount) > aICellAidElementTreshold) { - defendChoiceProbability = 0.6f; - } - else { - defendChoiceProbability = 0.2f; - } - return _aiCells[recordIndex]; - } - //Helping not recommended - else { - defendChoiceProbability = 0f; - return _aiCells[recordIndex]; } } @@ -503,8 +270,48 @@ private void ProcessData(AI_Data_Holder data, bool is_Adding, Enemy_AI ai = null break; } } + } + /// + /// Wrapper for Updating cell lists inside an AI + /// + /// The script to operate on + /// The cell that activated this function call + /// Should we add the cell or remove it? + /// Should we add the cell or remove it? + private void UpdateCellLists(Player playerScript, CellBehaviour sender, bool addAllies, bool addTargets) { + foreach (Enemy_AI ally in playerScript.Allies) { + AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(playerScript, sender), ally); + ally.ProcessData(currData, addAllies); + } + + foreach (Enemy_AI enemy in playerScript.Targets) { + AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(playerScript, sender), enemy); + enemy.ProcessData(currData, addTargets); + } + } + /// + /// Wrapper for Updating cell lists inside an AI + /// + /// The script to operate on + /// The cell that activated this function call + /// Should we add the cell or remove it? + /// Should we add the cell or remove it? + private void UpdateCellLists(Enemy_AI ai, CellBehaviour sender, bool addAllies, bool addTargets) { + foreach (Enemy_AI ally in ai.getAiAllies) { + AI_Data_Holder currData = AI_Data_Holder.TransformForAlly(new AI_Data_Holder(ai, sender), ally); + ally.ProcessData(currData, addAllies); + } + + foreach (Enemy_AI enemy in ai.getAiTargets) { + AI_Data_Holder currData = AI_Data_Holder.TransformForTarget(new AI_Data_Holder(ai, sender), enemy); + enemy.ProcessData(currData, addTargets); + } + } + private void DisableAI(Enemy_AI ai) { + ai.isActive = false; + print("AI " + ai.gameObject.name + " was deactivaed, No cells remain."); } #region IAlly implementation diff --git a/Dots-RTS-Development/Assets/Scripts/Cell/CellBehaviour.cs b/Dots-RTS-Development/Assets/Scripts/Cell/CellBehaviour.cs index 2f4c16b..6d733ab 100644 --- a/Dots-RTS-Development/Assets/Scripts/Cell/CellBehaviour.cs +++ b/Dots-RTS-Development/Assets/Scripts/Cell/CellBehaviour.cs @@ -351,54 +351,6 @@ private void OnMouseOver() { #endregion } - //Old Attack code - //private void OnMouseOver() { - // Legacy Attack behaviour - // if (Input.GetMouseButtonUp(0)) { - // print("OnMouseOver " + gameObject.name); - // AttackWrapper(this, cellTeam); - //} - //} - // - //private void OnMouseEnter() { - //print("Entering cell"); - //Legacy Attack behaviour - //if (Input.GetMouseButton(0)) { - // if (cellTeam == enmTeam.ALLIED) { - // ModifySelection(this); - //print("Added " + gameObject.name); - //} - //} - //} - // - //Hides Upgrade Slots - //private void OnMouseExit() { - //print("Exitting Cell"); - //base.UpdateCellInfo(); - //} - // - // - //Determine action depending on clicked cell's team. - //private void OnMouseDown() { - //print("Clicking on Cell"); - //if (cellTeam == enmTeam.ALLIED) { - // ModifySelection(this); - // //print("Added " + gameObject.name); - //} - //} - // - //private void OnMouseUp() { - //print("Releasing button over cell"); - ////print(gameObject.name); - //if (cellTeam != enmTeam.ALLIED) { - // AttackWrapper(this, cellTeam); - //} - //else { - // EmpowerCell(this); - //} - //circle.positionCount = 0; - //} - public void OnPointerEnter(PointerEventData eventData) { Background.onReleaseClear = false; diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Global.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Global.cs index 30eb284..aca3431 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Global.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Global.cs @@ -26,8 +26,6 @@ static async void Start() { await Task.WhenAll(tasks); baseLoaded = true; - - } } diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs index ea59bec..6db3a93 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs @@ -54,7 +54,6 @@ public void StartAiInitialization(Dictionary clanDict) { foreach (IAlly iAlly in InterfaceList) { - //print(iAlly.Team); AIHolder temp; if (clanDict.TryGetValue(iAlly.Team, out temp) == false) { diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs index 389e708..6447b27 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs @@ -16,18 +16,22 @@ public enum PlaySceneState { public static List cells = new List(); public static List neutralCells = new List(); + public float checkFreq = 0.2f; + private float time; private bool isInGame = true; private bool isWinner = false; private bool domination = false; private string gameTime = ""; private int totalCoinsAwarded = 0; + private Player playerScript; - // Use this for initialization void Start() { + playerScript = GameObject.Find("Player").GetComponent(); + SceneManager.sceneLoaded += SceneManager_sceneLoaded; if (levelState != PlaySceneState.PREVIEW) { - StartCoroutine(GameState()); + StartCoroutine(GameState(checkFreq)); } levelState = PlaySceneState.NONE; } @@ -40,22 +44,26 @@ private void OnDestroy() { neutralCells.Clear(); } - public IEnumerator GameState() { + public IEnumerator GameState(float updateCheckFreq) { while (SceneManager.GetActiveScene().name == Scenes.PLAYER && isInGame) { - yield return new WaitForSeconds(1); + yield return new WaitForSeconds(updateCheckFreq); int activeAIs = 0; + int alliedAIs = 0; for (int i = 0; i < Initialize_AI.AIs.Length; i++) { if (Initialize_AI.AIs[i] != null) { if (Initialize_AI.AIs[i].isActive) { activeAIs++; } + if (Initialize_AI.AIs[i].IsAllyOf(playerScript)) { + alliedAIs++; + } } } - if (activeAIs == 0) { + if (activeAIs == 0 || activeAIs == alliedAIs) { yield return new WaitForSeconds(1.5f); YouWon(); } @@ -68,7 +76,7 @@ public IEnumerator GameState() { } } if (playerCells == 0) { - yield return new WaitForSeconds(2); + yield return new WaitForSeconds(1.5f); if (SceneManager.GetActiveScene().name == Scenes.PLAYER) { GameOver(); } diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs index 817ca72..02da329 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Player.cs @@ -3,6 +3,7 @@ using System; public class Player : MonoBehaviour, IAlly { + public Cell.enmTeam playerTeam = Cell.enmTeam.ALLIED; private List alliesOfPlayer = new List(); private List targetsOfPlayer = new List(); @@ -10,8 +11,6 @@ public class Player : MonoBehaviour, IAlly { public List listOfAlly = new List(); public List playerCells = new List(); - - private void Start() { foreach (CellBehaviour cell in PlayManager.cells) { if (cell.cellTeam == Cell.enmTeam.ALLIED) { diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Upgrade_Manager.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/Upgrade_Manager.cs index 2bc377a..0ce4c99 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Upgrade_Manager.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Upgrade_Manager.cs @@ -77,7 +77,7 @@ public bool HasUpgade(Upgrade.Upgrades type) { } /// - /// Does the cell have this type of upgrade already? + /// Does the cell have this type of upgrade already? /// /// /// Amount of upgrades of type "type" in this cell. diff --git a/Dots-RTS-Development/Assets/Scripts/LevelEditor/LevelEditorCore.cs b/Dots-RTS-Development/Assets/Scripts/LevelEditor/LevelEditorCore.cs index 07fe0d5..ec5cd1a 100644 --- a/Dots-RTS-Development/Assets/Scripts/LevelEditor/LevelEditorCore.cs +++ b/Dots-RTS-Development/Assets/Scripts/LevelEditor/LevelEditorCore.cs @@ -492,10 +492,19 @@ public void RefreshCameraSize(float val) { } Camera.main.transform.position = Vector3.zero + Vector3.back * 10; Camera.main.orthographicSize = val; + Debug.LogWarning("Not working properly"); + //StartCoroutine(LerpFloat(Camera.main, Camera.main.orthographicSize, val, 1f)); GameObject.Find("Borders").GetComponent().ResizeBackground(Camera.main.aspect); } } + //private IEnumerator LerpFloat(Camera c,float original, float newVal, float rate) { + // for (float f = 0; f < 1; f+= Time.fixedDeltaTime * rate) { + // c.orthographicSize = Mathf.SmoothStep(original, newVal, f); + // yield return null; + // } + //} + //Calculation of camera size and position for zooming onto a cell public void FitCellsOnScreen(List cells) { //find borders @@ -507,7 +516,6 @@ public void FitCellsOnScreen(List cells) { float highestX = -Mathf.Infinity; float lowestY = Mathf.Infinity; float highestY = -Mathf.Infinity; - //print("CellCount " + cells.Count); float adjustBy = 0; foreach (EditCell cell in cellList) { diff --git a/Dots-RTS-Development/Assets/Scripts/LevelEditor/SaveAndLoadEditor.cs b/Dots-RTS-Development/Assets/Scripts/LevelEditor/SaveAndLoadEditor.cs index cc1f05a..4c6b3a2 100644 --- a/Dots-RTS-Development/Assets/Scripts/LevelEditor/SaveAndLoadEditor.cs +++ b/Dots-RTS-Development/Assets/Scripts/LevelEditor/SaveAndLoadEditor.cs @@ -168,7 +168,4 @@ public void Load(string path) { File.Delete(path); } } -} - - - +} \ No newline at end of file diff --git a/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/LoadFromFile.cs b/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/LoadFromFile.cs index b39c4b8..26e7a5a 100644 --- a/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/LoadFromFile.cs +++ b/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/LoadFromFile.cs @@ -44,7 +44,7 @@ void Start() { for (int j = 0; j < customSave.cells.Count; j++) { - CellBehaviour c = Instantiate(cellPrefab).GetComponent(); + CellBehaviour c = cellPrefab.GetComponent(); c.cellPosition = (Vector3)customSave.cells[j].pos; c.gameObject.transform.position = c.cellPosition; @@ -52,13 +52,14 @@ void Start() { c.maxElements = customSave.cells[j].maxElementCount; c.cellTeam = (Cell.enmTeam)customSave.cells[j].team; c.regenPeriod = customSave.cells[j].regenerationPeriod; - c.uManager.PreinstallUpgrades = customSave.cells[j].installedUpgrades; - c.gameObject.name = "Cell " + j + " " + c.cellTeam; + CellBehaviour cg = Instantiate(cellPrefab).GetComponent(); - c.enabled = true; + cg.uManager.PreinstallUpgrades = customSave.cells[j].installedUpgrades; + cg.gameObject.name = "Cell " + j + " " + c.cellTeam; + cg.enabled = true; - c.UpdateCellInfo(); + //c.UpdateCellInfo(); } init.StartAiInitialization(customSave.clans); } From 442293ecf5745fd6bd83c2d06396dc6a0338fbfc Mon Sep 17 00:00:00 2001 From: Slinta Date: Sat, 4 Nov 2017 19:39:56 +0100 Subject: [PATCH 24/25] Neutral cell bugfix Signed-off-by: Slinta --- Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs | 2 ++ .../Core Classes/Conversion Classes.meta} | 4 ++-- .../Assets/Scripts/Core Classes/PlayManager.cs | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) rename Dots-RTS-Development/Assets/{BulkRename.meta => Scripts/Core Classes/Conversion Classes.meta} (67%) diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs index ac7d82f..7ae948d 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -115,6 +115,8 @@ private void CellBehaviour_TeamChanged(CellBehaviour sender, Cell.enmTeam previo playerScript.playerCells.Add(sender); UpdateCellLists(playerScript, sender, true, true); } + + PlayManager.neutralCells.Remove(sender); } if (previous == Cell.enmTeam.ALLIED) { diff --git a/Dots-RTS-Development/Assets/BulkRename.meta b/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta similarity index 67% rename from Dots-RTS-Development/Assets/BulkRename.meta rename to Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta index ccdb37b..4515cd5 100644 --- a/Dots-RTS-Development/Assets/BulkRename.meta +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/Conversion Classes.meta @@ -1,7 +1,7 @@ fileFormatVersion: 2 -guid: 15eedef553a4a5c4c9ac76d8104e5807 +guid: 586c9f86e092b7b448eb319ce5445709 folderAsset: yes -timeCreated: 1506764672 +timeCreated: 1507306952 licenseType: Free DefaultImporter: userData: diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs index 6447b27..065d7ea 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs @@ -86,6 +86,7 @@ public IEnumerator GameState(float updateCheckFreq) { private void FixedUpdate() { time += Time.fixedDeltaTime; + } public void GameOver() { From 2b3cb531e75880aa8c0c36ad4386643dc3cee5cd Mon Sep 17 00:00:00 2001 From: Slinta Date: Mon, 6 Nov 2017 21:48:59 +0100 Subject: [PATCH 25/25] Initialize ai cleanup Signed-off-by: Slinta --- .../Assets/Scripts/AI/Enemy_AI.cs | 8 ++- .../{Core Classes => AI}/Initialize_AI.cs | 57 ++++++++----------- .../Initialize_AI.cs.meta | 0 .../Scripts/Core Classes/PlayManager.cs | 11 ++-- .../Scripts/Menu & Wrappers/LoadFromFile.cs | 21 ++----- 5 files changed, 41 insertions(+), 56 deletions(-) rename Dots-RTS-Development/Assets/Scripts/{Core Classes => AI}/Initialize_AI.cs (69%) rename Dots-RTS-Development/Assets/Scripts/{Core Classes => AI}/Initialize_AI.cs.meta (100%) diff --git a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs index 7ae948d..bc63c8e 100644 --- a/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Enemy_AI.cs @@ -428,7 +428,13 @@ public static explicit operator Enemy_AI(Cell.enmTeam team) { return null; } else { - return Initialize_AI.AIs[(int)team - 2]; + foreach (Enemy_AI ai in Initialize_AI.AIs) { + if (ai.team == team) { + return ai; + } + } + Debug.LogError("AIs doesn't have an ai with team " + team); + return null; } } #endregion diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs b/Dots-RTS-Development/Assets/Scripts/AI/Initialize_AI.cs similarity index 69% rename from Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs rename to Dots-RTS-Development/Assets/Scripts/AI/Initialize_AI.cs index 6db3a93..8e6c18e 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs +++ b/Dots-RTS-Development/Assets/Scripts/AI/Initialize_AI.cs @@ -4,51 +4,48 @@ public class Initialize_AI : MonoBehaviour { - public static List> clanList = new List>(); public GameObject playerData; - public bool[] initAIs = new bool[8] { false, false, false, false, false, false, false, false }; - public Cell.enmTeam[] aiTeams = new Cell.enmTeam[8] { Cell.enmTeam.NONE, Cell.enmTeam.NONE, Cell.enmTeam.NONE, Cell.enmTeam.NONE, Cell.enmTeam.NONE, Cell.enmTeam.NONE, Cell.enmTeam.NONE, Cell.enmTeam.NONE }; - public float[] decisionSpeeds = new float[8]; - public static Enemy_AI[] AIs = new Enemy_AI[8]; + public static List AIs = new List(); private Player playerScript; + private void OnEnable() { + AIs.Clear(); + } private void Start() { //Should be necessary only for older saves and Debug scene + if (UnityEngine.SceneManagement.SceneManager.GetActiveScene().name == UnityEngine.SceneManagement.Scenes.DEBUG) { - StartAiInitialization(new Dictionary()); + StartAiInitialization(new Dictionary(), new Dictionary()); } } //Goes though all the cells and creates an AI for each team. - public void StartAiInitialization(Dictionary clanDict) { - clanList = BasicConversions.CDToActualClans(clanDict); - + public void StartAiInitialization(Dictionary clanDict, Dictionary difficultyDict) { GameObject g = Instantiate(playerData); g.name = "Player"; playerScript = g.GetComponent(); - foreach (Cell c in PlayManager.cells) { - if ((int)c.cellTeam >= 2) { - SetAis((int)c.cellTeam - 2, c.cellTeam); - } - } - Dictionary.KeyCollection keys = clanDict.Keys; - List tl = new List(); - foreach (Cell.enmTeam q in keys) { - tl.Add (q); + //Make an ai for every team contained in the clandict + Dictionary.KeyCollection teams = clanDict.Keys; + foreach (Cell.enmTeam team in teams) { + if ((int)team >= 2) { + float diff; + if (difficultyDict.TryGetValue(team, out diff) == false) { + SetAis(team, 2); + } + else { + SetAis(team, diff); + } + } } - List InterfaceList = new List(); foreach (Enemy_AI ai in AIs) { - - if (ai != null && tl.Contains (ai.team)) { - InterfaceList.Add(ai); - } + InterfaceList.Add(ai); } InterfaceList.Add(playerScript); @@ -105,16 +102,13 @@ public void StartAiInitialization(Dictionary clanDict) { */ } - public void SetAis(int index, Cell.enmTeam team) { + public void SetAis(Cell.enmTeam team, float decisionSpeed) { - if (initAIs[index] == false) { - initAIs[index] = true; - aiTeams[index] = team; - GameObject aiHolder = new GameObject("AI code " + index + " enemy " + (index + 1)); + GameObject aiHolder = new GameObject("AI code " + (int)team + " " + team); //Select AI preset according to the enemy team AI_Behaviour ai; - switch (index) { + switch ((int)team - 1) { case 0: { ai = aiHolder.AddComponent(); break; @@ -152,12 +146,11 @@ public void SetAis(int index, Cell.enmTeam team) { break; } } - ai.decisionSpeed = decisionSpeeds[index]; + ai.decisionSpeed = decisionSpeed; ai.team = team; ai.isActive = true; - AIs[index] = ai; + AIs.Add(ai); ai.playerScript = playerScript; - } } } diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs.meta b/Dots-RTS-Development/Assets/Scripts/AI/Initialize_AI.cs.meta similarity index 100% rename from Dots-RTS-Development/Assets/Scripts/Core Classes/Initialize_AI.cs.meta rename to Dots-RTS-Development/Assets/Scripts/AI/Initialize_AI.cs.meta diff --git a/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs b/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs index 065d7ea..caaaca0 100644 --- a/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs +++ b/Dots-RTS-Development/Assets/Scripts/Core Classes/PlayManager.cs @@ -52,15 +52,14 @@ public IEnumerator GameState(float updateCheckFreq) { int activeAIs = 0; int alliedAIs = 0; - for (int i = 0; i < Initialize_AI.AIs.Length; i++) { - if (Initialize_AI.AIs[i] != null) { - if (Initialize_AI.AIs[i].isActive) { - activeAIs++; - } - if (Initialize_AI.AIs[i].IsAllyOf(playerScript)) { + foreach (Enemy_AI ai in Initialize_AI.AIs) { + if (ai.isActive) { + activeAIs++; + if (ai.IsAllyOf(playerScript)) { alliedAIs++; } } + } if (activeAIs == 0 || activeAIs == alliedAIs) { diff --git a/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/LoadFromFile.cs b/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/LoadFromFile.cs index 26e7a5a..864a495 100644 --- a/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/LoadFromFile.cs +++ b/Dots-RTS-Development/Assets/Scripts/Menu & Wrappers/LoadFromFile.cs @@ -35,12 +35,7 @@ void Start() { if (customSave.gameSize != 0) { Camera.main.orthographicSize = customSave.gameSize; } - GameObject.Find("Borders").GetComponent().ResizeBackground(customSave.savedAtAspect); - Dictionary.KeyCollection diffKeys = customSave.difficulty.Keys; - foreach (Cell.enmTeam key in diffKeys) { - //print("Possible error"); - customSave.difficulty.TryGetValue(key, out init.decisionSpeeds[(int)key - 2]); - } + GameObject.Find("Borders").GetComponent().ResizeBackground(customSave.savedAtAspect);; for (int j = 0; j < customSave.cells.Count; j++) { @@ -61,7 +56,7 @@ void Start() { //c.UpdateCellInfo(); } - init.StartAiInitialization(customSave.clans); + init.StartAiInitialization(customSave.clans, customSave.difficulty); } else if (PlayManager.levelState == PlayManager.PlaySceneState.CAMPAIGN) { @@ -70,10 +65,6 @@ void Start() { Camera.main.orthographicSize = campaignSave.game.gameSize; } GameObject.Find("Borders").GetComponent().ResizeBackground(campaignSave.game.savedAtAspect); - Dictionary.KeyCollection diffKeys = campaignSave.game.difficulty.Keys; - foreach (Cell.enmTeam key in diffKeys) { - campaignSave.game.difficulty.TryGetValue(key, out init.decisionSpeeds[(int)key - 2]); - } for (int j = 0; j < campaignSave.game.cells.Count; j++) { @@ -91,7 +82,7 @@ void Start() { c.UpdateCellInfo(); } - init.StartAiInitialization(campaignSave.game.clans); + init.StartAiInitialization(campaignSave.game.clans, campaignSave.game.difficulty); } else if (PlayManager.levelState == PlayManager.PlaySceneState.PREVIEW) { @@ -101,10 +92,6 @@ void Start() { Camera.main.orthographicSize = customSave.gameSize; } GameObject.Find("Borders").GetComponent().ResizeBackground(customSave.savedAtAspect); - Dictionary.KeyCollection diffKeys = customSave.difficulty.Keys; - foreach (Cell.enmTeam key in diffKeys) { - customSave.difficulty.TryGetValue(key, out init.decisionSpeeds[(int)key - 2]); - } for (int j = 0; j < customSave.cells.Count; j++) { @@ -122,7 +109,7 @@ void Start() { c.UpdateCellInfo(); } - init.StartAiInitialization(customSave.clans); + init.StartAiInitialization(customSave.clans, customSave.difficulty); } else { SceneManager.LoadScene(Scenes.PROFILES);