diff --git a/.idea/.idea.Aetheria-Economy/.idea/contentModel.xml b/.idea/.idea.Aetheria-Economy/.idea/contentModel.xml
index aa70bf1d4..29df583ec 100644
--- a/.idea/.idea.Aetheria-Economy/.idea/contentModel.xml
+++ b/.idea/.idea.Aetheria-Economy/.idea/contentModel.xml
@@ -1441,6 +1441,7 @@
+
diff --git a/Assets/Materials/Ship Thruster.mat b/Assets/Materials/Ship Thruster.mat
new file mode 100644
index 000000000..1d1c84c90
--- /dev/null
+++ b/Assets/Materials/Ship Thruster.mat
@@ -0,0 +1,79 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+ serializedVersion: 6
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_Name: Ship Thruster
+ m_Shader: {fileID: 203, guid: 0000000000000000f000000000000000, type: 0}
+ m_ShaderKeywords:
+ m_LightmapFlags: 4
+ m_EnableInstancingVariants: 0
+ m_DoubleSidedGI: 0
+ m_CustomRenderQueue: -1
+ stringTagMap: {}
+ disabledShaderPasses: []
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _BumpMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailAlbedoMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailMask:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _DetailNormalMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _EmissionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: 2108d278f9e8734469689c30c590ef76, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MetallicGlossMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _OcclusionMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _ParallaxMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Floats:
+ - _BumpScale: 1
+ - _Cutoff: 0.5
+ - _DetailNormalMapScale: 1
+ - _DstBlend: 0
+ - _GlossMapScale: 1
+ - _Glossiness: 0.5
+ - _GlossyReflections: 1
+ - _InvFade: 1
+ - _Metallic: 0
+ - _Mode: 0
+ - _OcclusionStrength: 1
+ - _Parallax: 0.02
+ - _SmoothnessTextureChannel: 0
+ - _SpecularHighlights: 1
+ - _SrcBlend: 1
+ - _UVSec: 0
+ - _ZWrite: 1
+ m_Colors:
+ - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+ - _TintColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
diff --git a/Assets/Materials/Ship Thruster.mat.meta b/Assets/Materials/Ship Thruster.mat.meta
new file mode 100644
index 000000000..d4b57fb31
--- /dev/null
+++ b/Assets/Materials/Ship Thruster.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b18811d6826ef0e4ab8d40d77138e119
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Prefabs/Descendant.prefab b/Assets/Prefabs/Descendant.prefab
new file mode 100644
index 000000000..92426db0a
--- /dev/null
+++ b/Assets/Prefabs/Descendant.prefab
@@ -0,0 +1,215 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &5359016348329203301
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5359016348329203300}
+ - component: {fileID: 5359016348329203302}
+ - component: {fileID: 5359016348329203303}
+ m_Layer: 5
+ m_Name: Name
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &5359016348329203300
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5359016348329203301}
+ 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: 5359016349318343761}
+ 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!222 &5359016348329203302
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5359016348329203301}
+ m_CullTransparentMesh: 0
+--- !u!114 &5359016348329203303
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5359016348329203301}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Dolor III
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 9dcd07b95faae7641a3ff6fccab43c32, type: 2}
+ m_sharedMaterial: {fileID: 21906973755630180, guid: 9dcd07b95faae7641a3ff6fccab43c32,
+ type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_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: 513
+ 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_isTextTruncated: 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_VertexBufferAutoSizeReduction: 1
+ m_firstVisibleCharacter: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_textInfo:
+ textComponent: {fileID: 5359016348329203303}
+ characterCount: 9
+ spriteCount: 0
+ spaceCount: 1
+ wordCount: 2
+ linkCount: 0
+ lineCount: 1
+ pageCount: 1
+ materialCount: 1
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_spriteAnimator: {fileID: 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!1 &5359016349318343774
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5359016349318343761}
+ - component: {fileID: 5359016349318343763}
+ m_Layer: 5
+ m_Name: Descendant
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &5359016349318343761
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5359016349318343774}
+ 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: 5359016348329203300}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ 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.5, y: 0.5}
+--- !u!114 &5359016349318343763
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5359016349318343774}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: 64
+ m_FlexibleWidth: 1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
diff --git a/Assets/Prefabs/Descendant.prefab.meta b/Assets/Prefabs/Descendant.prefab.meta
new file mode 100644
index 000000000..f4bd447e1
--- /dev/null
+++ b/Assets/Prefabs/Descendant.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 7696b62947035dd4f8f5ef66ef53464b
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Prefabs/Prerequisite.prefab b/Assets/Prefabs/Prerequisite.prefab
new file mode 100644
index 000000000..3bc1b9297
--- /dev/null
+++ b/Assets/Prefabs/Prerequisite.prefab
@@ -0,0 +1,215 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &3323284177650426704
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3323284177650426705}
+ - component: {fileID: 3323284177650426707}
+ m_Layer: 5
+ m_Name: Prerequisite
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &3323284177650426705
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3323284177650426704}
+ 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: 3323284177901608003}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ 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.5, y: 0.5}
+--- !u!114 &3323284177650426707
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3323284177650426704}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: 64
+ m_FlexibleWidth: 1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!1 &3323284177901608002
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3323284177901608003}
+ - component: {fileID: 3323284177901608005}
+ - component: {fileID: 3323284177901608004}
+ m_Layer: 5
+ m_Name: Name
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &3323284177901608003
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3323284177901608002}
+ 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: 3323284177650426705}
+ 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!222 &3323284177901608005
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3323284177901608002}
+ m_CullTransparentMesh: 0
+--- !u!114 &3323284177901608004
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 3323284177901608002}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: Dolor I
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 9dcd07b95faae7641a3ff6fccab43c32, type: 2}
+ m_sharedMaterial: {fileID: 21906973755630180, guid: 9dcd07b95faae7641a3ff6fccab43c32,
+ type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_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: 513
+ 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_isTextTruncated: 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_VertexBufferAutoSizeReduction: 1
+ m_firstVisibleCharacter: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_textInfo:
+ textComponent: {fileID: 3323284177901608004}
+ characterCount: 7
+ spriteCount: 0
+ spaceCount: 1
+ wordCount: 2
+ linkCount: 0
+ lineCount: 1
+ pageCount: 1
+ materialCount: 1
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_spriteAnimator: {fileID: 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}
diff --git a/Assets/Prefabs/Prerequisite.prefab.meta b/Assets/Prefabs/Prerequisite.prefab.meta
new file mode 100644
index 000000000..702a89b08
--- /dev/null
+++ b/Assets/Prefabs/Prerequisite.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: df470b8b27554594e80b38898d22c563
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Prefabs/Requirement.prefab b/Assets/Prefabs/Requirement.prefab
new file mode 100644
index 000000000..d3bdacf01
--- /dev/null
+++ b/Assets/Prefabs/Requirement.prefab
@@ -0,0 +1,215 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &4772132210525817974
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4772132210525817969}
+ - component: {fileID: 4772132210525817971}
+ m_Layer: 5
+ m_Name: Requirement
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &4772132210525817969
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4772132210525817974}
+ 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: 4772132210567876891}
+ m_Father: {fileID: 0}
+ m_RootOrder: 0
+ 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.5, y: 0.5}
+--- !u!114 &4772132210525817971
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4772132210525817974}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: 64
+ m_FlexibleWidth: 1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
+--- !u!1 &4772132210567876888
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4772132210567876891}
+ - component: {fileID: 4772132210567876885}
+ - component: {fileID: 4772132210567876890}
+ m_Layer: 5
+ m_Name: Name
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &4772132210567876891
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4772132210567876888}
+ 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: 4772132210525817969}
+ 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!222 &4772132210567876885
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4772132210567876888}
+ m_CullTransparentMesh: 0
+--- !u!114 &4772132210567876890
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4772132210567876888}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: 5 Dolor
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 9dcd07b95faae7641a3ff6fccab43c32, type: 2}
+ m_sharedMaterial: {fileID: 21906973755630180, guid: 9dcd07b95faae7641a3ff6fccab43c32,
+ type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_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: 513
+ 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_isTextTruncated: 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_VertexBufferAutoSizeReduction: 1
+ m_firstVisibleCharacter: 0
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_textInfo:
+ textComponent: {fileID: 4772132210567876890}
+ characterCount: 7
+ spriteCount: 0
+ spaceCount: 1
+ wordCount: 2
+ linkCount: 0
+ lineCount: 1
+ pageCount: 1
+ materialCount: 1
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_spriteAnimator: {fileID: 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}
diff --git a/Assets/Prefabs/Requirement.prefab.meta b/Assets/Prefabs/Requirement.prefab.meta
new file mode 100644
index 000000000..4a73135d9
--- /dev/null
+++ b/Assets/Prefabs/Requirement.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: f4bfc1e3a8d0b8245bc160ec5b2582f1
+PrefabImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Prefabs/Ship.prefab b/Assets/Prefabs/Ship.prefab
index 022b47b76..32ea87fd0 100644
--- a/Assets/Prefabs/Ship.prefab
+++ b/Assets/Prefabs/Ship.prefab
@@ -1,5 +1,36 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &717230718983664133
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6634195572313526987}
+ m_Layer: 0
+ m_Name: Thruster Pivot
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6634195572313526987
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 717230718983664133}
+ m_LocalRotation: {x: -0, y: -0, z: -0.7071068, w: 0.7071068}
+ m_LocalPosition: {x: 0, y: -0.396, z: 0.025000002}
+ m_LocalScale: {x: 1, y: 1.5, z: 1}
+ m_Children:
+ - {fileID: 6370514743660505460}
+ m_Father: {fileID: 752969731239391542}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &752969730562965460
GameObject:
m_ObjectHideFlags: 0
@@ -47,6 +78,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
Icon: {fileID: 752969731239391543}
Label: {fileID: 752969731603226390}
+ Thruster: {fileID: 6634195572313526987}
--- !u!1 &752969731239391541
GameObject:
m_ObjectHideFlags: 0
@@ -77,7 +109,8 @@ Transform:
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0.05}
m_LocalScale: {x: 0.75, y: 0.75, z: 1}
- m_Children: []
+ m_Children:
+ - {fileID: 6634195572313526987}
m_Father: {fileID: 752969730562965461}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -334,13 +367,13 @@ MonoBehaviour:
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_textInfo:
textComponent: {fileID: 752969731603226390}
- characterCount: 0
+ characterCount: 13
spriteCount: 0
- spaceCount: 0
- wordCount: 0
+ spaceCount: 2
+ wordCount: 2
linkCount: 0
- lineCount: 0
- pageCount: 0
+ lineCount: 1
+ pageCount: 1
materialCount: 1
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
@@ -357,3 +390,80 @@ MonoBehaviour:
- {fileID: 0}
- {fileID: 0}
m_maskType: 0
+--- !u!1 &1383583254418650531
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6370514743660505460}
+ - component: {fileID: 2644584120131549798}
+ - component: {fileID: 9190501801676660861}
+ m_Layer: 0
+ m_Name: Thruster
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6370514743660505460
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1383583254418650531}
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0.114, y: 0, z: 0}
+ m_LocalScale: {x: 0.3, y: 0.3, z: 1}
+ m_Children: []
+ m_Father: {fileID: 6634195572313526987}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: -90}
+--- !u!33 &2644584120131549798
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1383583254418650531}
+ m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!23 &9190501801676660861
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1383583254418650531}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RenderingLayerMask: 1
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: b18811d6826ef0e4ab8d40d77138e119, type: 2}
+ 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_StitchLightmapSeams: 0
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity
index 7c56606b2..c84836e74 100644
--- a/Assets/Scenes/Main.unity
+++ b/Assets/Scenes/Main.unity
@@ -9482,10 +9482,10 @@ RectTransform:
m_Father: {fileID: 1100864543}
m_RootOrder: 5
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_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 275, y: -685.56323}
+ m_SizeDelta: {x: 486, y: 64}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &492949799
MonoBehaviour:
@@ -12406,10 +12406,10 @@ RectTransform:
m_Father: {fileID: 1100864543}
m_RootOrder: 3
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_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 275, y: -509.5632}
+ m_SizeDelta: {x: 486, y: 64}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &617986821
MonoBehaviour:
@@ -14391,10 +14391,10 @@ RectTransform:
m_Father: {fileID: 1100864543}
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_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 275, y: -405.5632}
+ m_SizeDelta: {x: 486, y: 96}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &657406464
MonoBehaviour:
@@ -15543,9 +15543,15 @@ MonoBehaviour:
ProductionTime: {fileID: 328202964}
Produces: {fileID: 1723143355}
ResearchTime: {fileID: 117019943}
- RequirementPrototype: {fileID: 1311353309}
- DependencyPrototype: {fileID: 1262461754}
- DescendantPrototype: {fileID: 1667824425}
+ RequirementParent: {fileID: 2027876401}
+ DependencyParent: {fileID: 2121720103}
+ DescendantParent: {fileID: 782819947}
+ RequirementPrefab: {fileID: 4772132210525817969, guid: f4bfc1e3a8d0b8245bc160ec5b2582f1,
+ type: 3}
+ DependencyPrefab: {fileID: 3323284177650426705, guid: df470b8b27554594e80b38898d22c563,
+ type: 3}
+ DescendantPrefab: {fileID: 5359016349318343761, guid: 7696b62947035dd4f8f5ef66ef53464b,
+ type: 3}
ClickRaycaster: {fileID: 784574045}
TestMode: 0
TechCount: 500
@@ -16872,162 +16878,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 763593017}
m_CullTransparentMesh: 0
---- !u!1 &778420508
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 778420509}
- - component: {fileID: 778420511}
- - component: {fileID: 778420510}
- m_Layer: 5
- m_Name: Name
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &778420509
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 778420508}
- 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: 1667824424}
- 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 &778420510
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 778420508}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_RaycastTarget: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_text: Dolor III
- m_isRightToLeft: 0
- m_fontAsset: {fileID: 11400000, guid: 9dcd07b95faae7641a3ff6fccab43c32, type: 2}
- m_sharedMaterial: {fileID: 21906973755630180, guid: 9dcd07b95faae7641a3ff6fccab43c32,
- type: 2}
- m_fontSharedMaterials: []
- m_fontMaterial: {fileID: 0}
- m_fontMaterials: []
- m_fontColor32:
- serializedVersion: 2
- rgba: 4294967295
- m_fontColor: {r: 1, g: 1, b: 1, a: 1}
- m_enableVertexGradient: 0
- m_colorMode: 3
- m_fontColorGradient:
- topLeft: {r: 1, g: 1, b: 1, a: 1}
- topRight: {r: 1, g: 1, b: 1, a: 1}
- bottomLeft: {r: 1, g: 1, b: 1, a: 1}
- bottomRight: {r: 1, g: 1, b: 1, a: 1}
- m_fontColorGradientPreset: {fileID: 0}
- m_spriteAsset: {fileID: 0}
- m_tintAllSprites: 0
- m_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: 513
- 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_isTextTruncated: 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_VertexBufferAutoSizeReduction: 1
- m_firstVisibleCharacter: 0
- m_useMaxVisibleDescender: 1
- m_pageToDisplay: 1
- m_margin: {x: 0, y: 0, z: 0, w: 0}
- m_textInfo:
- textComponent: {fileID: 778420510}
- characterCount: 9
- spriteCount: 0
- spaceCount: 1
- wordCount: 2
- linkCount: 0
- lineCount: 1
- pageCount: 1
- materialCount: 1
- m_isUsingLegacyAnimationComponent: 0
- m_isVolumetricText: 0
- m_spriteAnimator: {fileID: 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 &778420511
-CanvasRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 778420508}
- m_CullTransparentMesh: 0
--- !u!1 &781151189
GameObject:
m_ObjectHideFlags: 0
@@ -17184,14 +17034,13 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1990061011}
- - {fileID: 1667824424}
m_Father: {fileID: 1100864543}
m_RootOrder: 9
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_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 275, y: -1037.5632}
+ m_SizeDelta: {x: 486, y: 64}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &782819948
MonoBehaviour:
@@ -17425,6 +17274,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 20fa7724865c6b04097615292a325dfe, type: 3}
m_Name:
m_EditorClassIdentifier:
+ ClickTime: 0.5
--- !u!114 &784574047
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -17668,10 +17518,10 @@ RectTransform:
m_Father: {fileID: 1100864543}
m_RootOrder: 7
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_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 275, y: -861.56323}
+ m_SizeDelta: {x: 486, y: 64}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &794909162
MonoBehaviour:
@@ -22441,10 +22291,10 @@ RectTransform:
m_Father: {fileID: 1100864543}
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_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 275, y: -293.20822}
+ m_SizeDelta: {x: 486, y: 80.71}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1043118225
MonoBehaviour:
@@ -24190,7 +24040,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
- m_IsActive: 1
+ m_IsActive: 0
--- !u!224 &1100864543
RectTransform:
m_ObjectHideFlags: 0
@@ -24215,10 +24065,10 @@ RectTransform:
m_Father: {fileID: 1854478100}
m_RootOrder: 0
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: 550, y: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 275, y: -661.2082}
+ m_SizeDelta: {x: 550, y: 1322.4164}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1100864544
MonoBehaviour:
@@ -24233,7 +24083,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
- m_Color: {r: 0, g: 0.4180913, b: 1, a: 0.15294118}
+ m_Color: {r: 0, g: 0.064619616, b: 0.154, a: 1}
m_RaycastTarget: 1
m_OnCullStateChanged:
m_PersistentCalls:
@@ -25116,162 +24966,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1142252850}
m_CullTransparentMesh: 0
---- !u!1 &1144544298
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1144544299}
- - component: {fileID: 1144544301}
- - component: {fileID: 1144544300}
- m_Layer: 5
- m_Name: Name
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &1144544299
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1144544298}
- 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: 1262461753}
- 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 &1144544300
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1144544298}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_RaycastTarget: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_text: Dolor I
- m_isRightToLeft: 0
- m_fontAsset: {fileID: 11400000, guid: 9dcd07b95faae7641a3ff6fccab43c32, type: 2}
- m_sharedMaterial: {fileID: 21906973755630180, guid: 9dcd07b95faae7641a3ff6fccab43c32,
- type: 2}
- m_fontSharedMaterials: []
- m_fontMaterial: {fileID: 0}
- m_fontMaterials: []
- m_fontColor32:
- serializedVersion: 2
- rgba: 4294967295
- m_fontColor: {r: 1, g: 1, b: 1, a: 1}
- m_enableVertexGradient: 0
- m_colorMode: 3
- m_fontColorGradient:
- topLeft: {r: 1, g: 1, b: 1, a: 1}
- topRight: {r: 1, g: 1, b: 1, a: 1}
- bottomLeft: {r: 1, g: 1, b: 1, a: 1}
- bottomRight: {r: 1, g: 1, b: 1, a: 1}
- m_fontColorGradientPreset: {fileID: 0}
- m_spriteAsset: {fileID: 0}
- m_tintAllSprites: 0
- m_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: 513
- 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_isTextTruncated: 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_VertexBufferAutoSizeReduction: 1
- m_firstVisibleCharacter: 0
- m_useMaxVisibleDescender: 1
- m_pageToDisplay: 1
- m_margin: {x: 0, y: 0, z: 0, w: 0}
- m_textInfo:
- textComponent: {fileID: 1144544300}
- characterCount: 7
- spriteCount: 0
- spaceCount: 1
- wordCount: 2
- linkCount: 0
- lineCount: 1
- pageCount: 1
- materialCount: 1
- m_isUsingLegacyAnimationComponent: 0
- m_isVolumetricText: 0
- m_spriteAnimator: {fileID: 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 &1144544301
-CanvasRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1144544298}
- m_CullTransparentMesh: 0
--- !u!1 &1159516687
GameObject:
m_ObjectHideFlags: 0
@@ -27643,76 +27337,6 @@ MonoBehaviour:
m_ChildForceExpandHeight: 1
m_ChildControlWidth: 1
m_ChildControlHeight: 1
---- !u!1 &1262461752
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1262461753}
- - component: {fileID: 1262461755}
- - component: {fileID: 1262461754}
- m_Layer: 5
- m_Name: Prerequisite
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &1262461753
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1262461752}
- 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: 1144544299}
- m_Father: {fileID: 2121720103}
- 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.5, y: 0.5}
---- !u!114 &1262461754
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1262461752}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 1281fe44325f9b548aa42dc331b17266, type: 3}
- m_Name:
- m_EditorClassIdentifier:
---- !u!114 &1262461755
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1262461752}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_IgnoreLayout: 0
- m_MinWidth: -1
- m_MinHeight: -1
- m_PreferredWidth: -1
- m_PreferredHeight: 64
- m_FlexibleWidth: 1
- m_FlexibleHeight: -1
- m_LayoutPriority: 1
--- !u!1 &1269566122
GameObject:
m_ObjectHideFlags: 0
@@ -28795,76 +28419,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1308708917}
m_CullTransparentMesh: 0
---- !u!1 &1311353307
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1311353308}
- - component: {fileID: 1311353310}
- - component: {fileID: 1311353309}
- m_Layer: 5
- m_Name: Requirement
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &1311353308
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1311353307}
- 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: 1403516086}
- m_Father: {fileID: 2027876401}
- 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.5, y: 0.5}
---- !u!114 &1311353309
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1311353307}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 1281fe44325f9b548aa42dc331b17266, type: 3}
- m_Name:
- m_EditorClassIdentifier:
---- !u!114 &1311353310
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1311353307}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_IgnoreLayout: 0
- m_MinWidth: -1
- m_MinHeight: -1
- m_PreferredWidth: -1
- m_PreferredHeight: 64
- m_FlexibleWidth: 1
- m_FlexibleHeight: -1
- m_LayoutPriority: 1
--- !u!1 &1316925187
GameObject:
m_ObjectHideFlags: 0
@@ -30723,162 +30277,6 @@ MonoBehaviour:
m_ChildForceExpandHeight: 1
m_ChildControlWidth: 1
m_ChildControlHeight: 1
---- !u!1 &1403516085
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1403516086}
- - component: {fileID: 1403516088}
- - component: {fileID: 1403516087}
- m_Layer: 5
- m_Name: Name
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &1403516086
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1403516085}
- 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: 1311353308}
- 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 &1403516087
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1403516085}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_Material: {fileID: 0}
- m_Color: {r: 1, g: 1, b: 1, a: 1}
- m_RaycastTarget: 1
- m_OnCullStateChanged:
- m_PersistentCalls:
- m_Calls: []
- m_text: 5 Dolor
- m_isRightToLeft: 0
- m_fontAsset: {fileID: 11400000, guid: 9dcd07b95faae7641a3ff6fccab43c32, type: 2}
- m_sharedMaterial: {fileID: 21906973755630180, guid: 9dcd07b95faae7641a3ff6fccab43c32,
- type: 2}
- m_fontSharedMaterials: []
- m_fontMaterial: {fileID: 0}
- m_fontMaterials: []
- m_fontColor32:
- serializedVersion: 2
- rgba: 4294967295
- m_fontColor: {r: 1, g: 1, b: 1, a: 1}
- m_enableVertexGradient: 0
- m_colorMode: 3
- m_fontColorGradient:
- topLeft: {r: 1, g: 1, b: 1, a: 1}
- topRight: {r: 1, g: 1, b: 1, a: 1}
- bottomLeft: {r: 1, g: 1, b: 1, a: 1}
- bottomRight: {r: 1, g: 1, b: 1, a: 1}
- m_fontColorGradientPreset: {fileID: 0}
- m_spriteAsset: {fileID: 0}
- m_tintAllSprites: 0
- m_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: 513
- 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_isTextTruncated: 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_VertexBufferAutoSizeReduction: 1
- m_firstVisibleCharacter: 0
- m_useMaxVisibleDescender: 1
- m_pageToDisplay: 1
- m_margin: {x: 0, y: 0, z: 0, w: 0}
- m_textInfo:
- textComponent: {fileID: 1403516087}
- characterCount: 7
- spriteCount: 0
- spaceCount: 1
- wordCount: 2
- linkCount: 0
- lineCount: 1
- pageCount: 1
- materialCount: 1
- m_isUsingLegacyAnimationComponent: 0
- m_isVolumetricText: 0
- m_spriteAnimator: {fileID: 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 &1403516088
-CanvasRenderer:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1403516085}
- m_CullTransparentMesh: 0
--- !u!1 &1404487495
GameObject:
m_ObjectHideFlags: 0
@@ -32417,10 +31815,10 @@ RectTransform:
m_Father: {fileID: 1100864543}
m_RootOrder: 4
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_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 275, y: -597.56323}
+ m_SizeDelta: {x: 486, y: 64}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1458454481
MonoBehaviour:
@@ -36916,76 +36314,6 @@ MonoBehaviour:
m_ChildForceExpandHeight: 1
m_ChildControlWidth: 1
m_ChildControlHeight: 1
---- !u!1 &1667824423
-GameObject:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- serializedVersion: 6
- m_Component:
- - component: {fileID: 1667824424}
- - component: {fileID: 1667824426}
- - component: {fileID: 1667824425}
- m_Layer: 5
- m_Name: Descendant
- m_TagString: Untagged
- m_Icon: {fileID: 0}
- m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
- m_IsActive: 1
---- !u!224 &1667824424
-RectTransform:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1667824423}
- 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: 778420509}
- m_Father: {fileID: 782819947}
- 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.5, y: 0.5}
---- !u!114 &1667824425
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1667824423}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 1281fe44325f9b548aa42dc331b17266, type: 3}
- m_Name:
- m_EditorClassIdentifier:
---- !u!114 &1667824426
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1667824423}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 1679637790, guid: f70555f144d8491a825f0804e09c671c, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_IgnoreLayout: 0
- m_MinWidth: -1
- m_MinHeight: -1
- m_PreferredWidth: -1
- m_PreferredHeight: 64
- m_FlexibleWidth: 1
- m_FlexibleHeight: -1
- m_LayoutPriority: 1
--- !u!1 &1671511694
GameObject:
m_ObjectHideFlags: 0
@@ -45484,14 +44812,13 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 16331344}
- - {fileID: 1311353308}
m_Father: {fileID: 1100864543}
m_RootOrder: 6
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_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 275, y: -773.56323}
+ m_SizeDelta: {x: 486, y: 64}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &2027876402
MonoBehaviour:
@@ -47101,14 +46428,13 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 120681469}
- - {fileID: 1262461753}
m_Father: {fileID: 1100864543}
m_RootOrder: 8
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_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 275, y: -949.56323}
+ m_SizeDelta: {x: 486, y: 64}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &2121720104
MonoBehaviour:
diff --git a/Assets/Scripts/ServerShared/Agents/AgentController.cs b/Assets/Scripts/ServerShared/Agents/AgentController.cs
index 1534cc859..336096686 100644
--- a/Assets/Scripts/ServerShared/Agents/AgentController.cs
+++ b/Assets/Scripts/ServerShared/Agents/AgentController.cs
@@ -13,8 +13,17 @@ public class AgentController
public ZoneData Zone { get; set; }
private Locomotion _locomotion;
+ private VelocityMatch _velocityMatch;
private Random _random = new Random((uint) (DateTime.Now.Ticks%uint.MaxValue));
-
+ private float _stoppingTime;
+ private float _stoppingDistance;
+ private float _turnaroundDistance;
+ private float _turnaroundTime;
+ private IAnalogBehavior _thrust;
+ private IAnalogBehavior _turning;
+ private KeyValuePair _objective;
+ private float _velocityLimit;
+
public AgentController(GameContext context, ZoneData zone, Entity entity)
{
Entity = entity;
@@ -22,22 +31,50 @@ public class AgentController
Context = context;
EntityAgent = new EntityAgent(context, zone, entity);
_locomotion = new Locomotion(entity);
+ _velocityMatch = new VelocityMatch(entity);
+ _velocityMatch.OnMatch += () =>
+ {
+ EntityAgent.CurrentBehavior = _locomotion;
+ RandomTarget();
+ };
EntityAgent.CurrentBehavior = _locomotion;
RandomTarget();
+ _thrust = entity.Axes.Keys.FirstOrDefault(x => x is Thruster);
+ _turning = entity.Axes.Keys.FirstOrDefault(x => x is Turning);
+ var velocityLimitData = entity.GetBehaviorData().FirstOrDefault();
+ _velocityLimit = Context.Evaluate(velocityLimitData.TopSpeed, entity.Hull, entity);
+ _stoppingTime = _velocityLimit / Context.Evaluate((_thrust.Data as ThrusterData).Thrust, _thrust.Item, Entity) * Entity.Mass;
+ _stoppingDistance = _stoppingTime * _velocityLimit / 2;
+ _turnaroundTime = PI / Context.Evaluate((_turning.Data as TurningData).Torque, _turning.Item, entity) * entity.Mass;
+ _turnaroundDistance = _turnaroundTime * _velocityLimit;
+ _locomotion.LeadTime = _stoppingTime;
}
public void Update(float delta)
{
EntityAgent.Update(delta);
var distance = length(_locomotion.Objective.Position - Entity.Position);
- Context.Log($"Agent Distance: {distance}");
- if(distance < 20)
- RandomTarget();
+ Context.Log(
+ $"Agent Mode: {EntityAgent.CurrentBehavior.GetType()} " +
+ $"Agent Distance: {distance} " +
+ $"Turnaround Distance: {_stoppingDistance + _turnaroundDistance} " +
+ $"Objective: {_objective.Key.ID.ToString().Substring(0, 8)}");
+
+ if (EntityAgent.CurrentBehavior == _locomotion)
+ {
+ var velocity = length(Entity.Velocity);
+ _stoppingTime = velocity / Context.Evaluate((_thrust.Data as ThrusterData).Thrust, _thrust.Item, Entity) * Entity.Mass;
+ _stoppingDistance = _stoppingTime * velocity / 2;
+ if (distance < _stoppingDistance + _turnaroundDistance)
+ EntityAgent.CurrentBehavior = _velocityMatch;
+ _velocityMatch.Objective = _locomotion.Objective;
+ }
}
private void RandomTarget()
{
- var entities = Context.ZoneEntities(Zone).ToArray();
- _locomotion.Objective = entities[_random.NextInt(entities.Length)];
+ var entities = Context.ZoneContents[Zone].ToArray();
+ _objective = entities[_random.NextInt(entities.Length)];
+ _locomotion.Objective = _objective.Value;
}
}
diff --git a/Assets/Scripts/ServerShared/Agents/Locomotion.cs b/Assets/Scripts/ServerShared/Agents/Locomotion.cs
index 5259f0ef0..71e792d81 100644
--- a/Assets/Scripts/ServerShared/Agents/Locomotion.cs
+++ b/Assets/Scripts/ServerShared/Agents/Locomotion.cs
@@ -7,10 +7,12 @@ using static Unity.Mathematics.math;
public class Locomotion : AgentBehavior
{
public Entity Objective;
+ public float LeadTime;
private Entity _entity;
private IAnalogBehavior _thrust;
private IAnalogBehavior _turning;
private const float Sensitivity = 1;
+ private const float TangentSensitivity = 2;
public Locomotion(Entity entity)
{
@@ -23,13 +25,9 @@ public class Locomotion : AgentBehavior
{
if (Objective != null && _thrust != null && _turning != null)
{
- float2 diff = Objective.Position - _entity.Position;
- var directionAngle = atan2(diff.y, diff.x) / PI;
- var currentAngle = atan2(_entity.Direction.y, _entity.Direction.x) / PI;
- var d1 = directionAngle - currentAngle;
- var d2 = directionAngle - 2 - currentAngle;
- var d3 = directionAngle + 2 - currentAngle;
- var angleDiff = abs(d1) < abs(d2) ? abs(d1) < abs(d3) ? d1 : d3 : abs(d2) < abs(d3) ? d2 : d3;
+ float2 diff = Objective.Position + Objective.Velocity * LeadTime - _entity.Position;
+ float2 tangential = _entity.Velocity - dot(normalize(diff), normalize(_entity.Velocity)) * _entity.Velocity;
+ float angleDiff = _entity.Direction.AngleDiff(normalize(diff) - tangential * TangentSensitivity);
_entity.Axes[_turning] = clamp(-angleDiff * Sensitivity, -1, 1);
_entity.Axes[_thrust] = 1;
}
diff --git a/Assets/Scripts/ServerShared/Agents/VelocityMatch.cs b/Assets/Scripts/ServerShared/Agents/VelocityMatch.cs
new file mode 100644
index 000000000..9b3a44e98
--- /dev/null
+++ b/Assets/Scripts/ServerShared/Agents/VelocityMatch.cs
@@ -0,0 +1,38 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Linq;
+using Unity.Mathematics;
+using static Unity.Mathematics.math;
+
+public class VelocityMatch : AgentBehavior
+{
+ public event Action OnMatch;
+ public Entity Objective;
+ private Entity _entity;
+ private IAnalogBehavior _thrust;
+ private IAnalogBehavior _turning;
+ private const float TurningSensitivity = 1;
+ private const float ThrustSensitivity = 1;
+ private const float TargetThreshold = .1f;
+
+ public VelocityMatch(Entity entity)
+ {
+ _entity = entity;
+ _thrust = entity.Axes.Keys.FirstOrDefault(x => x is Thruster);
+ _turning = entity.Axes.Keys.FirstOrDefault(x => x is Turning);
+ }
+
+ public override void Update(float delta)
+ {
+ if (Objective != null && _thrust != null && _turning != null)
+ {
+ var deltaV = Objective.Velocity - _entity.Velocity;
+ if(length(deltaV) < TargetThreshold)
+ OnMatch?.Invoke();
+ var angleDiff = _entity.Direction.AngleDiff(deltaV);
+ _entity.Axes[_turning] = clamp(-angleDiff * TurningSensitivity, -1, 1);
+ _entity.Axes[_thrust] = saturate(length(pow(saturate(dot(normalize(_entity.Direction),normalize(deltaV))), 8)*length(deltaV))*ThrustSensitivity);
+ }
+ }
+}
diff --git a/Assets/Scripts/ServerShared/Agents/VelocityMatch.cs.meta b/Assets/Scripts/ServerShared/Agents/VelocityMatch.cs.meta
new file mode 100644
index 000000000..e5470912a
--- /dev/null
+++ b/Assets/Scripts/ServerShared/Agents/VelocityMatch.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: df5185d5435658841878b6a8c9ff693b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/ServerShared/Behaviors/Turning.cs b/Assets/Scripts/ServerShared/Behaviors/Turning.cs
index fb5cc601d..8943d3f35 100644
--- a/Assets/Scripts/ServerShared/Behaviors/Turning.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/Turning.cs
@@ -52,7 +52,7 @@ public class Turning : IAnalogBehavior
public void Update(float delta)
{
- Entity.Direction = mul(Entity.Direction, Unity.Mathematics.float2x2.Rotate(_turning * Context.Evaluate(_data.Torque, Item, Entity) * delta));
+ Entity.Direction = mul(Entity.Direction, Unity.Mathematics.float2x2.Rotate(_turning * Context.Evaluate(_data.Torque, Item, Entity) / Entity.Mass * delta));
Entity.AddHeat(abs(_turning) * Context.Evaluate(_data.Heat, Item, Entity) * delta);
Entity.VisibilitySources[this] = abs(_turning) * Context.Evaluate(_data.Visibility, Item, Entity);
}
diff --git a/Assets/Scripts/ServerShared/Behaviors/VelocityLimit.cs b/Assets/Scripts/ServerShared/Behaviors/VelocityLimit.cs
index c913b516d..6ea977562 100644
--- a/Assets/Scripts/ServerShared/Behaviors/VelocityLimit.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/VelocityLimit.cs
@@ -39,5 +39,8 @@ public class VelocityLimit : IBehavior
public void Update(float delta)
{
+ var limit = Context.Evaluate(_data.TopSpeed, Item, Entity);
+ if (length(Entity.Velocity) > limit)
+ Entity.Velocity = normalize(Entity.Velocity) * limit;
}
}
\ No newline at end of file
diff --git a/Assets/Scripts/ServerShared/Entity.cs b/Assets/Scripts/ServerShared/Entity.cs
index af2928bb2..7d1e0b391 100644
--- a/Assets/Scripts/ServerShared/Entity.cs
+++ b/Assets/Scripts/ServerShared/Entity.cs
@@ -23,7 +23,7 @@ public class Entity
protected readonly List Items;
protected readonly List Cargo;
- protected Gear Hull;
+ public Gear Hull { get; }
public float Mass { get; private set; }
public float SpecificHeat { get; private set; }
@@ -44,8 +44,10 @@ public class Entity
SpecificHeat = (hull?.HeatCapacity ?? 0) +
Items.Sum(i => i.HeatCapacity) +
Cargo.Sum(ii => ii.HeatCapacity);
+
+ var activeItems = hull == null ? Items : Items.Append(hull);
- Behaviors = Items
+ Behaviors = activeItems
.Where(i=>i.ItemData.Behaviors?.Any()??false)
.SelectMany(i => i.ItemData.Behaviors
.Select(bd => bd.CreateInstance(Context, this, i)))
diff --git a/Assets/Scripts/ServerShared/Extensions.cs b/Assets/Scripts/ServerShared/Extensions.cs
index 016d84eee..f1202857e 100644
--- a/Assets/Scripts/ServerShared/Extensions.cs
+++ b/Assets/Scripts/ServerShared/Extensions.cs
@@ -220,6 +220,16 @@ public static class Extensions
return t * (t * (a * t + b) + c) + d;
}
+
+ public static float AngleDiff(this float2 a, float2 b)
+ {
+ var directionAngle = atan2(b.y, b.x) / PI;
+ var currentAngle = atan2(a.y, a.x) / PI;
+ var d1 = directionAngle - currentAngle;
+ var d2 = directionAngle - 2 - currentAngle;
+ var d3 = directionAngle + 2 - currentAngle;
+ return abs(d1) < abs(d2) ? abs(d1) < abs(d3) ? d1 : d3 : abs(d2) < abs(d3) ? d2 : d3;
+ }
}
// https://github.com/Burtsev-Alexey/net-object-deep-copy
diff --git a/Assets/Scripts/StrategyGameManager.cs b/Assets/Scripts/StrategyGameManager.cs
index eeaaadcc1..855b2d668 100644
--- a/Assets/Scripts/StrategyGameManager.cs
+++ b/Assets/Scripts/StrategyGameManager.cs
@@ -200,6 +200,9 @@ public class StrategyGameManager : MonoBehaviour
{
ship.Value.transform.position = float3(ship.Key.Position * ZoneSizeScale, .05f);
ship.Value.Icon.transform.up = (Vector2) ship.Key.Direction;
+ var thrusterScale = ship.Value.Thruster.localScale;
+ thrusterScale.x = ship.Key.Axes.First(kvp => kvp.Key is Thruster).Value;
+ ship.Value.Thruster.localScale = thrusterScale;
}
}
}
diff --git a/Assets/Scripts/TechTreeMsagl.cs b/Assets/Scripts/TechTreeMsagl.cs
index 2caffc25c..56f3f79ab 100644
--- a/Assets/Scripts/TechTreeMsagl.cs
+++ b/Assets/Scripts/TechTreeMsagl.cs
@@ -29,13 +29,16 @@ public class TechTreeMsagl : MonoBehaviour
public TextMeshProUGUI ProductionTime;
public TextMeshProUGUI Produces;
public TextMeshProUGUI ResearchTime;
- public Prototype RequirementPrototype;
- public Prototype DependencyPrototype;
- public Prototype DescendantPrototype;
+ public RectTransform RequirementParent;
+ public RectTransform DependencyParent;
+ public RectTransform DescendantParent;
+ public RectTransform RequirementPrefab;
+ public RectTransform DependencyPrefab;
+ public RectTransform DescendantPrefab;
public ClickRaycaster ClickRaycaster;
[Section("Graph Generation")]
- public bool TestMode = false;
+ public bool TestMode;
public int TechCount = 50;
public int SeedTechs = 5;
public int RollingWindowSize = 50;
@@ -83,7 +86,7 @@ public class TechTreeMsagl : MonoBehaviour
private List _linkInstances = new List();
private List _arrowInstances = new List();
private Texture2D[] _icons;
- private List _propertyInstances = new List();
+ private List _propertyInstances = new List();
public BlueprintData[] Blueprints { get; set; }
@@ -341,7 +344,8 @@ public class TechTreeMsagl : MonoBehaviour
if (!TestMode)
tech.Fill.GetComponent().OnClick += (collider, data) =>
{
- foreach (var instance in _propertyInstances) instance.ReturnToPool();
+ foreach (var instance in _propertyInstances) Destroy(instance.gameObject);
+ _propertyInstances.Clear();
var blueprint = (BlueprintData) vertex.UserData;
PropertiesPanel.gameObject.SetActive(true);
TechName.text = blueprint.Name;
@@ -352,20 +356,21 @@ public class TechTreeMsagl : MonoBehaviour
foreach (var ingredient in blueprint.Ingredients)
{
var ingredientData = Context.Cache.Get(ingredient.Key);
- var ingredientInstance = RequirementPrototype.Instantiate();
+ var ingredientInstance = Instantiate(RequirementPrefab, RequirementParent);
ingredientInstance.GetComponentInChildren().text = $"{ingredient.Value} {ingredientData.Name}";
_propertyInstances.Add(ingredientInstance);
}
foreach (var dependency in blueprint.Dependencies)
{
var dependencyBlueprint = Context.Cache.Get(dependency);
- var dependencyInstance = DependencyPrototype.Instantiate();
+ var dependencyInstance = Instantiate(DependencyPrefab, DependencyParent);
dependencyInstance.GetComponentInChildren().text = dependencyBlueprint.Name;
_propertyInstances.Add(dependencyInstance);
}
- foreach (var descendant in graph.Edges.Where(e=>e.Source==vertex).Select(e=>(BlueprintData) e.Target.UserData))
+ foreach (var descendant in Blueprints.Where(bp =>
+ bp.Dependencies.Any(dep => blueprint.ID == dep)))
{
- var descendantInstance = DescendantPrototype.Instantiate();
+ var descendantInstance = Instantiate(DescendantPrefab, DescendantParent);
descendantInstance.GetComponentInChildren().text = descendant.Name;
_propertyInstances.Add(descendantInstance);
}
diff --git a/Assets/Scripts/UI/ClickCatcher.cs b/Assets/Scripts/UI/ClickCatcher.cs
index 0de024d59..3859d535a 100644
--- a/Assets/Scripts/UI/ClickCatcher.cs
+++ b/Assets/Scripts/UI/ClickCatcher.cs
@@ -5,15 +5,18 @@ using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
-public class ClickCatcher : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerClickHandler
+public class ClickCatcher : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, /*IPointerUpHandler, IPointerDownHandler,*/ IPointerClickHandler
{
//public bool EnableMouse => PointerIsInside && !_catching;
public bool PointerIsInside { get; private set; }
+ public float ClickTime = .5f;
public event Action OnEnter;
public event Action OnExit;
public event Action OnClick;
+ private float downTime;
+
public static ClickCatcher Background
{
get
@@ -40,6 +43,17 @@ public class ClickCatcher : MonoBehaviour, IPointerEnterHandler, IPointerExitHan
PointerIsInside = false;
}
+ // public void OnPointerUp(PointerEventData eventData)
+ // {
+ // if(Time.time - downTime < ClickTime)
+ // OnClick?.Invoke(eventData);
+ // }
+ //
+ // public void OnPointerDown(PointerEventData eventData)
+ // {
+ // downTime = Time.time;
+ // }
+
public void OnPointerClick(PointerEventData eventData)
{
OnClick?.Invoke(eventData);
diff --git a/Assets/Scripts/UI/ClickRaycaster.cs b/Assets/Scripts/UI/ClickRaycaster.cs
index 569a61c70..fb62e89ec 100644
--- a/Assets/Scripts/UI/ClickRaycaster.cs
+++ b/Assets/Scripts/UI/ClickRaycaster.cs
@@ -21,8 +21,8 @@ public class ClickRaycaster : MonoBehaviour
var clickable = hit.collider.GetComponent();
if (clickable != null)
clickable.Click(pointer);
- else OnClickMiss?.Invoke();
}
+ else OnClickMiss?.Invoke();
};
}
}
diff --git a/Assets/Scripts/UI/ZoneShip.cs b/Assets/Scripts/UI/ZoneShip.cs
index 4447be2d1..0f37f3edb 100644
--- a/Assets/Scripts/UI/ZoneShip.cs
+++ b/Assets/Scripts/UI/ZoneShip.cs
@@ -8,4 +8,5 @@ public class ZoneShip : MonoBehaviour
public MeshRenderer Icon;
public TextMeshPro Label;
+ public Transform Thruster;
}
diff --git a/Economy.Shared.Unity.csproj b/Economy.Shared.Unity.csproj
index 45fb15528..d81092cf0 100644
--- a/Economy.Shared.Unity.csproj
+++ b/Economy.Shared.Unity.csproj
@@ -65,6 +65,7 @@
+