diff --git a/Aetheria.Shared.Unity.csproj b/Aetheria.Shared.Unity.csproj
index 6c2d70788..ab7380a3e 100644
--- a/Aetheria.Shared.Unity.csproj
+++ b/Aetheria.Shared.Unity.csproj
@@ -252,6 +252,7 @@
+
diff --git a/Assets/Materials/UI/Map Gravity Lines.mat b/Assets/Materials/UI/Map Gravity Lines.mat
index a21223d9f..749d876be 100644
--- a/Assets/Materials/UI/Map Gravity Lines.mat
+++ b/Assets/Materials/UI/Map Gravity Lines.mat
@@ -86,7 +86,7 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- - _Scale: 1.441227
+ - _Scale: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Prefabs/UI/Properties Panel/Fancy/Curve Field.prefab b/Assets/Prefabs/UI/Properties Panel/Fancy/Curve Field.prefab
index b2dbe6954..ea233162a 100644
--- a/Assets/Prefabs/UI/Properties Panel/Fancy/Curve Field.prefab
+++ b/Assets/Prefabs/UI/Properties Panel/Fancy/Curve Field.prefab
@@ -184,9 +184,9 @@ RectTransform:
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
- m_AnchorMax: {x: 0, y: 1}
+ m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 8, y: -4}
- m_SizeDelta: {x: 128, y: 18.64}
+ m_SizeDelta: {x: -16, y: 18.64}
m_Pivot: {x: 0, y: 1}
--- !u!222 &7248497949783907356
CanvasRenderer:
@@ -495,9 +495,9 @@ RectTransform:
m_RootOrder: 4
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: 4}
- m_SizeDelta: {x: -4, y: -8}
+ m_AnchorMax: {x: 1, y: 0}
+ m_AnchoredPosition: {x: 0, y: 9}
+ m_SizeDelta: {x: -4, y: 1.5}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5150349052900313155
CanvasRenderer:
@@ -520,14 +520,14 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
- m_Color: {r: 0.85, g: 0.95199996, b: 1, a: 0.32156864}
+ m_Color: {r: 0.85, g: 0.95199996, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_Sprite: {fileID: 21300000, guid: 51c246761190b2349b69b5f87681c62a, type: 3}
+ m_Sprite: {fileID: 21300000, guid: ea8a1213adadb5a4fba6b1785033a34b, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
@@ -916,7 +916,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_Sprite: {fileID: 21300000, guid: 7c96f826a29855143bed2f0c15b198e6, type: 3}
+ m_Sprite: {fileID: 21300000, guid: e0e5557671b85144099aa4c15740eca5, type: 3}
m_improveResolution: 0
m_Resolution: 0.03439772
m_useNativeSize: 1
diff --git a/Assets/Resources/Aetheria.inputactions b/Assets/Resources/Aetheria.inputactions
index b5efc5dd7..dda305f65 100644
--- a/Assets/Resources/Aetheria.inputactions
+++ b/Assets/Resources/Aetheria.inputactions
@@ -1111,13 +1111,21 @@
"id": "2e2023b8-ce3b-4cb3-a12a-ff4ac610f11b",
"actions": [
{
- "name": "Map Toggle",
+ "name": "Zone Map",
"type": "Button",
"id": "e43f020b-dec0-43d2-a83b-1390d45819be",
"expectedControlType": "Button",
"processors": "",
"interactions": ""
},
+ {
+ "name": "Galaxy Map",
+ "type": "Button",
+ "id": "d198f18c-8c55-4a31-a694-4959c763f664",
+ "expectedControlType": "Button",
+ "processors": "",
+ "interactions": ""
+ },
{
"name": "Inventory",
"type": "Button",
@@ -1151,7 +1159,7 @@
"interactions": "",
"processors": "",
"groups": "Keyboard&Mouse",
- "action": "Map Toggle",
+ "action": "Zone Map",
"isComposite": false,
"isPartOfComposite": false
},
@@ -1187,6 +1195,17 @@
"action": "MainMenu",
"isComposite": false,
"isPartOfComposite": false
+ },
+ {
+ "name": "",
+ "id": "f90929d5-d8d1-40dc-acc7-7ae294971d12",
+ "path": "/m",
+ "interactions": "",
+ "processors": "",
+ "groups": "Keyboard&Mouse",
+ "action": "Galaxy Map",
+ "isComposite": false,
+ "isPartOfComposite": false
}
]
}
diff --git a/Assets/Resources/Settings.asset b/Assets/Resources/Settings.asset
index 5c959526a..fa7a35d76 100644
--- a/Assets/Resources/Settings.asset
+++ b/Assets/Resources/Settings.asset
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:f927571ef9726e262bfc172d9bc8828c928b710d83dd36420c2ae217ffe39dfc
-size 11597
+oid sha256:e88b31e49996b44a93bc845588151847eb73a8902c5939b54f4755ece6a7622d
+size 11764
diff --git a/Assets/Resources/Sprites/Attribution.txt b/Assets/Resources/Sprites/Attribution.txt
index d410495a9..03524509d 100644
--- a/Assets/Resources/Sprites/Attribution.txt
+++ b/Assets/Resources/Sprites/Attribution.txt
@@ -74,6 +74,8 @@ capacitor by Giovanny
Mine by Creaticca Creative Agency
pattern by Andrejs Kirma
edit by The Icon Z
+Resize by Markus
+Rotate by Rohith M
Other
diff --git a/Assets/Resources/Sprites/Icons/Resize1.png b/Assets/Resources/Sprites/Icons/Resize1.png
new file mode 100644
index 000000000..390055a13
--- /dev/null
+++ b/Assets/Resources/Sprites/Icons/Resize1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1327779757daae78e7b89efc83d81a0b9908510b0d9ff7327e8490c57b0f0897
+size 4798
diff --git a/Assets/Resources/Sprites/Icons/Resize1.png.meta b/Assets/Resources/Sprites/Icons/Resize1.png.meta
new file mode 100644
index 000000000..e8db2989f
--- /dev/null
+++ b/Assets/Resources/Sprites/Icons/Resize1.png.meta
@@ -0,0 +1,108 @@
+fileFormatVersion: 2
+guid: 55bed7a5ff978bf4c8cbda9971585df0
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: 1
+ wrapV: 1
+ wrapW: -1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sprites/Icons/Rotate.png b/Assets/Resources/Sprites/Icons/Rotate.png
new file mode 100644
index 000000000..07b5b537b
--- /dev/null
+++ b/Assets/Resources/Sprites/Icons/Rotate.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:79aa28f9bb1437130d8d687445c1724840a6d3323213b993a37bb85c55c8d17b
+size 12602
diff --git a/Assets/Resources/Sprites/Icons/Rotate.png.meta b/Assets/Resources/Sprites/Icons/Rotate.png.meta
new file mode 100644
index 000000000..ff0dd4a9c
--- /dev/null
+++ b/Assets/Resources/Sprites/Icons/Rotate.png.meta
@@ -0,0 +1,108 @@
+fileFormatVersion: 2
+guid: 4b33557baae0da54a96c0aa97bf752ee
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: 1
+ wrapV: 1
+ wrapW: -1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 32
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/Sprites/line-basic.png b/Assets/Resources/Sprites/line-basic.png
new file mode 100644
index 000000000..6153c41ab
--- /dev/null
+++ b/Assets/Resources/Sprites/line-basic.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b4fd163e3670d64804a01c6286c7f5e86572c2394db1f6a1425c320d72e72014
+size 1836
diff --git a/Assets/Resources/Sprites/line-basic.png.meta b/Assets/Resources/Sprites/line-basic.png.meta
new file mode 100644
index 000000000..be7ffef0c
--- /dev/null
+++ b/Assets/Resources/Sprites/line-basic.png.meta
@@ -0,0 +1,108 @@
+fileFormatVersion: 2
+guid: e0e5557671b85144099aa4c15740eca5
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ sRGBTexture: 1
+ linearTexture: 0
+ fadeOut: 0
+ borderMipMap: 0
+ mipMapsPreserveCoverage: 0
+ alphaTestReferenceValue: 0.5
+ mipMapFadeDistanceStart: 1
+ mipMapFadeDistanceEnd: 3
+ bumpmap:
+ convertToNormalMap: 0
+ externalNormalMap: 0
+ heightScale: 0.25
+ normalMapFilter: 0
+ isReadable: 0
+ streamingMipmaps: 0
+ streamingMipmapsPriority: 0
+ vTOnly: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: -1
+ aniso: -1
+ mipBias: -100
+ wrapU: 1
+ wrapV: 1
+ wrapW: -1
+ nPOTScale: 0
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 1
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 1
+ spriteTessellationDetail: -1
+ textureType: 8
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 0
+ platformSettings:
+ - serializedVersion: 3
+ buildTarget: DefaultTexturePlatform
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ - serializedVersion: 3
+ buildTarget: Standalone
+ maxTextureSize: 2048
+ resizeAlgorithm: 0
+ textureFormat: -1
+ textureCompression: 1
+ compressionQuality: 50
+ crunchedCompression: 0
+ allowsAlphaSplitting: 0
+ overridden: 0
+ androidETC2FallbackOverride: 0
+ forceMaximumCompressionQuality_BC6H_BC7: 0
+ spriteSheet:
+ serializedVersion: 2
+ sprites: []
+ outline: []
+ physicsShape: []
+ bones: []
+ spriteID: 5e97eb03825dee720800000000000000
+ internalID: 0
+ vertices: []
+ indices:
+ edges: []
+ weights: []
+ secondaryTextures: []
+ spritePackingTag:
+ pSDRemoveMatte: 0
+ pSDShowRemoveMatteOption: 0
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scenes/ARPG.unity b/Assets/Scenes/ARPG.unity
index 14e1c109c..767880601 100644
--- a/Assets/Scenes/ARPG.unity
+++ b/Assets/Scenes/ARPG.unity
@@ -1430,6 +1430,81 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 125191966}
m_CullTransparentMesh: 0
+--- !u!1 &126433269
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 126433270}
+ - component: {fileID: 126433272}
+ - component: {fileID: 126433271}
+ m_Layer: 5
+ m_Name: Icon
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &126433270
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 126433269}
+ m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 691045497}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 8, y: 0}
+ m_SizeDelta: {x: 14, y: -2}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &126433271
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 126433269}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 0
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: 55bed7a5ff978bf4c8cbda9971585df0, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &126433272
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 126433269}
+ m_CullTransparentMesh: 0
--- !u!1 &133322211
GameObject:
m_ObjectHideFlags: 0
@@ -2231,7 +2306,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_Sprite: {fileID: 21300000, guid: dc8c6f7a85945d242bd4cbd92df0a7d4, type: 3}
+ m_Sprite: {fileID: 21300000, guid: 8ebf281ca9b898f4f9a209b6ee01c843, type: 3}
m_Type: 0
m_PreserveAspect: 1
m_FillCenter: 1
@@ -3251,11 +3326,11 @@ RectTransform:
- {fileID: 2044077502}
- {fileID: 197007679}
m_Father: {fileID: 746825913}
- m_RootOrder: 0
+ m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
- m_AnchoredPosition: {x: 90.5, y: -9}
+ m_AnchoredPosition: {x: 90.5, y: -25}
m_SizeDelta: {x: 181, y: 18}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &232470598
@@ -4764,6 +4839,140 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3}
m_Name:
m_EditorClassIdentifier:
+--- !u!1 &383790463
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 383790464}
+ - component: {fileID: 383790466}
+ - component: {fileID: 383790465}
+ m_Layer: 5
+ m_Name: Strafe RPM
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &383790464
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 383790463}
+ 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: 691045497}
+ 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: 8, y: 0}
+ m_SizeDelta: {x: -16, y: -4}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &383790465
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 383790463}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 0
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: 18,000
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 3fb7d873bb5a7944bb9a7c73c430c44b, type: 2}
+ m_sharedMaterial: {fileID: 2100000, guid: b9d2f6c9804cec1489502dcc1c19ec54, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 10
+ m_fontSizeBase: 10
+ m_fontWeight: 400
+ m_enableAutoSizing: 1
+ m_fontSizeMin: 6
+ m_fontSizeMax: 16
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ 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_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 1
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &383790466
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 383790463}
+ m_CullTransparentMesh: 0
--- !u!1 &388927454
GameObject:
m_ObjectHideFlags: 0
@@ -5489,6 +5698,8 @@ MonoBehaviour:
OverrideIconBlinkSpeed: 0
ShieldIcon: {fileID: 0}
HeatsinkBackground: {fileID: 0}
+ AetherDriveUi: {fileID: 0}
+ AetherDriveUiSpacer: {fileID: 0}
EnergyLabel: {fileID: 0}
CockpitTemperatureLabel: {fileID: 0}
RadiatorTemperatureLabel: {fileID: 0}
@@ -5497,12 +5708,18 @@ MonoBehaviour:
VisibilityLabel: {fileID: 858665366}
HullDurabilityLabel: {fileID: 2101419019}
DistanceLabel: {fileID: 517688448}
+ ForwardRPMLabel: {fileID: 0}
+ StrafeRPMLabel: {fileID: 0}
+ TurnRPMLabel: {fileID: 0}
SensorCooldownFill: {fileID: 0}
EnergyFill: {fileID: 0}
HullDurabilityFill: {fileID: 1904825248}
HeatstrokeMeterFill: {fileID: 0}
HypothermiaMeterFill: {fileID: 0}
HeatstrokeLimitFill: {fileID: 0}
+ ForwardRPMFill: {fileID: 0}
+ StrafeRPMFill: {fileID: 0}
+ TurnRPMFill: {fileID: 0}
TriggerGroups: {fileID: 1399423353}
TriggerGroupsFadeDuration: 0.5
TriggerGroupsPersistDuration: 5
@@ -6374,6 +6591,7 @@ MonoBehaviour:
CellBackgroundColor: {r: 0, g: 0, b: 0, a: 0.9490196}
MinTempRange: 0
DoubleClickTime: 0.5
+ HitDamageThreshold: 1
EmptyCells: []
--- !u!1 &411347518
GameObject:
@@ -9574,8 +9792,10 @@ MonoBehaviour:
IncrementField: {fileID: 5486709585343280439, guid: 9c14c92a1a08b0a4fb4f6aa6f8504082,
type: 3}
StatSheet: {fileID: 0}
+ CurveField: {fileID: 0}
Content: {fileID: 620555923}
SelectedChild: {fileID: 0}
+ GameManager: {fileID: 0}
CancelClickCatcher: {fileID: 1420548305}
ButtonGroup: {fileID: 947321577}
Cancel: {fileID: 1176624628}
@@ -10760,6 +10980,105 @@ RectTransform:
m_AnchoredPosition: {x: 64, y: 0}
m_SizeDelta: {x: 14, y: 0}
m_Pivot: {x: 0, y: 0.5}
+--- !u!1 &691045496
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 691045497}
+ - component: {fileID: 691045500}
+ - component: {fileID: 691045499}
+ - component: {fileID: 691045498}
+ m_Layer: 5
+ m_Name: Strafe
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &691045497
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 691045496}
+ 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: 1542388328}
+ - {fileID: 126433270}
+ - {fileID: 383790464}
+ m_Father: {fileID: 1735948312}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 90.5, y: 0}
+ m_SizeDelta: {x: 59, y: 14}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!114 &691045498
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 691045496}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0.011764706}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &691045499
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 691045496}
+ m_CullTransparentMesh: 1
+--- !u!114 &691045500
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 691045496}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: 16
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
--- !u!1 &693745763
GameObject:
m_ObjectHideFlags: 0
@@ -11218,6 +11537,105 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 719842150}
m_CullTransparentMesh: 1
+--- !u!1 &723697980
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 723697981}
+ - component: {fileID: 723697984}
+ - component: {fileID: 723697983}
+ - component: {fileID: 723697982}
+ m_Layer: 5
+ m_Name: Forward
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &723697981
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 723697980}
+ 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: 1946192591}
+ - {fileID: 1463754850}
+ - {fileID: 1558236436}
+ m_Father: {fileID: 1735948312}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 29.5, y: -0}
+ m_SizeDelta: {x: 59, y: 14}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!114 &723697982
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 723697980}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0.011764706}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &723697983
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 723697980}
+ m_CullTransparentMesh: 1
+--- !u!114 &723697984
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 723697980}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: 16
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
--- !u!1 &732687889
GameObject:
m_ObjectHideFlags: 0
@@ -11432,7 +11850,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
- m_text: Moving Thing
+ m_text: Confirmation Dialog
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 53555f7a2d5e745428813f1b1118734f, type: 2}
m_sharedMaterial: {fileID: -2804126062856497447, guid: 53555f7a2d5e745428813f1b1118734f,
@@ -11538,6 +11956,7 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
+ - {fileID: 1735948312}
- {fileID: 232470597}
m_Father: {fileID: 60313920}
m_RootOrder: 1
@@ -12080,6 +12499,71 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 776416423}
m_CullTransparentMesh: 1
+--- !u!1 &779460299
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 779460300}
+ - component: {fileID: 779460301}
+ m_Layer: 5
+ m_Name: Weapon Groups Container
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &779460300
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 779460299}
+ 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: 964827173}
+ - {fileID: 1376734759}
+ - {fileID: 1399423350}
+ m_Father: {fileID: 1558520822}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 1, y: 0}
+ m_AnchorMax: {x: 1, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 129, y: 0}
+ m_Pivot: {x: 1, y: 1}
+--- !u!114 &779460301
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 779460299}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 59f8146938fff824cb5fd77236b75775, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 0
+ m_Spacing: 0
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
--- !u!1 &783543864
GameObject:
m_ObjectHideFlags: 0
@@ -13205,6 +13689,81 @@ MonoBehaviour:
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
+--- !u!1 &853400335
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 853400336}
+ - component: {fileID: 853400338}
+ - component: {fileID: 853400337}
+ m_Layer: 5
+ m_Name: Icon
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &853400336
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 853400335}
+ 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: 1214607512}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 8, y: 0}
+ m_SizeDelta: {x: 10, y: -4}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &853400337
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 853400335}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 0
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: 4b33557baae0da54a96c0aa97bf752ee, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &853400338
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 853400335}
+ m_CullTransparentMesh: 0
--- !u!1 &858665364
GameObject:
m_ObjectHideFlags: 0
@@ -14085,6 +14644,140 @@ MonoBehaviour:
Tab: 0
Text: {fileID: 931657853}
RequireDock: 0
+--- !u!1 &932757481
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 932757482}
+ - component: {fileID: 932757484}
+ - component: {fileID: 932757483}
+ m_Layer: 5
+ m_Name: Turn RPM
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &932757482
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 932757481}
+ 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: 1214607512}
+ 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: 8, y: 0}
+ m_SizeDelta: {x: -16, y: -4}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &932757483
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 932757481}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 0
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: 18,000
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 3fb7d873bb5a7944bb9a7c73c430c44b, type: 2}
+ m_sharedMaterial: {fileID: 2100000, guid: b9d2f6c9804cec1489502dcc1c19ec54, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 10
+ m_fontSizeBase: 10
+ m_fontWeight: 400
+ m_enableAutoSizing: 1
+ m_fontSizeMin: 6
+ m_fontSizeMax: 16
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ 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_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 1
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &932757484
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 932757481}
+ m_CullTransparentMesh: 0
--- !u!1 &933815652
GameObject:
m_ObjectHideFlags: 0
@@ -14738,6 +15431,62 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3}
m_Name:
m_EditorClassIdentifier:
+--- !u!1 &964827172
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 964827173}
+ - component: {fileID: 964827174}
+ m_Layer: 5
+ m_Name: Spacer
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &964827173
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 964827172}
+ 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: 779460300}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 64.5, y: -28}
+ m_SizeDelta: {x: 129, y: 56}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &964827174
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 964827172}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: 56
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
--- !u!1 &970624069
GameObject:
m_ObjectHideFlags: 0
@@ -15452,6 +16201,8 @@ MonoBehaviour:
ShipPanel: {fileID: 7628189704109037582}
TargetShipPanel: {fileID: 410701133}
Dialog: {fileID: 620555924}
+ Context: {fileID: 0}
+ Dropdown: {fileID: 0}
IntroDuration: 10
--- !u!4 &1009503730
Transform:
@@ -15979,6 +16730,81 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1012981707}
m_CullTransparentMesh: 0
+--- !u!1 &1013676407
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1013676408}
+ - component: {fileID: 1013676410}
+ - component: {fileID: 1013676409}
+ m_Layer: 5
+ m_Name: Turn Fill
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1013676408
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1013676407}
+ 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: 1214607512}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0.8, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1013676409
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1013676407}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0.101960786}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1013676410
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1013676407}
+ m_CullTransparentMesh: 0
--- !u!1 &1029396710
GameObject:
m_ObjectHideFlags: 0
@@ -17781,6 +18607,105 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1187424823}
m_CullTransparentMesh: 0
+--- !u!1 &1214607511
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1214607512}
+ - component: {fileID: 1214607515}
+ - component: {fileID: 1214607514}
+ - component: {fileID: 1214607513}
+ m_Layer: 5
+ m_Name: Turn
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1214607512
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1214607511}
+ 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: 1013676408}
+ - {fileID: 853400336}
+ - {fileID: 932757482}
+ m_Father: {fileID: 1735948312}
+ m_RootOrder: 2
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 151.5, y: 0}
+ m_SizeDelta: {x: 59, y: 14}
+ m_Pivot: {x: 0.5, y: 1}
+--- !u!114 &1214607513
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1214607511}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0.011764706}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1214607514
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1214607511}
+ m_CullTransparentMesh: 1
+--- !u!114 &1214607515
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1214607511}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: 16
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
--- !u!1 &1218822609
GameObject:
m_ObjectHideFlags: 0
@@ -19426,6 +20351,62 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1367229140}
m_CullTransparentMesh: 0
+--- !u!1 &1376734758
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1376734759}
+ - component: {fileID: 1376734760}
+ m_Layer: 5
+ m_Name: RPM Spacer
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1376734759
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1376734758}
+ 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: 779460300}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 64.5, y: -64}
+ m_SizeDelta: {x: 129, y: 16}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1376734760
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1376734758}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: 16
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
--- !u!1 &1378019500
GameObject:
m_ObjectHideFlags: 0
@@ -19659,7 +20640,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
- m_IsActive: 1
+ m_IsActive: 0
--- !u!224 &1396909587
RectTransform:
m_ObjectHideFlags: 0
@@ -20074,7 +21055,6 @@ GameObject:
m_Component:
- component: {fileID: 1399423350}
- component: {fileID: 1399423352}
- - component: {fileID: 1399423351}
- component: {fileID: 1399423353}
m_Layer: 5
m_Name: Weapon Groups
@@ -20096,28 +21076,14 @@ RectTransform:
m_Children:
- {fileID: 133322212}
- {fileID: 1564656281}
- m_Father: {fileID: 1558520822}
- m_RootOrder: 0
+ m_Father: {fileID: 779460300}
+ 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: 439, y: 204}
- m_SizeDelta: {x: 128, y: 16}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 0, y: -72}
+ m_SizeDelta: {x: 129, y: 18}
m_Pivot: {x: 0, y: 1}
---- !u!114 &1399423351
-MonoBehaviour:
- m_ObjectHideFlags: 0
- m_CorrespondingSourceObject: {fileID: 0}
- m_PrefabInstance: {fileID: 0}
- m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 1399423349}
- m_Enabled: 1
- m_EditorHideFlags: 0
- m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
- m_Name:
- m_EditorClassIdentifier:
- m_HorizontalFit: 0
- m_VerticalFit: 2
--- !u!114 &1399423352
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -20912,6 +21878,81 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1281fe44325f9b548aa42dc331b17266, type: 3}
m_Name:
m_EditorClassIdentifier:
+--- !u!1 &1463754849
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1463754850}
+ - component: {fileID: 1463754852}
+ - component: {fileID: 1463754851}
+ m_Layer: 5
+ m_Name: Icon
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1463754850
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1463754849}
+ 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: 723697981}
+ m_RootOrder: 1
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 8, y: 0}
+ m_SizeDelta: {x: 14, y: -2}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1463754851
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1463754849}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 0
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 0
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 21300000, guid: 55bed7a5ff978bf4c8cbda9971585df0, type: 3}
+ m_Type: 0
+ m_PreserveAspect: 1
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1463754852
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1463754849}
+ m_CullTransparentMesh: 0
--- !u!1 &1464157084
GameObject:
m_ObjectHideFlags: 0
@@ -22051,6 +23092,81 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1539162433}
m_CullTransparentMesh: 1
+--- !u!1 &1542388327
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1542388328}
+ - component: {fileID: 1542388330}
+ - component: {fileID: 1542388329}
+ m_Layer: 5
+ m_Name: Strafe Fill
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1542388328
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1542388327}
+ 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: 691045497}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0.8, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1542388329
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1542388327}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0.101960786}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1542388330
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1542388327}
+ m_CullTransparentMesh: 0
--- !u!1 &1547889398
GameObject:
m_ObjectHideFlags: 0
@@ -22566,6 +23682,140 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1558182380}
m_CullTransparentMesh: 1
+--- !u!1 &1558236435
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1558236436}
+ - component: {fileID: 1558236438}
+ - component: {fileID: 1558236437}
+ m_Layer: 5
+ m_Name: Forward RPM
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1558236436
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1558236435}
+ 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: 723697981}
+ 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: 8, y: 0}
+ m_SizeDelta: {x: -16, y: -4}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1558236437
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1558236435}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 1}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 0
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_text: 18,000
+ m_isRightToLeft: 0
+ m_fontAsset: {fileID: 11400000, guid: 3fb7d873bb5a7944bb9a7c73c430c44b, type: 2}
+ m_sharedMaterial: {fileID: 2100000, guid: b9d2f6c9804cec1489502dcc1c19ec54, type: 2}
+ m_fontSharedMaterials: []
+ m_fontMaterial: {fileID: 0}
+ m_fontMaterials: []
+ m_fontColor32:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+ m_enableVertexGradient: 0
+ m_colorMode: 3
+ m_fontColorGradient:
+ topLeft: {r: 1, g: 1, b: 1, a: 1}
+ topRight: {r: 1, g: 1, b: 1, a: 1}
+ bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+ bottomRight: {r: 1, g: 1, b: 1, a: 1}
+ m_fontColorGradientPreset: {fileID: 0}
+ m_spriteAsset: {fileID: 0}
+ m_tintAllSprites: 0
+ m_StyleSheet: {fileID: 0}
+ m_TextStyleHashCode: -1183493901
+ m_overrideHtmlColors: 0
+ m_faceColor:
+ serializedVersion: 2
+ rgba: 4294967295
+ m_fontSize: 10
+ m_fontSizeBase: 10
+ m_fontWeight: 400
+ m_enableAutoSizing: 1
+ m_fontSizeMin: 6
+ m_fontSizeMax: 16
+ m_fontStyle: 0
+ m_HorizontalAlignment: 1
+ m_VerticalAlignment: 512
+ m_textAlignment: 65535
+ 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_linkedTextComponent: {fileID: 0}
+ parentLinkedComponent: {fileID: 0}
+ m_enableKerning: 1
+ m_enableExtraPadding: 0
+ checkPaddingRequired: 0
+ m_isRichText: 1
+ m_parseCtrlCharacters: 1
+ m_isOrthographic: 1
+ m_isCullingEnabled: 0
+ m_horizontalMapping: 0
+ m_verticalMapping: 0
+ m_uvLineOffset: 0
+ m_geometrySortingOrder: 0
+ m_IsTextObjectScaleStatic: 0
+ m_VertexBufferAutoSizeReduction: 1
+ m_useMaxVisibleDescender: 1
+ m_pageToDisplay: 1
+ m_margin: {x: 0, y: 0, z: 0, w: 0}
+ m_isUsingLegacyAnimationComponent: 0
+ m_isVolumetricText: 0
+ m_hasFontAssetChanged: 0
+ m_baseMaterial: {fileID: 0}
+ m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1558236438
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1558236435}
+ m_CullTransparentMesh: 0
--- !u!1 &1558520821
GameObject:
m_ObjectHideFlags: 0
@@ -22593,7 +23843,7 @@ RectTransform:
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- - {fileID: 1399423350}
+ - {fileID: 779460300}
- {fileID: 7628189704109037581}
m_Father: {fileID: 346000247}
m_RootOrder: 2
@@ -22809,8 +24059,8 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
- m_AnchoredPosition: {x: 63.5, y: -8}
- m_SizeDelta: {x: 127, y: 16}
+ m_AnchoredPosition: {x: 64, y: -9}
+ m_SizeDelta: {x: 128, y: 18}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1564656282
MonoBehaviour:
@@ -22866,7 +24116,7 @@ MonoBehaviour:
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: -1
- m_PreferredHeight: 16
+ m_PreferredHeight: 18
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
@@ -24937,6 +26187,92 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1733988258}
m_CullTransparentMesh: 1
+--- !u!1 &1735948311
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1735948312}
+ - component: {fileID: 1735948314}
+ - component: {fileID: 1735948313}
+ m_Layer: 5
+ m_Name: RPM Display
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1735948312
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1735948311}
+ 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: 723697981}
+ - {fileID: 691045497}
+ - {fileID: 1214607512}
+ m_Father: {fileID: 746825913}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 1}
+ m_AnchorMax: {x: 0, y: 1}
+ m_AnchoredPosition: {x: 90.5, y: -7}
+ m_SizeDelta: {x: 181, y: 14}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1735948313
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1735948311}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Padding:
+ m_Left: 0
+ m_Right: 0
+ m_Top: 0
+ m_Bottom: 0
+ m_ChildAlignment: 0
+ m_Spacing: 2
+ m_ChildForceExpandWidth: 1
+ m_ChildForceExpandHeight: 0
+ m_ChildControlWidth: 1
+ m_ChildControlHeight: 1
+ m_ChildScaleWidth: 0
+ m_ChildScaleHeight: 0
+ m_ReverseArrangement: 0
+--- !u!114 &1735948314
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1735948311}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_IgnoreLayout: 0
+ m_MinWidth: -1
+ m_MinHeight: -1
+ m_PreferredWidth: -1
+ m_PreferredHeight: 14
+ m_FlexibleWidth: -1
+ m_FlexibleHeight: -1
+ m_LayoutPriority: 1
--- !u!1 &1741914909
GameObject:
m_ObjectHideFlags: 0
@@ -27196,6 +28532,81 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1943948574}
m_CullTransparentMesh: 0
+--- !u!1 &1946192590
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1946192591}
+ - component: {fileID: 1946192593}
+ - component: {fileID: 1946192592}
+ m_Layer: 5
+ m_Name: Forward Fill
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!224 &1946192591
+RectTransform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1946192590}
+ 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: 723697981}
+ m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+ m_AnchorMin: {x: 0, y: 0}
+ m_AnchorMax: {x: 0.8, y: 1}
+ m_AnchoredPosition: {x: 0, y: 0}
+ m_SizeDelta: {x: 0, y: 0}
+ m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1946192592
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1946192590}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_Material: {fileID: 0}
+ m_Color: {r: 1, g: 1, b: 1, a: 0.101960786}
+ m_RaycastTarget: 1
+ m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+ m_Maskable: 1
+ m_OnCullStateChanged:
+ m_PersistentCalls:
+ m_Calls: []
+ m_Sprite: {fileID: 0}
+ m_Type: 1
+ m_PreserveAspect: 0
+ m_FillCenter: 1
+ m_FillMethod: 4
+ m_FillAmount: 1
+ m_FillClockwise: 1
+ m_FillOrigin: 0
+ m_UseSpriteMesh: 0
+ m_PixelsPerUnitMultiplier: 1
+--- !u!222 &1946192593
+CanvasRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1946192590}
+ m_CullTransparentMesh: 0
--- !u!1 &1952022815
GameObject:
m_ObjectHideFlags: 0
@@ -33785,8 +35196,10 @@ MonoBehaviour:
IncrementField: {fileID: 5486709585343280439, guid: 9c14c92a1a08b0a4fb4f6aa6f8504082,
type: 3}
StatSheet: {fileID: 0}
+ CurveField: {fileID: 0}
Content: {fileID: 3255828831356619720}
SelectedChild: {fileID: 0}
+ GameManager: {fileID: 0}
--- !u!114 &5496444666756201237
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -35432,6 +36845,7 @@ MonoBehaviour:
CellBackgroundColor: {r: 0, g: 0, b: 0, a: 0.9490196}
MinTempRange: 0
DoubleClickTime: 0.5
+ HitDamageThreshold: 1
EmptyCells: []
--- !u!114 &7628189704109037583
MonoBehaviour:
@@ -35467,6 +36881,8 @@ MonoBehaviour:
OverrideIconBlinkSpeed: 10
ShieldIcon: {fileID: 19222411}
HeatsinkBackground: {fileID: 661332569}
+ AetherDriveUi: {fileID: 1735948311}
+ AetherDriveUiSpacer: {fileID: 1376734758}
EnergyLabel: {fileID: 804489113}
CockpitTemperatureLabel: {fileID: 212527384}
RadiatorTemperatureLabel: {fileID: 1752418078}
@@ -35475,12 +36891,18 @@ MonoBehaviour:
VisibilityLabel: {fileID: 2122035461}
HullDurabilityLabel: {fileID: 697075017}
DistanceLabel: {fileID: 0}
+ ForwardRPMLabel: {fileID: 1558236437}
+ StrafeRPMLabel: {fileID: 383790465}
+ TurnRPMLabel: {fileID: 932757483}
SensorCooldownFill: {fileID: 1943948575}
EnergyFill: {fileID: 271575215}
HullDurabilityFill: {fileID: 753112995}
HeatstrokeMeterFill: {fileID: 1029396711}
HypothermiaMeterFill: {fileID: 79341832}
HeatstrokeLimitFill: {fileID: 933815653}
+ ForwardRPMFill: {fileID: 1946192591}
+ StrafeRPMFill: {fileID: 1542388328}
+ TurnRPMFill: {fileID: 1013676408}
TriggerGroups: {fileID: 1399423353}
TriggerGroupsFadeDuration: 0.5
TriggerGroupsPersistDuration: 5
diff --git a/Assets/Scenes/Main Menu.unity b/Assets/Scenes/Main Menu.unity
index 89f4dbcab..8f51544c7 100644
--- a/Assets/Scenes/Main Menu.unity
+++ b/Assets/Scenes/Main Menu.unity
@@ -802,8 +802,8 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 741153267}
- m_LocalRotation: {x: 0.015506903, y: 0.9502416, z: -0.30741313, w: 0.04793323}
- m_LocalPosition: {x: -117.51999, y: -77.08743, z: 149.09026}
+ m_LocalRotation: {x: 0.015506932, y: 0.9502416, z: -0.30741316, w: 0.04793331}
+ m_LocalPosition: {x: -117.520035, y: -77.087425, z: 149.09027}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 412917866}
@@ -1234,8 +1234,8 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 965376321}
- m_LocalRotation: {x: 0.015506903, y: 0.9502416, z: -0.30741313, w: 0.04793323}
- m_LocalPosition: {x: -117.51999, y: -77.08743, z: 149.09026}
+ m_LocalRotation: {x: 0.015506932, y: 0.9502416, z: -0.30741316, w: 0.04793331}
+ m_LocalPosition: {x: -117.520035, y: -77.087425, z: 149.09027}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
diff --git a/Assets/Scripts/AetheriaInput.cs b/Assets/Scripts/AetheriaInput.cs
index 9f288fb63..095b75dac 100644
--- a/Assets/Scripts/AetheriaInput.cs
+++ b/Assets/Scripts/AetheriaInput.cs
@@ -1124,13 +1124,21 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
""id"": ""2e2023b8-ce3b-4cb3-a12a-ff4ac610f11b"",
""actions"": [
{
- ""name"": ""Map Toggle"",
+ ""name"": ""Zone Map"",
""type"": ""Button"",
""id"": ""e43f020b-dec0-43d2-a83b-1390d45819be"",
""expectedControlType"": ""Button"",
""processors"": """",
""interactions"": """"
},
+ {
+ ""name"": ""Galaxy Map"",
+ ""type"": ""Button"",
+ ""id"": ""d198f18c-8c55-4a31-a694-4959c763f664"",
+ ""expectedControlType"": ""Button"",
+ ""processors"": """",
+ ""interactions"": """"
+ },
{
""name"": ""Inventory"",
""type"": ""Button"",
@@ -1164,7 +1172,7 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
""interactions"": """",
""processors"": """",
""groups"": ""Keyboard&Mouse"",
- ""action"": ""Map Toggle"",
+ ""action"": ""Zone Map"",
""isComposite"": false,
""isPartOfComposite"": false
},
@@ -1200,6 +1208,17 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
""action"": ""MainMenu"",
""isComposite"": false,
""isPartOfComposite"": false
+ },
+ {
+ ""name"": """",
+ ""id"": ""f90929d5-d8d1-40dc-acc7-7ae294971d12"",
+ ""path"": ""/m"",
+ ""interactions"": """",
+ ""processors"": """",
+ ""groups"": ""Keyboard&Mouse"",
+ ""action"": ""Galaxy Map"",
+ ""isComposite"": false,
+ ""isPartOfComposite"": false
}
]
}
@@ -1284,7 +1303,8 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
m_UI_Drag = m_UI.FindAction("Drag", throwIfNotFound: true);
// Global
m_Global = asset.FindActionMap("Global", throwIfNotFound: true);
- m_Global_MapToggle = m_Global.FindAction("Map Toggle", throwIfNotFound: true);
+ m_Global_ZoneMap = m_Global.FindAction("Zone Map", throwIfNotFound: true);
+ m_Global_GalaxyMap = m_Global.FindAction("Galaxy Map", throwIfNotFound: true);
m_Global_Inventory = m_Global.FindAction("Inventory", throwIfNotFound: true);
m_Global_Dock = m_Global.FindAction("Dock", throwIfNotFound: true);
m_Global_MainMenu = m_Global.FindAction("MainMenu", throwIfNotFound: true);
@@ -1651,7 +1671,8 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
// Global
private readonly InputActionMap m_Global;
private IGlobalActions m_GlobalActionsCallbackInterface;
- private readonly InputAction m_Global_MapToggle;
+ private readonly InputAction m_Global_ZoneMap;
+ private readonly InputAction m_Global_GalaxyMap;
private readonly InputAction m_Global_Inventory;
private readonly InputAction m_Global_Dock;
private readonly InputAction m_Global_MainMenu;
@@ -1659,7 +1680,8 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
{
private @AetheriaInput m_Wrapper;
public GlobalActions(@AetheriaInput wrapper) { m_Wrapper = wrapper; }
- public InputAction @MapToggle => m_Wrapper.m_Global_MapToggle;
+ public InputAction @ZoneMap => m_Wrapper.m_Global_ZoneMap;
+ public InputAction @GalaxyMap => m_Wrapper.m_Global_GalaxyMap;
public InputAction @Inventory => m_Wrapper.m_Global_Inventory;
public InputAction @Dock => m_Wrapper.m_Global_Dock;
public InputAction @MainMenu => m_Wrapper.m_Global_MainMenu;
@@ -1672,9 +1694,12 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
{
if (m_Wrapper.m_GlobalActionsCallbackInterface != null)
{
- @MapToggle.started -= m_Wrapper.m_GlobalActionsCallbackInterface.OnMapToggle;
- @MapToggle.performed -= m_Wrapper.m_GlobalActionsCallbackInterface.OnMapToggle;
- @MapToggle.canceled -= m_Wrapper.m_GlobalActionsCallbackInterface.OnMapToggle;
+ @ZoneMap.started -= m_Wrapper.m_GlobalActionsCallbackInterface.OnZoneMap;
+ @ZoneMap.performed -= m_Wrapper.m_GlobalActionsCallbackInterface.OnZoneMap;
+ @ZoneMap.canceled -= m_Wrapper.m_GlobalActionsCallbackInterface.OnZoneMap;
+ @GalaxyMap.started -= m_Wrapper.m_GlobalActionsCallbackInterface.OnGalaxyMap;
+ @GalaxyMap.performed -= m_Wrapper.m_GlobalActionsCallbackInterface.OnGalaxyMap;
+ @GalaxyMap.canceled -= m_Wrapper.m_GlobalActionsCallbackInterface.OnGalaxyMap;
@Inventory.started -= m_Wrapper.m_GlobalActionsCallbackInterface.OnInventory;
@Inventory.performed -= m_Wrapper.m_GlobalActionsCallbackInterface.OnInventory;
@Inventory.canceled -= m_Wrapper.m_GlobalActionsCallbackInterface.OnInventory;
@@ -1688,9 +1713,12 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
m_Wrapper.m_GlobalActionsCallbackInterface = instance;
if (instance != null)
{
- @MapToggle.started += instance.OnMapToggle;
- @MapToggle.performed += instance.OnMapToggle;
- @MapToggle.canceled += instance.OnMapToggle;
+ @ZoneMap.started += instance.OnZoneMap;
+ @ZoneMap.performed += instance.OnZoneMap;
+ @ZoneMap.canceled += instance.OnZoneMap;
+ @GalaxyMap.started += instance.OnGalaxyMap;
+ @GalaxyMap.performed += instance.OnGalaxyMap;
+ @GalaxyMap.canceled += instance.OnGalaxyMap;
@Inventory.started += instance.OnInventory;
@Inventory.performed += instance.OnInventory;
@Inventory.canceled += instance.OnInventory;
@@ -1772,7 +1800,8 @@ public class @AetheriaInput : IInputActionCollection, IDisposable
}
public interface IGlobalActions
{
- void OnMapToggle(InputAction.CallbackContext context);
+ void OnZoneMap(InputAction.CallbackContext context);
+ void OnGalaxyMap(InputAction.CallbackContext context);
void OnInventory(InputAction.CallbackContext context);
void OnDock(InputAction.CallbackContext context);
void OnMainMenu(InputAction.CallbackContext context);
diff --git a/Assets/Scripts/Gameplay/ActionGameManager.cs b/Assets/Scripts/Gameplay/ActionGameManager.cs
index 5ad585922..17ff9fac0 100644
--- a/Assets/Scripts/Gameplay/ActionGameManager.cs
+++ b/Assets/Scripts/Gameplay/ActionGameManager.cs
@@ -63,6 +63,8 @@ public class ActionGameManager : MonoBehaviour
public static Sector CurrentSector;
+
+
public GameSettings Settings;
//public string StarterShipTemplate = "Longinus";
public float2 Sensitivity;
@@ -104,6 +106,8 @@ public class ActionGameManager : MonoBehaviour
public InventoryPanel ShipPanel;
public InventoryPanel TargetShipPanel;
public ConfirmationDialog Dialog;
+ public ContextMenu Context;
+ public DropdownMenu Dropdown;
public float IntroDuration;
@@ -160,17 +164,11 @@ public class ActionGameManager : MonoBehaviour
File.WriteAllBytes(Path.Combine(_loadoutPath.FullName, $"{pack.Name}.loadout"), MessagePackSerializer.Serialize(pack));
}
- private void OnApplicationQuit()
- {
- if(CurrentSector!=null)
- {
- SaveState();
- }
- }
+ private void OnApplicationQuit() => SaveState();
public void SaveState()
{
- PlayerSettings.CurrentRun = new SavedGame(CurrentSector, Zone, DockedEntity??CurrentEntity);
+ PlayerSettings.SavedRun = CurrentSector == null ? null : new SavedGame(CurrentSector, Zone, DockedEntity ?? CurrentEntity);
SavePlayerSettings();
}
@@ -208,57 +206,15 @@ public class ActionGameManager : MonoBehaviour
ZoneRenderer.MinimapDistance = Settings.MinimapZoomLevels[_zoomLevelIndex];
};
- Input.Global.MapToggle.performed += context =>
+ Input.Global.ZoneMap.performed += context =>
{
- if (EventSystem.current.currentSelectedGameObject?.GetComponent() != null) return;
- if (MainMenu.gameObject.activeSelf) return;
- if (Menu.gameObject.activeSelf && Menu.CurrentTab == MenuTab.Map)
- {
- Cursor.lockState = CursorLockMode.Locked;
- Menu.gameObject.SetActive(false);
- if (CurrentEntity != null && CurrentEntity.Parent == null)
- {
- Input.Player.Enable();
- GameplayUI.gameObject.SetActive(true);
-
- SchematicDisplay.ShowShip(CurrentEntity);
- ShipPanel.Display(CurrentEntity, true);
- }
-
- return;
- }
-
- Cursor.lockState = CursorLockMode.None;
- Input.Player.Disable();
- GameplayUI.gameObject.SetActive(false);
- Menu.ShowTab(MenuTab.Map);
+ ToggleMenuTab(MenuTab.Map);
MenuMap.Position = CurrentEntity.Position.xz;
};
- Input.Global.Inventory.performed += context =>
- {
- if (EventSystem.current.currentSelectedGameObject?.GetComponent() != null) return;
- if (MainMenu.gameObject.activeSelf) return;
- if (Menu.gameObject.activeSelf && Menu.CurrentTab == MenuTab.Inventory)
- {
- Cursor.lockState = CursorLockMode.Locked;
- Menu.gameObject.SetActive(false);
- if (CurrentEntity != null && CurrentEntity.Parent == null)
- {
- Input.Player.Enable();
- GameplayUI.gameObject.SetActive(true);
-
- SchematicDisplay.ShowShip(CurrentEntity);
- ShipPanel.Display(CurrentEntity, true);
- }
- return;
- }
+ Input.Global.Inventory.performed += context => ToggleMenuTab(MenuTab.Inventory);
- Cursor.lockState = CursorLockMode.None;
- Input.Player.Disable();
- Menu.ShowTab(MenuTab.Inventory);
- GameplayUI.gameObject.SetActive(false);
- };
+ Input.Global.GalaxyMap.performed += context => ToggleMenuTab(MenuTab.Galaxy);
Input.Global.Dock.performed += context =>
{
@@ -317,33 +273,10 @@ public class ActionGameManager : MonoBehaviour
Input.Player.EnterWormhole.performed += context =>
{
- if(CurrentEntity is Ship ship)
+ foreach (var wormhole in ZoneRenderer.WormholeInstances.Keys)
{
- foreach (var wormhole in ZoneRenderer.WormholeInstances.Keys)
- {
- if (length(wormhole.Position - CurrentEntity.Position.xz) < Settings.GameplaySettings.WormholeExitRadius)
- {
- var oldZone = Zone;
- // var wormholeCameraFollow = new GameObject("Wormhole Camera Follow").transform;
- // wormholeCameraFollow.position = new Vector3(wormhole.Position.x, -50, wormhole.Position.y);
- // wormholeCameraFollow.rotation = Quaternion.LookRotation(Vector3.down, ship.LookDirection);
- // WormholeCamera.enabled = true;
- // WormholeCamera.Follow = wormholeCameraFollow;
- // FollowCamera.enabled = false;
- ship.EnterWormhole(wormhole.Position);
- ship.OnEnteredWormhole += () =>
- {
- PopulateLevel(wormhole.Target);
- foreach(var zone in wormhole.Target.AdjacentZones)
- CurrentSector.DiscoveredZones.Add(zone);
- SectorMap.QueueZoneReveal(wormhole.Target.AdjacentZones);
- ship.ExitWormhole(ZoneRenderer.WormholeInstances.Keys.First(w=>w.Target==oldZone.SectorZone).Position,
- Settings.GameplaySettings.WormholeExitVelocity * ItemManager.Random.NextFloat2Direction());
- CurrentEntity.Zone = Zone;
- SaveState();
- };
- }
- }
+ if (!(length(wormhole.Position - CurrentEntity.Position.xz) < Settings.GameplaySettings.WormholeExitRadius)) continue;
+ EnterWormhole(wormhole);
}
};
@@ -625,6 +558,30 @@ public class ActionGameManager : MonoBehaviour
});
}
+ private void EnterWormhole(Wormhole wormhole)
+ {
+ if (!(CurrentEntity is Ship ship)) return;
+ // var wormholeCameraFollow = new GameObject("Wormhole Camera Follow").transform;
+ // wormholeCameraFollow.position = new Vector3(wormhole.Position.x, -50, wormhole.Position.y);
+ // wormholeCameraFollow.rotation = Quaternion.LookRotation(Vector3.down, ship.LookDirection);
+ // WormholeCamera.enabled = true;
+ // WormholeCamera.Follow = wormholeCameraFollow;
+ // FollowCamera.enabled = false;
+ ship.EnterWormhole(wormhole.Position);
+ ship.OnEnteredWormhole += () =>
+ {
+ var oldZone = Zone;
+ PopulateLevel(wormhole.Target);
+ foreach (var zone in wormhole.Target.AdjacentZones)
+ CurrentSector.DiscoveredZones.Add(zone);
+ SectorMap.QueueZoneReveal(wormhole.Target.AdjacentZones);
+ ship.ExitWormhole(ZoneRenderer.WormholeInstances.Keys.First(w => w.Target == oldZone.SectorZone).Position,
+ Settings.GameplaySettings.WormholeExitVelocity * ItemManager.Random.NextFloat2Direction());
+ CurrentEntity.Zone = Zone;
+ SaveState();
+ };
+ }
+
public void PopulateLevel(SectorZone sectorZone)
{
if (sectorZone == null) throw new ArgumentNullException(nameof(sectorZone));
@@ -661,11 +618,36 @@ public class ActionGameManager : MonoBehaviour
}
}
+ private void ToggleMenuTab(MenuTab tab)
+ {
+ if (EventSystem.current.currentSelectedGameObject?.GetComponent() != null) return;
+ if (MainMenu.gameObject.activeSelf) return;
+ if (Menu.gameObject.activeSelf && Menu.CurrentTab == tab)
+ {
+ Cursor.lockState = CursorLockMode.Locked;
+ Menu.gameObject.SetActive(false);
+ if (CurrentEntity != null && CurrentEntity.Parent == null)
+ {
+ Input.Player.Enable();
+ GameplayUI.gameObject.SetActive(true);
+
+ SchematicDisplay.ShowShip(CurrentEntity);
+ ShipPanel.Display(CurrentEntity, true);
+ }
+ return;
+ }
+
+ Cursor.lockState = CursorLockMode.None;
+ Input.Player.Disable();
+ Menu.ShowTab(tab);
+ GameplayUI.gameObject.SetActive(false);
+ }
+
private void StartGame()
{
if (CurrentSector != null)
{
- if (PlayerSettings.CurrentRun == null)
+ if (PlayerSettings.SavedRun == null)
{
SectorMap.QueueZoneReveal(CurrentSector.Entrance.AdjacentZones.Prepend(CurrentSector.Entrance));
PopulateLevel(CurrentSector.Entrance);
@@ -688,8 +670,8 @@ public class ActionGameManager : MonoBehaviour
foreach(var group in CurrentSector.DiscoveredZones
.GroupBy(dz=>dz.Distance[CurrentSector.Entrance]))
SectorMap.QueueZoneReveal(group);
- PopulateLevel(CurrentSector.Zones[PlayerSettings.CurrentRun.CurrentZone]);
- var targetEntity = Zone.Entities[PlayerSettings.CurrentRun.CurrentZoneEntity];
+ PopulateLevel(CurrentSector.Zones[PlayerSettings.SavedRun.CurrentZone]);
+ var targetEntity = Zone.Entities[PlayerSettings.SavedRun.CurrentZoneEntity];
if (targetEntity is OrbitalEntity orbitalEntity)
{
CurrentEntity = targetEntity.Children.First(c => c is Ship {IsPlayerShip: true});
@@ -913,42 +895,7 @@ public class ActionGameManager : MonoBehaviour
_visibleHostileIndicators.Remove(removeEvent.Value);
}));
- _shipSubscriptions.Add(CurrentEntity.Death.Subscribe(cause =>
- {
- var deathTime = Time.time;
- UnbindEntity();
- CurrentEntity = null;
- VolumeRenderer.EnableDepth = false;
- MainMenu.gameObject.SetActive(true);
- Menu.gameObject.SetActive(false);
- PlayerSettings.CurrentRun = null;
- SavePlayerSettings();
- Observable.EveryUpdate()
- .Where(_ => Time.time - deathTime < DeathPPTransitionTime)
- .Subscribe(_ =>
- {
- var t = (Time.time - deathTime) / DeathPPTransitionTime;
- if(cause==CauseOfDeath.Heatstroke)
- {
- HeatstrokePP.weight = 1 - t;
- SevereHeatstrokePP.weight = 1 - t;
- }
- else if (cause == CauseOfDeath.Hypothermia)
- {
- HypothermiaPP.weight = 1 - t;
- SevereHypothermiaPP.weight = 1 - t;
- }
- DeathPP.weight = t;
- },
- () =>
- {
- HeatstrokePP.weight = 0;
- SevereHeatstrokePP.weight = 0;
- HypothermiaPP.weight = 0;
- SevereHypothermiaPP.weight = 0;
- DeathPP.weight = 1;
- });
- }));
+ _shipSubscriptions.Add(CurrentEntity.Death.Subscribe(Die));
_lockingIndicators = CurrentEntity.GetBehaviors()
.Select(x =>
@@ -958,6 +905,43 @@ public class ActionGameManager : MonoBehaviour
}).ToArray();
}
+ private void Die(CauseOfDeath cause)
+ {
+ var deathTime = Time.time;
+ UnbindEntity();
+ CurrentEntity = null;
+ VolumeRenderer.EnableDepth = false;
+ MainMenu.gameObject.SetActive(true);
+ Menu.gameObject.SetActive(false);
+ CurrentSector = null;
+ SavePlayerSettings();
+ Observable.EveryUpdate()
+ .Where(_ => Time.time - deathTime < DeathPPTransitionTime)
+ .Subscribe(_ =>
+ {
+ var t = (Time.time - deathTime) / DeathPPTransitionTime;
+ if(cause==CauseOfDeath.Heatstroke)
+ {
+ HeatstrokePP.weight = 1 - t;
+ SevereHeatstrokePP.weight = 1 - t;
+ }
+ else if (cause == CauseOfDeath.Hypothermia)
+ {
+ HypothermiaPP.weight = 1 - t;
+ SevereHypothermiaPP.weight = 1 - t;
+ }
+ DeathPP.weight = t;
+ },
+ () =>
+ {
+ HeatstrokePP.weight = 0;
+ SevereHeatstrokePP.weight = 0;
+ HypothermiaPP.weight = 0;
+ SevereHypothermiaPP.weight = 0;
+ DeathPP.weight = 1;
+ });
+ }
+
public void SaveZone(string name) => File.WriteAllBytes(
Path.Combine(_gameDataDirectory.FullName, $"{name}.zone"), MessagePackSerializer.Serialize(Zone.PackZone()));
diff --git a/Assets/Scripts/ServerShared/AetheriaMath.cs b/Assets/Scripts/ServerShared/AetheriaMath.cs
index 0080b3a80..0056ade65 100644
--- a/Assets/Scripts/ServerShared/AetheriaMath.cs
+++ b/Assets/Scripts/ServerShared/AetheriaMath.cs
@@ -12,6 +12,16 @@ public static class AetheriaMath
{
return source * exp(-lambda * dt);
}
+
+ public static float3 Decay(float3 source, float lambda, float dt)
+ {
+ return source * exp(-lambda * dt);
+ }
+
+ public static float3 Decay(float3 source, float3 lambda, float dt)
+ {
+ return source * exp(-lambda * dt);
+ }
public static float Damp(float a, float b, float lambda, float dt)
{
diff --git a/Assets/Scripts/ServerShared/Behaviors/AetherDrive.cs b/Assets/Scripts/ServerShared/Behaviors/AetherDrive.cs
new file mode 100644
index 000000000..130f3868c
--- /dev/null
+++ b/Assets/Scripts/ServerShared/Behaviors/AetherDrive.cs
@@ -0,0 +1,121 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
+
+using MessagePack;
+using Newtonsoft.Json;
+using Unity.Mathematics;
+using static Unity.Mathematics.math;
+
+[Inspectable, MessagePackObject, JsonObject(MemberSerialization.OptIn), EntityTypeRestriction(HullType.Ship), RuntimeInspectable]
+public class AetherDriveData : BehaviorData
+{
+ [Inspectable, JsonProperty("diameters"), Key(1)]
+ public float3 RotorDiameter;
+
+ [Inspectable, JsonProperty("masses"), Key(2)]
+ public float3 RotorMass;
+
+ [Inspectable, JsonProperty("rpm"), Key(3), RuntimeInspectable]
+ public PerformanceStat MaximumRpm;
+
+ [Inspectable, JsonProperty("couplingLambdas"), Key(4)]
+ public float3 CouplingLambda;
+
+ [Inspectable, JsonProperty("couplingEfficiency"), Key(5), RuntimeInspectable]
+ public PerformanceStat CouplingEfficiency;
+
+ [Inspectable, JsonProperty("torque"), Key(6), RuntimeInspectable]
+ public PerformanceStat Torque;
+
+ [Inspectable, JsonProperty("torqueProfile"), Key(7), RuntimeInspectable]
+ public BezierCurve TorqueProfile;
+
+ [Inspectable, JsonProperty("draw"), Key(8), RuntimeInspectable]
+ public PerformanceStat EnergyDraw;
+
+ [Inspectable, JsonProperty("passiveCoupling"), Key(9), RuntimeInspectable]
+ public PerformanceStat PassiveCoupling;
+
+ public override IBehavior CreateInstance(EquippedItem item)
+ {
+ return new AetherDrive(this, item);
+ }
+}
+
+public class AetherDrive : IBehavior
+{
+ private AetherDriveData _data;
+ private float3 _axis;
+
+ public EquippedItem Item { get; }
+ public float3 Thrust { get; private set; }
+ public float3 Rpm { get; private set; }
+ public float MaximumRpm { get; private set; }
+
+ public BehaviorData Data => _data;
+ public AetherDriveData DriveData => _data;
+
+ public float3 Axis
+ {
+ get => _axis;
+ set => _axis = clamp(value, -1, 1);
+ }
+
+ public AetherDrive(AetherDriveData data, EquippedItem item)
+ {
+ _data = data;
+ Item = item;
+ }
+
+ public bool Execute(float dt)
+ {
+ var rotorSpeed = Rpm * _data.RotorDiameter / 100;
+
+ var forward = normalize(Item.Entity.Direction);
+ var right = forward.Rotate(ItemRotation.Clockwise);
+
+ var speed = float2(dot(Item.Entity.Velocity, forward), dot(Item.Entity.Velocity, right));
+ var couplingEfficiency = Item.Evaluate(_data.CouplingEfficiency);
+ var efficiency = float3(saturate(1 - speed / max(rotorSpeed.xy, 1) * sign(_axis.xy)) * couplingEfficiency, 1);
+
+ Thrust = (Rpm - AetheriaMath.Decay(Rpm, _data.CouplingLambda, dt)) * _data.RotorMass * efficiency;
+
+ var couplingLambda = _data.CouplingLambda * max(abs(_axis), Item.Evaluate(_data.PassiveCoupling));
+ var previousRpm = Rpm;
+ Rpm = AetheriaMath.Decay(Rpm, couplingLambda, dt);
+ var rpmLoss = previousRpm - Rpm;
+ var force = rpmLoss * _data.RotorMass * efficiency;
+
+ var heat = rpmLoss * _data.RotorMass * (1 - couplingEfficiency);
+ Item.AddHeat((heat.x + heat.y + heat.z)*Item.ItemManager.GameplaySettings.AetherHeatMultiplier);
+
+ Item.Entity.Velocity += forward * (_axis.x * force.x / Item.Entity.Mass);
+ Item.Entity.Velocity += right * (_axis.y * force.y / Item.Entity.Mass);
+ Item.Entity.Direction = mul(Item.Entity.Direction,
+ Unity.Mathematics.float2x2.Rotate(force.z * _axis.z * Item.ItemManager.GameplaySettings.AetherTorqueMultiplier / Item.Entity.Mass));
+
+ if(float.IsNaN(Item.Entity.Velocity.x))
+ Item.ItemManager.Log("FUCK FUCK FUCK FUCK");
+
+ MaximumRpm = Item.Evaluate(_data.MaximumRpm);
+ var torqueProfile = float3(
+ _data.TorqueProfile.Evaluate(Rpm.x / MaximumRpm),
+ _data.TorqueProfile.Evaluate(Rpm.y / MaximumRpm),
+ _data.TorqueProfile.Evaluate(Rpm.z / MaximumRpm));
+ var potentialTorque = Item.Evaluate(_data.Torque) * torqueProfile;
+ var potentialRpmDelta = potentialTorque / length(_data.RotorMass) * dt;
+ var actualRpmDelta = min(MaximumRpm - Rpm, potentialRpmDelta);
+ var torqueRatio = actualRpmDelta / potentialRpmDelta;
+ var draw = torqueRatio * Item.Evaluate(_data.EnergyDraw) / 3;
+
+ if (Item.Entity.TryConsumeEnergy((draw.x + draw.y + draw.z)*dt))
+ {
+ Rpm += actualRpmDelta;
+ return true;
+ }
+
+
+ return false;
+ }
+}
\ No newline at end of file
diff --git a/Assets/Scripts/ServerShared/Behaviors/AetherDrive.cs.meta b/Assets/Scripts/ServerShared/Behaviors/AetherDrive.cs.meta
new file mode 100644
index 000000000..96fd33b04
--- /dev/null
+++ b/Assets/Scripts/ServerShared/Behaviors/AetherDrive.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 2022c838bbc64a0d86cfbd477e6a379c
+timeCreated: 1618332827
\ No newline at end of file
diff --git a/Assets/Scripts/ServerShared/Behaviors/AutoWeapon.cs b/Assets/Scripts/ServerShared/Behaviors/AutoWeapon.cs
index 1d744209b..f1edb9c78 100644
--- a/Assets/Scripts/ServerShared/Behaviors/AutoWeapon.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/AutoWeapon.cs
@@ -22,11 +22,11 @@ public class AutoWeapon : InstantWeapon
{
}
- public override bool Execute(float delta)
+ public override bool Execute(float dt)
{
if(_firing && _burstRemaining == 0 && _cooldown < 0)
Trigger();
- return base.Execute(delta);
+ return base.Execute(dt);
}
}
diff --git a/Assets/Scripts/ServerShared/Behaviors/Behaviors.cs b/Assets/Scripts/ServerShared/Behaviors/Behaviors.cs
index d79d9c3fd..aef3e82ab 100644
--- a/Assets/Scripts/ServerShared/Behaviors/Behaviors.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/Behaviors.cs
@@ -15,7 +15,7 @@ using static Unity.Mathematics.noise;
public interface IBehavior
{
- bool Execute(float delta);
+ bool Execute(float dt);
BehaviorData Data { get; }
}
@@ -96,7 +96,7 @@ public abstract class PersistentBehaviorData
Union(9, typeof(WearData)),
Union(10, typeof(VelocityConversionData)),
Union(11, typeof(VelocityLimitData)),
- // Union(13, typeof(PatrolControllerData)),
+ Union(12, typeof(AetherDriveData)),
// Union(14, typeof(TowingControllerData)),
Union(15, typeof(CooldownData)),
Union(16, typeof(HeatData)),
diff --git a/Assets/Scripts/ServerShared/Behaviors/Capacitor.cs b/Assets/Scripts/ServerShared/Behaviors/Capacitor.cs
index a75a53105..e6eade882 100644
--- a/Assets/Scripts/ServerShared/Behaviors/Capacitor.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/Capacitor.cs
@@ -47,7 +47,7 @@ public class Capacitor : IBehavior
Item = item;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
Capacity = Item.Evaluate(_data.Capacity);
Efficiency = Item.Evaluate(_data.Efficiency);
diff --git a/Assets/Scripts/ServerShared/Behaviors/ChargedWeapon.cs b/Assets/Scripts/ServerShared/Behaviors/ChargedWeapon.cs
index 8ddd997e9..ca0c909f4 100644
--- a/Assets/Scripts/ServerShared/Behaviors/ChargedWeapon.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/ChargedWeapon.cs
@@ -112,14 +112,14 @@ public class ChargedWeapon : InstantWeapon, IEventBehavior
Velocity *= lerp(1, _data.ChargeFiringVelocityMultiplier, saturate(_charge));
}
- public override bool Execute(float delta)
+ public override bool Execute(float dt)
{
if (_charging)
{
- _charge += delta / ChargeTime;
+ _charge += dt / ChargeTime;
if (!_charged)
{
- Item.AddHeat(ChargeHeat * (delta / ChargeTime));
+ Item.AddHeat(ChargeHeat * (dt / ChargeTime));
if(_charge > 1)
{
_charged = true;
@@ -136,7 +136,7 @@ public class ChargedWeapon : InstantWeapon, IEventBehavior
Item.EquippableItem.Durability -= _data.FailureDamage;
}
}
- return base.Execute(delta);
+ return base.Execute(dt);
}
public override void Activate()
diff --git a/Assets/Scripts/ServerShared/Behaviors/Cockpit.cs b/Assets/Scripts/ServerShared/Behaviors/Cockpit.cs
index 528e664d9..372d11d32 100644
--- a/Assets/Scripts/ServerShared/Behaviors/Cockpit.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/Cockpit.cs
@@ -32,7 +32,7 @@ public class Cockpit : IBehavior
Item = item;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
return true;
}
diff --git a/Assets/Scripts/ServerShared/Behaviors/ConstantWeapon.cs b/Assets/Scripts/ServerShared/Behaviors/ConstantWeapon.cs
index af35f25e5..473ed5eba 100644
--- a/Assets/Scripts/ServerShared/Behaviors/ConstantWeapon.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/ConstantWeapon.cs
@@ -62,12 +62,12 @@ public class ConstantWeapon : Weapon, IProgressBehavior, IEventBehavior
_data = data;
}
- public override bool Execute(float delta)
+ public override bool Execute(float dt)
{
- base.Execute(delta);
+ base.Execute(dt);
if (_firing)
{
- if (!Item.Entity.TryConsumeEnergy(Item.Evaluate(_data.Energy) * delta))
+ if (!Item.Entity.TryConsumeEnergy(Item.Evaluate(_data.Energy) * dt))
{
_firing = false;
OnStopFiring?.Invoke();
@@ -77,7 +77,7 @@ public class ConstantWeapon : Weapon, IProgressBehavior, IEventBehavior
{
if (_reloading)
{
- _reload -= delta / _data.ReloadTime;
+ _reload -= dt / _data.ReloadTime;
if (_reload < 0)
{
_reloading = false;
@@ -86,7 +86,7 @@ public class ConstantWeapon : Weapon, IProgressBehavior, IEventBehavior
return false;
}
- _ammoInterval -= delta / _data.AmmoInterval;
+ _ammoInterval -= dt / _data.AmmoInterval;
if (_ammoInterval < 0)
{
_ammoInterval = 1;
@@ -115,10 +115,10 @@ public class ConstantWeapon : Weapon, IProgressBehavior, IEventBehavior
}
}
- var dmg = Item.Wear * delta;
+ var dmg = Item.Wear * dt;
Item.EquippableItem.Durability -= dmg;
Item.Entity.ItemDamage.OnNext((Item, dmg));
- Item.AddHeat(Item.Evaluate(_data.Heat) * delta);
+ Item.AddHeat(Item.Evaluate(_data.Heat) * dt);
Item.Entity.VisibilitySources[this] = Item.Evaluate(_data.Visibility);
}
return true;
diff --git a/Assets/Scripts/ServerShared/Behaviors/Cooldown.cs b/Assets/Scripts/ServerShared/Behaviors/Cooldown.cs
index 0b63b2f79..47f6da01f 100644
--- a/Assets/Scripts/ServerShared/Behaviors/Cooldown.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/Cooldown.cs
@@ -38,7 +38,7 @@ public class Cooldown : IBehavior, IAlwaysUpdatedBehavior, IProgressBehavior
Item = item;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
if (_cooldown < 0)
{
diff --git a/Assets/Scripts/ServerShared/Behaviors/EnergyDraw.cs b/Assets/Scripts/ServerShared/Behaviors/EnergyDraw.cs
index 909c7e9d1..382139155 100644
--- a/Assets/Scripts/ServerShared/Behaviors/EnergyDraw.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/EnergyDraw.cs
@@ -36,8 +36,8 @@ public class EnergyDraw : IBehavior
Item = item;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
- return Item.Entity.TryConsumeEnergy(Item.Evaluate(_data.EnergyDraw) * (_data.PerSecond ? delta : 1));
+ return Item.Entity.TryConsumeEnergy(Item.Evaluate(_data.EnergyDraw) * (_data.PerSecond ? dt : 1));
}
}
\ No newline at end of file
diff --git a/Assets/Scripts/ServerShared/Behaviors/Heat.cs b/Assets/Scripts/ServerShared/Behaviors/Heat.cs
index 7bcd353bb..49c0082fb 100644
--- a/Assets/Scripts/ServerShared/Behaviors/Heat.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/Heat.cs
@@ -36,9 +36,9 @@ public class Heat : IBehavior
Item = item;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
- Item.AddHeat(Item.Evaluate(_data.Heat) * (_data.PerSecond ? delta : 1));
+ Item.AddHeat(Item.Evaluate(_data.Heat) * (_data.PerSecond ? dt : 1));
return true;
}
diff --git a/Assets/Scripts/ServerShared/Behaviors/HeatStorage.cs b/Assets/Scripts/ServerShared/Behaviors/HeatStorage.cs
index ba19424f2..956a65adf 100644
--- a/Assets/Scripts/ServerShared/Behaviors/HeatStorage.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/HeatStorage.cs
@@ -31,7 +31,7 @@ public class HeatStorage : IBehavior
Item = item;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
return true;
}
diff --git a/Assets/Scripts/ServerShared/Behaviors/InstantWeapon.cs b/Assets/Scripts/ServerShared/Behaviors/InstantWeapon.cs
index b2624ef72..e8a5637fa 100644
--- a/Assets/Scripts/ServerShared/Behaviors/InstantWeapon.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/InstantWeapon.cs
@@ -136,12 +136,12 @@ public class InstantWeapon : Weapon, IProgressBehavior, IEventBehavior
}
- public override bool Execute(float delta)
+ public override bool Execute(float dt)
{
- base.Execute(delta);
+ base.Execute(dt);
if (_coolingDown)
{
- _cooldown -= delta / (_data.MagazineSize > 0 && _ammo == 0 ? _data.ReloadTime : Cooldown);
+ _cooldown -= dt / (_data.MagazineSize > 0 && _ammo == 0 ? _data.ReloadTime : Cooldown);
if (_cooldown < 0)
{
_coolingDown = false;
@@ -155,7 +155,7 @@ public class InstantWeapon : Weapon, IProgressBehavior, IEventBehavior
}
}
- _burstTimer += delta;
+ _burstTimer += dt;
while (_burstRemaining > 0 && _burstTimer > 0)
{
// If multiple ammo is consumed per burst, perform ammo and energy consumption here
diff --git a/Assets/Scripts/ServerShared/Behaviors/ItemUsage.cs b/Assets/Scripts/ServerShared/Behaviors/ItemUsage.cs
index 8c29be978..52b05af7e 100644
--- a/Assets/Scripts/ServerShared/Behaviors/ItemUsage.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/ItemUsage.cs
@@ -33,7 +33,7 @@ public class ItemUsage : IBehavior
Item = item;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
var cargo = Item.Entity.FindItemInCargo(_data.Item);
if (cargo == null) return false;
diff --git a/Assets/Scripts/ServerShared/Behaviors/LockWeapon.cs b/Assets/Scripts/ServerShared/Behaviors/LockWeapon.cs
index 46a6bc5fa..fca86aebd 100644
--- a/Assets/Scripts/ServerShared/Behaviors/LockWeapon.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/LockWeapon.cs
@@ -61,7 +61,7 @@ public class LockWeapon : InstantWeapon
_data = data;
}
- public override bool Execute(float delta)
+ public override bool Execute(float dt)
{
if (_target != Item.Entity.Target.Value)
{
@@ -81,12 +81,12 @@ public class LockWeapon : InstantWeapon
if (degrees < LockAngle)
{
var lerp = 1 - unlerp(0, 90, degrees);
- _lock = saturate(_lock + pow(lerp, DirectionImpact) * delta * LockSpeed * pow(Item.Entity.EntityInfoGathered[Item.Entity.Target.Value], SensorImpact));
+ _lock = saturate(_lock + pow(lerp, DirectionImpact) * dt * LockSpeed * pow(Item.Entity.EntityInfoGathered[Item.Entity.Target.Value], SensorImpact));
}
- else _lock = saturate(_lock - delta * Decay);
+ else _lock = saturate(_lock - dt * Decay);
}
- return base.Execute(delta);
+ return base.Execute(dt);
}
}
diff --git a/Assets/Scripts/ServerShared/Behaviors/MiningTool.cs b/Assets/Scripts/ServerShared/Behaviors/MiningTool.cs
index 413c11ac4..40426583a 100644
--- a/Assets/Scripts/ServerShared/Behaviors/MiningTool.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/MiningTool.cs
@@ -48,7 +48,7 @@ public class MiningTool : IBehavior
Item = item;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
Range = Item.Evaluate(_data.Range);
var belt = Item.Entity.Zone.AsteroidBelts[AsteroidBelt];
@@ -60,7 +60,7 @@ public class MiningTool : IBehavior
Item.Entity,
AsteroidBelt,
Asteroid,
- Item.Evaluate(_data.DamagePerSecond) * delta,
+ Item.Evaluate(_data.DamagePerSecond) * dt,
Item.Evaluate(_data.Efficiency),
Item.Evaluate(_data.Penetration));
return true;
diff --git a/Assets/Scripts/ServerShared/Behaviors/Radiator.cs b/Assets/Scripts/ServerShared/Behaviors/Radiator.cs
index 164bf4175..e5a9065e5 100644
--- a/Assets/Scripts/ServerShared/Behaviors/Radiator.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/Radiator.cs
@@ -51,7 +51,7 @@ public class Radiator : IBehavior, IAlwaysUpdatedBehavior, IInitializableBehavio
Item = item;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
PumpedHeat = Item.Evaluate(_data.PumpedHeat);
WasteHeat = Item.Evaluate(_data.WasteHeat);
@@ -63,7 +63,7 @@ public class Radiator : IBehavior, IAlwaysUpdatedBehavior, IInitializableBehavio
// Temperature ratio would cause more waste heat than pump capacity, stop executing
if (tempRatio > PumpedHeat / WasteHeat) return true;
- if (!Item.Entity.TryConsumeEnergy(EnergyUsage * tempRatio * delta)) return false;
+ if (!Item.Entity.TryConsumeEnergy(EnergyUsage * tempRatio * dt)) return false;
var pumpedHeat = PumpedHeat * max(itemTemperature - _data.TemperatureFloor, 0);
@@ -72,8 +72,8 @@ public class Radiator : IBehavior, IAlwaysUpdatedBehavior, IInitializableBehavio
var wasteHeat = WasteHeat * tempRatio;
- Item.AddHeat((wasteHeat - pumpedHeat) * delta);
- Temperature += pumpedHeat / Item.ItemManager.GetThermalMass(Item.EquippableItem) * delta;
+ Item.AddHeat((wasteHeat - pumpedHeat) * dt);
+ Temperature += pumpedHeat / Item.ItemManager.GetThermalMass(Item.EquippableItem) * dt;
return true;
}
diff --git a/Assets/Scripts/ServerShared/Behaviors/Reactor.cs b/Assets/Scripts/ServerShared/Behaviors/Reactor.cs
index ca7859a6b..20df3c4a7 100644
--- a/Assets/Scripts/ServerShared/Behaviors/Reactor.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/Reactor.cs
@@ -71,9 +71,9 @@ public class Reactor : IBehavior, IOrderedBehavior
Draw += energy;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
- var charge = Item.Evaluate(_data.Charge) * delta;
+ var charge = Item.Evaluate(_data.Charge) * dt;
var efficiency = Item.Evaluate(_data.Efficiency);
// This behavior executes last, so any components drawing power have already done so
diff --git a/Assets/Scripts/ServerShared/Behaviors/Reflector.cs b/Assets/Scripts/ServerShared/Behaviors/Reflector.cs
index 01482a022..eea92e1be 100644
--- a/Assets/Scripts/ServerShared/Behaviors/Reflector.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/Reflector.cs
@@ -36,7 +36,7 @@ public class Reflector : IBehavior
Item = item;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
Item.Entity.VisibilitySources[this] = Item.Evaluate(_data.CrossSection) * Item.Entity.Zone.GetLight(Item.Entity.Position.xz);
diff --git a/Assets/Scripts/ServerShared/Behaviors/ResourceScanner.cs b/Assets/Scripts/ServerShared/Behaviors/ResourceScanner.cs
index 571cf52fe..452885047 100644
--- a/Assets/Scripts/ServerShared/Behaviors/ResourceScanner.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/ResourceScanner.cs
@@ -61,7 +61,7 @@ public class ResourceScanner : IBehavior, IAlwaysUpdatedBehavior
Item = item;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
var planetData = Item.Entity.Zone.Planets[ScanTarget];
if (planetData != null)
@@ -72,7 +72,7 @@ public class ResourceScanner : IBehavior, IAlwaysUpdatedBehavior
Asteroid < beltData.Asteroids.Length &&
length(Item.Entity.Position.xz - Item.Entity.Zone.AsteroidBelts[ScanTarget].Positions[Asteroid].xz) < Range)
{
- _scanTime += delta;
+ _scanTime += dt;
if (_scanTime > ScanDuration)
{
// TODO: Implement Scanning!
@@ -86,7 +86,7 @@ public class ResourceScanner : IBehavior, IAlwaysUpdatedBehavior
{
if(length(Item.Entity.Position.xz - Item.Entity.Zone.GetOrbitPosition(planetData.Orbit)) < Range)
{
- _scanTime += delta;
+ _scanTime += dt;
if (_scanTime > ScanDuration)
{
//Context.ItemData.Get(Entity.Corporation).PlanetSurveyFloor[ScanTarget] = MinimumDensity;
diff --git a/Assets/Scripts/ServerShared/Behaviors/Sensor.cs b/Assets/Scripts/ServerShared/Behaviors/Sensor.cs
index 2bf78c9a0..c1456302e 100644
--- a/Assets/Scripts/ServerShared/Behaviors/Sensor.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/Sensor.cs
@@ -99,11 +99,11 @@ public class Sensor : IBehavior, IEventBehavior
Item = item;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
if (_pinging)
{
- _pingLerp += delta / _data.PingDuration;
+ _pingLerp += dt / _data.PingDuration;
_pingRadius = lerp(0, Item.Evaluate(_data.PingRange), pow(_pingLerp, _data.PingRadiusExponent));
if (_pingLerp > 1)
{
@@ -112,7 +112,7 @@ public class Sensor : IBehavior, IEventBehavior
}
}
- _pingCooldown -= delta / Item.Evaluate(_data.PingCooldown);
+ _pingCooldown -= dt / Item.Evaluate(_data.PingCooldown);
// TODO: Handle Active Detection / Visibility From Reflected Radiance
var hardpoint = Item.Entity.Hardpoints[Item.Position.x, Item.Position.y];
@@ -145,9 +145,9 @@ public class Sensor : IBehavior, IEventBehavior
entity.Visibility *
Item.Evaluate(_data.Sensitivity) *
_data.SensitivityCurve.Evaluate(angle / PI) *
- delta / dist);
+ dt / dist);
}
- next *= 1 - Item.ItemManager.GameplaySettings.TargetInfoDecay * delta;
+ next *= 1 - Item.ItemManager.GameplaySettings.TargetInfoDecay * dt;
//Context.Log($"{entity.Name} visibility {(int)(previous * 100)}% -> {(int)(next * 100)}%");
Item.Entity.EntityInfoGathered[entity] = next;
}
diff --git a/Assets/Scripts/ServerShared/Behaviors/Shield.cs b/Assets/Scripts/ServerShared/Behaviors/Shield.cs
index 0ef02801c..a1dc6069e 100644
--- a/Assets/Scripts/ServerShared/Behaviors/Shield.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/Shield.cs
@@ -39,7 +39,7 @@ public class Shield : IBehavior
Item = item;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
Efficiency = Item.Evaluate(_data.Efficiency);
EnergyUsage = Item.Evaluate(_data.EnergyUsage);
diff --git a/Assets/Scripts/ServerShared/Behaviors/StatModifier.cs b/Assets/Scripts/ServerShared/Behaviors/StatModifier.cs
index e40dd3b44..f065f96ca 100644
--- a/Assets/Scripts/ServerShared/Behaviors/StatModifier.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/StatModifier.cs
@@ -77,7 +77,7 @@ public class StatModifier : IBehavior, IInitializableBehavior, IDisposableBehavi
}
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
foreach (var stat in _stats)
(_data.Type == StatModifierType.Constant
diff --git a/Assets/Scripts/ServerShared/Behaviors/Switch.cs b/Assets/Scripts/ServerShared/Behaviors/Switch.cs
index 9d5686ae4..41d6d019a 100644
--- a/Assets/Scripts/ServerShared/Behaviors/Switch.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/Switch.cs
@@ -32,7 +32,7 @@ public class Switch : IBehavior
Item = item;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
return Activated;
}
diff --git a/Assets/Scripts/ServerShared/Behaviors/Thermotoggle.cs b/Assets/Scripts/ServerShared/Behaviors/Thermotoggle.cs
index 4fe226352..cdb1d7e49 100644
--- a/Assets/Scripts/ServerShared/Behaviors/Thermotoggle.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/Thermotoggle.cs
@@ -42,7 +42,7 @@ public class Thermotoggle : IBehavior
TargetTemperature = data.TargetTemperature;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
return Item.Temperature < TargetTemperature ^ _data.HighPass;
}
diff --git a/Assets/Scripts/ServerShared/Behaviors/Thruster.cs b/Assets/Scripts/ServerShared/Behaviors/Thruster.cs
index ab3e68f87..601d3be99 100644
--- a/Assets/Scripts/ServerShared/Behaviors/Thruster.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/Thruster.cs
@@ -63,15 +63,15 @@ public class Thruster : IAnalogBehavior
Thrust = Item.Evaluate(_data.Thrust);
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
if(_input > .01f && Item.Entity.TryConsumeEnergy(_input * Item.Evaluate(_data.EnergyUsage)))
{
Thrust = Item.Evaluate(_data.Thrust);
- Item.Entity.Velocity -= Item.Entity.Direction.Rotate(Item.EquippableItem.Rotation) * _input * Thrust / Item.Entity.Mass * delta;
+ Item.Entity.Velocity -= Item.Entity.Direction.Rotate(Item.EquippableItem.Rotation) * _input * Thrust / Item.Entity.Mass * dt;
Item.Entity.Direction = mul(Item.Entity.Direction,
- Unity.Mathematics.float2x2.Rotate(_input * Torque * Thrust * Item.ItemManager.GameplaySettings.TorqueMultiplier / Item.Entity.Mass * delta));
- Item.AddHeat(_input * Item.Evaluate(_data.Heat) * delta);
+ Unity.Mathematics.float2x2.Rotate(_input * Torque * Thrust * Item.ItemManager.GameplaySettings.TorqueMultiplier / Item.Entity.Mass * dt));
+ Item.AddHeat(_input * Item.Evaluate(_data.Heat) * dt);
var vis = _input * Item.Evaluate(_data.Visibility);
if (!Item.Entity.VisibilitySources.ContainsKey(this) || vis > Item.Entity.VisibilitySources[this])
Item.Entity.VisibilitySources[this] = vis;
diff --git a/Assets/Scripts/ServerShared/Behaviors/Trigger.cs b/Assets/Scripts/ServerShared/Behaviors/Trigger.cs
index 007588214..d70111c97 100644
--- a/Assets/Scripts/ServerShared/Behaviors/Trigger.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/Trigger.cs
@@ -32,7 +32,7 @@ public class Trigger : IBehavior, IActivatedBehavior
Item = item;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
if (_pulled)
{
diff --git a/Assets/Scripts/ServerShared/Behaviors/TurretController.cs b/Assets/Scripts/ServerShared/Behaviors/TurretController.cs
index c13ea7df8..a7d9b0801 100644
--- a/Assets/Scripts/ServerShared/Behaviors/TurretController.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/TurretController.cs
@@ -65,7 +65,7 @@ public class TurretController : IBehavior
}
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
if (Item.Entity.Target.Value != null)
{
diff --git a/Assets/Scripts/ServerShared/Behaviors/VelocityConversion.cs b/Assets/Scripts/ServerShared/Behaviors/VelocityConversion.cs
index 4214c7955..2e6d61c15 100644
--- a/Assets/Scripts/ServerShared/Behaviors/VelocityConversion.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/VelocityConversion.cs
@@ -33,7 +33,7 @@ public class VelocityConversion : IBehavior
Item = item;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
return true;
}
diff --git a/Assets/Scripts/ServerShared/Behaviors/VelocityLimit.cs b/Assets/Scripts/ServerShared/Behaviors/VelocityLimit.cs
index 72e9cdaf1..78cc75935 100644
--- a/Assets/Scripts/ServerShared/Behaviors/VelocityLimit.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/VelocityLimit.cs
@@ -37,7 +37,7 @@ public class VelocityLimit : IBehavior
Limit = Item.Evaluate(_data.TopSpeed);
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
Limit = Item.Evaluate(_data.TopSpeed);
if (length(Item.Entity.Velocity) > Limit)
diff --git a/Assets/Scripts/ServerShared/Behaviors/Visibility.cs b/Assets/Scripts/ServerShared/Behaviors/Visibility.cs
index c075e4ee6..57c31ab8d 100644
--- a/Assets/Scripts/ServerShared/Behaviors/Visibility.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/Visibility.cs
@@ -38,7 +38,7 @@ public class Visibility : IBehavior
Item = item;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
Item.Entity.VisibilitySources[this] = Item.Evaluate(_data.Visibility);
return true;
diff --git a/Assets/Scripts/ServerShared/Behaviors/Weapon.cs b/Assets/Scripts/ServerShared/Behaviors/Weapon.cs
index a5b923011..3a7ebe28e 100644
--- a/Assets/Scripts/ServerShared/Behaviors/Weapon.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/Weapon.cs
@@ -118,7 +118,7 @@ public abstract class Weapon : IActivatedBehavior
Velocity = Item.Evaluate(_data.Velocity);
}
- public virtual bool Execute(float delta)
+ public virtual bool Execute(float dt)
{
UpdateStats();
return true;
diff --git a/Assets/Scripts/ServerShared/Behaviors/Wear.cs b/Assets/Scripts/ServerShared/Behaviors/Wear.cs
index 224fc1f20..4e9ccee87 100644
--- a/Assets/Scripts/ServerShared/Behaviors/Wear.cs
+++ b/Assets/Scripts/ServerShared/Behaviors/Wear.cs
@@ -34,11 +34,11 @@ public class Wear : IBehavior
Item = item;
}
- public bool Execute(float delta)
+ public bool Execute(float dt)
{
if (_data.PerSecond)
{
- var dmg = Item.Wear * delta;
+ var dmg = Item.Wear * dt;
Item.EquippableItem.Durability -= dmg;
Item.Entity.ItemDamage.OnNext((Item, dmg));
}
diff --git a/Assets/Scripts/ServerShared/Enums.cs b/Assets/Scripts/ServerShared/Enums.cs
index aeb4bde24..bc44b397a 100644
--- a/Assets/Scripts/ServerShared/Enums.cs
+++ b/Assets/Scripts/ServerShared/Enums.cs
@@ -41,7 +41,7 @@ public enum HardpointType
Tool,
Thermal,
Thruster,
- WarpThruster,
+ WarpDrive,
Reactor,
Radiator,
Shield,
@@ -49,7 +49,8 @@ public enum HardpointType
Energy,
Ballistic,
Launcher,
- ControlModule
+ ControlModule,
+ AetherDrive
}
public enum WeaponType
diff --git a/Assets/Scripts/ServerShared/ItemData.cs b/Assets/Scripts/ServerShared/ItemData.cs
index 05d26a8f0..df8d9a81c 100644
--- a/Assets/Scripts/ServerShared/ItemData.cs
+++ b/Assets/Scripts/ServerShared/ItemData.cs
@@ -430,6 +430,9 @@ public class HullData : EquippableItemData
[Inspectable, JsonProperty("armor"), Key(24)]
public float Armor;
+ [Inspectable, JsonProperty("drag"), Key(25)]
+ public float Drag;
+
[IgnoreMember]
public Shape InteriorCells
{
diff --git a/Assets/Scripts/ServerShared/LoadoutGenerator.cs b/Assets/Scripts/ServerShared/LoadoutGenerator.cs
index 2ac662de3..e0999e55f 100644
--- a/Assets/Scripts/ServerShared/LoadoutGenerator.cs
+++ b/Assets/Scripts/ServerShared/LoadoutGenerator.cs
@@ -70,8 +70,9 @@ public class LoadoutGenerator
}
var cargo = entity.CargoBays.First();
- var inventory = RandomItems(16, 1,
- data => !(data is HullData hull && hull.HullType != HullType.Ship) && !(data is CargoBayData))
+ IEnumerable inventory = RandomItems(16, 1,
+ data => !(data is HullData hull && hull.HullType != HullType.Ship) && !(data is CargoBayData));
+ inventory = inventory
.OrderByDescending(item=>item.Shape.Coordinates.Length);
foreach (var item in inventory)
{
@@ -86,6 +87,7 @@ public class LoadoutGenerator
{
return ItemManager.ItemData.GetAll()
.Where(item =>
+ item.Price > 0 &&
(hullFilter?.Invoke(item) ?? true) &&
item.HullType == type &&
(Faction == null || item.Manufacturer == Faction.ID || Faction.Allegiance.ContainsKey(item.Manufacturer)))
@@ -101,9 +103,11 @@ public class LoadoutGenerator
public T[] RandomItems(int count, float sizeExponent, Predicate filter = null) where T : EquippableItemData
{
return ItemManager.ItemData.GetAll()
- .Where(item => Sector.ContainsFaction(item.Manufacturer) &&
- (Faction == null || Faction.Allegiance.ContainsKey(item.Manufacturer)) &&
- (filter?.Invoke(item) ?? true))
+ .Where(item =>
+ item.Price > 0 &&
+ Sector.ContainsFaction(item.Manufacturer) &&
+ (Faction == null || Faction.Allegiance.ContainsKey(item.Manufacturer)) &&
+ (filter?.Invoke(item) ?? true))
.WeightedRandomElements(ref Random, item =>
(Faction == null || item.Manufacturer == Faction.ID ? 1 : Faction.Allegiance[item.Manufacturer]) * // Prioritize items from allied manufacturers
pow(item.Shape.Coordinates.Length, sizeExponent) / // Prioritize larger items
diff --git a/Assets/Scripts/ServerShared/PlayerSettings.cs b/Assets/Scripts/ServerShared/PlayerSettings.cs
index daea4cb1b..b5d224e0a 100644
--- a/Assets/Scripts/ServerShared/PlayerSettings.cs
+++ b/Assets/Scripts/ServerShared/PlayerSettings.cs
@@ -6,7 +6,7 @@ using MessagePack;
public class PlayerSettings
{
[Key(0)] public string Name = "Anonymous";
- [Key(1)] public SavedGame CurrentRun;
+ [Key(1)] public SavedGame SavedRun;
[Key(2)] public TemperatureUnit TemperatureUnit = TemperatureUnit.Celsius;
[Key(3)] public int SignificantDigits = 3;
diff --git a/Assets/Scripts/ServerShared/Settings.cs b/Assets/Scripts/ServerShared/Settings.cs
index 8643cfe6c..0ebe881b8 100644
--- a/Assets/Scripts/ServerShared/Settings.cs
+++ b/Assets/Scripts/ServerShared/Settings.cs
@@ -176,6 +176,8 @@ public class GameplaySettings
public ExponentialLerp LockSpinSpeed;
public float TorqueFloor;
public float TorqueMultiplier;
+ public float AetherTorqueMultiplier;
+ public float AetherHeatMultiplier;
public float VisibilityDecay;
public float TargetInfoDecay;
public float TargetDetectionInfoThreshold;
diff --git a/Assets/Scripts/ServerShared/Ship.cs b/Assets/Scripts/ServerShared/Ship.cs
index dd6132640..6dd7f00a1 100644
--- a/Assets/Scripts/ServerShared/Ship.cs
+++ b/Assets/Scripts/ServerShared/Ship.cs
@@ -35,6 +35,8 @@ public class Ship : Entity
private HashSet _leftThrusters;
private HashSet _clockwiseThrusters;
private HashSet _counterClockwiseThrusters;
+ private HashSet _aetherDriveItems;
+ private HashSet _aetherDrives;
private bool _exitingWormhole = false;
private bool _enteringWormhole = false;
@@ -51,9 +53,9 @@ public class Ship : Entity
public float ClockwiseTorque { get; private set; }
public float CounterClockwiseTorque { get; private set; }
public float LeftStrafeTotalTorque { get; private set; }
- private Thruster[] LeftStrafeTorqueThrusters;
+ private List LeftStrafeTorqueThrusters = new List();
public float RightStrafeTotalTorque { get; private set; }
- private Thruster[] RightStrafeTorqueThrusters;
+ private List RightStrafeTorqueThrusters = new List();
public float TurnTime(float2 direction)
{
@@ -89,91 +91,90 @@ public class Ship : Entity
public override void Activate()
{
base.Activate();
+
+ _aetherDrives = new HashSet(GetBehaviors());
+ _aetherDriveItems = new HashSet(_aetherDrives.Select(x => x.Item));
_allThrusters = GetBehaviors().ToArray();
_thrusterItems = new HashSet(_allThrusters.Select(x=>x.Item));
_forwardThrusters = new HashSet(_allThrusters
.Where(x => x.Item.EquippableItem.Rotation == ItemRotation.Reversed));
- RecalculateForwardThrust();
- foreach (var thruster in _forwardThrusters)
- thruster.Item.Online.Skip(1).Subscribe(b => RecalculateForwardThrust());
_reverseThrusters = new HashSet(_allThrusters
.Where(x => x.Item.EquippableItem.Rotation == ItemRotation.None));
- RecalculateReverseThrust();
- foreach (var thruster in _reverseThrusters)
- thruster.Item.Online.Skip(1).Subscribe(b => RecalculateReverseThrust());
_rightThrusters = new HashSet(_allThrusters
.Where(x => x.Item.EquippableItem.Rotation == ItemRotation.CounterClockwise));
- RecalculateRightStrafeThrust();
- foreach (var thruster in _rightThrusters)
- thruster.Item.Online.Skip(1).Subscribe(b => RecalculateRightStrafeThrust());
_leftThrusters = new HashSet(_allThrusters
.Where(x => x.Item.EquippableItem.Rotation == ItemRotation.Clockwise));
- RecalculateLeftStrafeThrust();
- foreach (var thruster in _leftThrusters)
- thruster.Item.Online.Skip(1).Subscribe(b => RecalculateLeftStrafeThrust());
_counterClockwiseThrusters = new HashSet(_allThrusters
.Where(x => x.Torque < -ItemManager.GameplaySettings.TorqueFloor));
- RecalculateCounterClockwiseTorque();
- foreach (var thruster in _counterClockwiseThrusters)
- thruster.Item.Online.Skip(1).Subscribe(b => RecalculateCounterClockwiseTorque());
_clockwiseThrusters = new HashSet(_allThrusters
.Where(x => x.Torque > ItemManager.GameplaySettings.TorqueFloor));
- RecalculateClockwiseTorque();
- foreach (var thruster in _clockwiseThrusters)
- thruster.Item.Online.Skip(1).Subscribe(b => RecalculateClockwiseTorque());
}
public Ship(ItemManager itemManager, Zone zone, EquippableItem hull, EntitySettings settings) : base(itemManager, zone, hull, settings)
{
- void CheckForThruster(EquippedItem item)
- {
- if (_thrusterItems.Contains(item))
- {
- foreach (var behavior in item.Behaviors)
- {
- if (behavior is Thruster thruster)
- {
- if (_forwardThrusters.Contains(thruster)) RecalculateForwardThrust();
- if (_reverseThrusters.Contains(thruster)) RecalculateReverseThrust();
- if (_rightThrusters.Contains(thruster)) RecalculateRightStrafeThrust();
- if (_leftThrusters.Contains(thruster)) RecalculateLeftStrafeThrust();
- if (_clockwiseThrusters.Contains(thruster)) RecalculateClockwiseTorque();
- if (_counterClockwiseThrusters.Contains(thruster)) RecalculateCounterClockwiseTorque();
- }
- }
- }
- }
+ ItemDestroyed.Where(item=>_thrusterItems.Contains(item)).Subscribe(RemoveThruster);
+ ItemDestroyed.Where(item=>_aetherDriveItems.Contains(item)).Subscribe(RemoveAetherDrive);
+ }
- ItemDamage.Select(x => x.item).Subscribe(CheckForThruster);
+ private void RemoveAetherDrive(EquippedItem item)
+ {
+ _aetherDriveItems.Remove(item);
+ _aetherDrives.Remove(item.GetBehavior());
+ }
+
+ private void RemoveThruster(EquippedItem item)
+ {
+ _thrusterItems.Remove(item);
+ var thruster = item.GetBehavior();
+ if (_forwardThrusters.Contains(thruster)) _forwardThrusters.Remove(thruster);
+ if (_reverseThrusters.Contains(thruster)) _reverseThrusters.Remove(thruster);
+ if (_rightThrusters.Contains(thruster)) _rightThrusters.Remove(thruster);
+ if (_leftThrusters.Contains(thruster)) _leftThrusters.Remove(thruster);
+ if (_clockwiseThrusters.Contains(thruster)) _clockwiseThrusters.Remove(thruster);
+ if (_counterClockwiseThrusters.Contains(thruster)) _counterClockwiseThrusters.Remove(thruster);
}
#region ThrustCalculation
+
+ private void RecalculateThrust()
+ {
+ RecalculateForwardThrust();
+ RecalculateReverseThrust();
+ RecalculateLeftStrafeThrust();
+ RecalculateRightStrafeThrust();
+ RecalculateClockwiseTorque();
+ RecalculateCounterClockwiseTorque();
+ }
private void RecalculateForwardThrust()
{
ForwardThrust = 0;
foreach (var thruster in _forwardThrusters)
- {
- if(thruster.Item.Active.Value)
+ if (thruster.Item.Active.Value)
ForwardThrust += thruster.Thrust;
- }
+
+ foreach (var drive in _aetherDrives)
+ if (drive.Item.Active.Value)
+ ForwardThrust += drive.Thrust.x;
}
private void RecalculateReverseThrust()
{
ReverseThrust = 0;
foreach (var thruster in _reverseThrusters)
- {
- if(thruster.Item.Active.Value)
+ if (thruster.Item.Active.Value)
ReverseThrust += thruster.Thrust;
- }
+
+ foreach (var drive in _aetherDrives)
+ if (drive.Item.Active.Value)
+ ReverseThrust += drive.Thrust.x;
}
private void RecalculateLeftStrafeThrust()
@@ -188,9 +189,14 @@ public class Ship : Entity
LeftStrafeTotalTorque += thruster.Torque * thruster.Thrust;
}
}
- LeftStrafeTorqueThrusters = _leftThrusters
- .Where(x => abs(sign(x.Torque) - sign(LeftStrafeTotalTorque)) < .01f)
- .ToArray();
+ LeftStrafeTorqueThrusters.Clear();
+ foreach(var thruster in _leftThrusters)
+ if (abs(sign(thruster.Torque) - sign(LeftStrafeTotalTorque)) < .01f)
+ LeftStrafeTorqueThrusters.Add(thruster);
+
+ foreach (var drive in _aetherDrives)
+ if (drive.Item.Active.Value)
+ LeftStrafeThrust += drive.Thrust.y;
}
private void RecalculateRightStrafeThrust()
@@ -205,29 +211,38 @@ public class Ship : Entity
RightStrafeTotalTorque += thruster.Torque * thruster.Thrust;
}
}
- RightStrafeTorqueThrusters = _rightThrusters
- .Where(x => abs(sign(x.Torque) - sign(RightStrafeTotalTorque)) < .01f)
- .ToArray();
+ RightStrafeTorqueThrusters.Clear();
+ foreach(var thruster in _rightThrusters)
+ if (abs(sign(thruster.Torque) - sign(RightStrafeTotalTorque)) < .01f)
+ RightStrafeTorqueThrusters.Add(thruster);
+
+ foreach (var drive in _aetherDrives)
+ if (drive.Item.Active.Value)
+ RightStrafeThrust += drive.Thrust.y;
}
private void RecalculateClockwiseTorque()
{
ClockwiseTorque = 0;
foreach (var thruster in _clockwiseThrusters)
- {
- if(thruster.Item.Active.Value)
+ if (thruster.Item.Active.Value)
ClockwiseTorque += thruster.Torque;
- }
+
+ foreach (var drive in _aetherDrives)
+ if (drive.Item.Active.Value)
+ ClockwiseTorque += drive.Thrust.z;
}
private void RecalculateCounterClockwiseTorque()
{
CounterClockwiseTorque = 0;
foreach (var thruster in _counterClockwiseThrusters)
- {
- if(thruster.Item.Active.Value)
+ if (thruster.Item.Active.Value)
CounterClockwiseTorque -= thruster.Torque;
- }
+
+ foreach (var drive in _aetherDrives)
+ if (drive.Item.Active.Value)
+ CounterClockwiseTorque += drive.Thrust.z;
}
#endregion
@@ -236,8 +251,9 @@ public class Ship : Entity
{
if (_active && !_exitingWormhole && !_enteringWormhole)
{
+ RecalculateThrust();
foreach (var thruster in _allThrusters) thruster.Axis = 0;
- var rightThrusterTorqueCompensation = abs(RightStrafeTotalTorque) / RightStrafeTorqueThrusters.Length;
+ var rightThrusterTorqueCompensation = abs(RightStrafeTotalTorque) / RightStrafeTorqueThrusters.Count;
foreach (var thruster in _rightThrusters)
{
var thrust = 0f;
@@ -246,7 +262,7 @@ public class Ship : Entity
thrust -= MovementDirection.x * (rightThrusterTorqueCompensation / (abs(thruster.Torque) * thruster.Thrust));
thruster.Axis = thrust;
}
- var leftThrusterTorqueCompensation = abs(LeftStrafeTotalTorque) / LeftStrafeTorqueThrusters.Length;
+ var leftThrusterTorqueCompensation = abs(LeftStrafeTotalTorque) / LeftStrafeTorqueThrusters.Count;
foreach (var thruster in _leftThrusters)
{
var thrust = 0f;
@@ -269,7 +285,14 @@ public class Ship : Entity
foreach (var thruster in _clockwiseThrusters) thruster.Axis += deltaRot;
foreach (var thruster in _counterClockwiseThrusters) thruster.Axis += -deltaRot;
+
+ foreach (var drive in _aetherDrives)
+ drive.Axis = float3(MovementDirection.y, MovementDirection.x, deltaRot);
}
+
+ var velocityMagnitude = length(Velocity);
+ if(velocityMagnitude > .01f)
+ Velocity = normalize(Velocity) * AetheriaMath.Decay(velocityMagnitude, HullData.Drag, delta);
Position.xz += Velocity * delta;
diff --git a/Assets/Scripts/UI/ConfirmationDialog.cs b/Assets/Scripts/UI/ConfirmationDialog.cs
index fea00c611..dd09ab0c5 100644
--- a/Assets/Scripts/UI/ConfirmationDialog.cs
+++ b/Assets/Scripts/UI/ConfirmationDialog.cs
@@ -49,6 +49,7 @@ public class ConfirmationDialog : PropertiesPanel
else _onCancel?.Invoke();
CancelClickCatcher?.gameObject.SetActive(false);
gameObject.SetActive(false);
+ ActionGameManager.Instance?.Input.Global.Enable();
}
public void MoveToCursor()
@@ -71,5 +72,6 @@ public class ConfirmationDialog : PropertiesPanel
ButtonGroup.SetActive(onConfirm!=null || onCancel!=null);
CancelClickCatcher?.gameObject.SetActive(true);
+ ActionGameManager.Instance?.Input.Global.Disable();
}
}
diff --git a/Assets/Scripts/UI/ConsoleView.cs b/Assets/Scripts/UI/ConsoleView.cs
index a2b5b2f8c..dd5c438d8 100644
--- a/Assets/Scripts/UI/ConsoleView.cs
+++ b/Assets/Scripts/UI/ConsoleView.cs
@@ -136,7 +136,11 @@ public class ConsoleView : MonoBehaviour {
LogTextArea.text = string.Join("\n", newLog);
// if (AcceptingInput)
// LogTextArea.text += "\n\n> " + _inputString;
- Observable.NextFrame().Subscribe(_ => Scroll.verticalNormalizedPosition = 0);
+ Observable.NextFrame().Subscribe(_ =>
+ {
+ if(Scroll)
+ Scroll.verticalNormalizedPosition = 0;
+ });
}
}
diff --git a/Assets/Scripts/UI/ContextMenu.cs b/Assets/Scripts/UI/ContextMenu.cs
index 300d04029..2c782ace4 100644
--- a/Assets/Scripts/UI/ContextMenu.cs
+++ b/Assets/Scripts/UI/ContextMenu.cs
@@ -48,6 +48,7 @@ public class ContextMenu : MonoBehaviour
Destroy(_dropdown);
CancelClickCatcher.gameObject.SetActive(false);
gameObject.SetActive(false);
+ ActionGameManager.Instance?.Input.Global.Enable();
}
public void Clear()
@@ -128,5 +129,6 @@ public class ContextMenu : MonoBehaviour
rect.position = (Parent != null ? ForcePosition : (Vector3) mousePosition) + Vector3.up * deltaY;
if (Parent==null)
CancelClickCatcher.gameObject.SetActive(true);
+ ActionGameManager.Instance?.Input.Global.Disable();
}
}
diff --git a/Assets/Scripts/UI/DropdownMenu.cs b/Assets/Scripts/UI/DropdownMenu.cs
index faff072a4..a39ed216b 100644
--- a/Assets/Scripts/UI/DropdownMenu.cs
+++ b/Assets/Scripts/UI/DropdownMenu.cs
@@ -36,6 +36,7 @@ public class DropdownMenu : MonoBehaviour
{
CancelClickCatcher.gameObject.SetActive(false);
gameObject.SetActive(false);
+ ActionGameManager.Instance?.Input.Global.Enable();
}
public void Clear()
@@ -74,5 +75,6 @@ public class DropdownMenu : MonoBehaviour
rect.sizeDelta = parent.sizeDelta;
rect.position = pivotTop ? corners[0] : corners[1];
CancelClickCatcher.gameObject.SetActive(true);
+ ActionGameManager.Instance?.Input.Global.Disable();
}
}
diff --git a/Assets/Scripts/UI/MainMenu.cs b/Assets/Scripts/UI/MainMenu.cs
index 28a947a34..07e804c7c 100644
--- a/Assets/Scripts/UI/MainMenu.cs
+++ b/Assets/Scripts/UI/MainMenu.cs
@@ -92,11 +92,11 @@ public class MainMenu : MonoBehaviour
_nextMenu.panel.Title.text = TitleSubtitle("aetheria", "terminus");
if (!InGame)
{
- if(ActionGameManager.PlayerSettings.CurrentRun != null)
+ if(ActionGameManager.PlayerSettings.SavedRun != null)
_nextMenu.panel.AddButton("Continue",
() =>
{
- ActionGameManager.CurrentSector = new Sector(ActionGameManager.CultCache, ActionGameManager.PlayerSettings.CurrentRun);
+ ActionGameManager.CurrentSector = new Sector(ActionGameManager.CultCache, ActionGameManager.PlayerSettings.SavedRun);
SceneManager.LoadScene("ARPG");
});
else
@@ -119,7 +119,7 @@ public class MainMenu : MonoBehaviour
var task = Task.Run(() => new Sector(Settings.SectorGenerationSettings, ActionGameManager.CultCache, 0, setState));
task.ContinueWith(task => Observable.NextFrame().Subscribe(_ =>
{
- ActionGameManager.PlayerSettings.CurrentRun = null;
+ ActionGameManager.PlayerSettings.SavedRun = null;
ActionGameManager.CurrentSector = task.Result;
SceneManager.LoadScene("ARPG");
}));
diff --git a/Assets/Scripts/UI/SchematicDisplay.cs b/Assets/Scripts/UI/SchematicDisplay.cs
index 092498d05..b3d345e1d 100644
--- a/Assets/Scripts/UI/SchematicDisplay.cs
+++ b/Assets/Scripts/UI/SchematicDisplay.cs
@@ -23,14 +23,20 @@ public class SchematicDisplay : MonoBehaviour
public GameObject ShieldIcon;
public Image HeatsinkBackground;
+ public GameObject AetherDriveUi;
+ public GameObject AetherDriveUiSpacer;
+
public TextMeshProUGUI EnergyLabel;
public TextMeshProUGUI CockpitTemperatureLabel;
public TextMeshProUGUI RadiatorTemperatureLabel;
- [FormerlySerializedAs("HeatsinkTemperatureLabel")] public TextMeshProUGUI HeatStorageTemperatureLabel;
+ public TextMeshProUGUI HeatStorageTemperatureLabel;
public TextMeshProUGUI CargoTemperatureLabel;
public TextMeshProUGUI VisibilityLabel;
public TextMeshProUGUI HullDurabilityLabel;
public TextMeshProUGUI DistanceLabel;
+ public TextMeshProUGUI ForwardRPMLabel;
+ public TextMeshProUGUI StrafeRPMLabel;
+ public TextMeshProUGUI TurnRPMLabel;
public RectTransform SensorCooldownFill;
public RectTransform EnergyFill;
@@ -38,6 +44,9 @@ public class SchematicDisplay : MonoBehaviour
public RectTransform HeatstrokeMeterFill;
public RectTransform HypothermiaMeterFill;
public RectTransform HeatstrokeLimitFill;
+ public RectTransform ForwardRPMFill;
+ public RectTransform StrafeRPMFill;
+ public RectTransform TurnRPMFill;
public CanvasGroup TriggerGroups;
public float TriggerGroupsFadeDuration = .5f;
@@ -55,6 +64,7 @@ public class SchematicDisplay : MonoBehaviour
private EquippedCargoBay[] _cargoBays;
private SchematicDisplayItem[] _schematicItems;
private Graphic[] _groupGraphics;
+ private AetherDrive _aetherDrive;
private int _selectedGroupIndex;
private int _selectedItemIndex;
@@ -116,6 +126,9 @@ public class SchematicDisplay : MonoBehaviour
_cockpit = entity.GetBehavior();
_reactor = entity.GetBehavior();
_capacitors = entity.GetBehaviors().ToArray();
+ _aetherDrive = entity.GetBehavior();
+ AetherDriveUi.SetActive(_aetherDrive != null);
+ AetherDriveUiSpacer.SetActive(_aetherDrive != null);
_radiators = entity.GetBehaviors().ToArray();
if (_radiators.Length == 0)
@@ -268,6 +281,18 @@ public class SchematicDisplay : MonoBehaviour
EnergyFill.anchorMax = new Vector2(charge / maxCharge, 1);
EnergyLabel.text = $"{((int)charge).ToString()}/{((int)maxCharge).ToString()} + ({((int)_reactor.Draw).ToString()})";
}
+
+ if (_aetherDrive != null)
+ {
+ ForwardRPMLabel.text = ActionGameManager.PlayerSettings.Format(_aetherDrive.Rpm.x);
+ ForwardRPMFill.anchorMax = new Vector2(_aetherDrive.Rpm.x / _aetherDrive.MaximumRpm, 1);
+
+ StrafeRPMLabel.text = ActionGameManager.PlayerSettings.Format(_aetherDrive.Rpm.y);
+ StrafeRPMFill.anchorMax = new Vector2(_aetherDrive.Rpm.y / _aetherDrive.MaximumRpm, 1);
+
+ TurnRPMLabel.text = ActionGameManager.PlayerSettings.Format(_aetherDrive.Rpm.z);
+ TurnRPMFill.anchorMax = new Vector2(_aetherDrive.Rpm.z / _aetherDrive.MaximumRpm, 1);
+ }
}
else
{
diff --git a/GameData/AetherDB.msgpack b/GameData/AetherDB.msgpack
index b06527dc5..c2455d053 100644
--- a/GameData/AetherDB.msgpack
+++ b/GameData/AetherDB.msgpack
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:6998b1baab572766bf9a35358b7ba34f6d53d67c85ed8eb388dfc334b52c72fe
-size 75109
+oid sha256:21ce7bd21f283b5deb556e09791445df142f9ca3025499205ae4a4d9b0b1afd2
+size 76200
diff --git a/GameData/PlayerSettings.msgpack b/GameData/PlayerSettings.msgpack
index 241d80ee6..2505783c8 100644
--- a/GameData/PlayerSettings.msgpack
+++ b/GameData/PlayerSettings.msgpack
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:4837af8686704ae9bcc731ac076fe9db437881a5a1a217f65012aeaf777a99d7
-size 18061
+oid sha256:0cf5ad8787020982cacb09d4ce84cfa9bb0ae60d9ce09b901f8ac28a4de6421f
+size 18270
diff --git a/RethinkDB.csproj b/RethinkDB.csproj
index 1ccf35b55..b5ef29462 100644
--- a/RethinkDB.csproj
+++ b/RethinkDB.csproj
@@ -249,8 +249,8 @@
-
+