diff --git a/.gitignore b/.gitignore
index a92b102..0919f96 100644
--- a/.gitignore
+++ b/.gitignore
@@ -74,3 +74,4 @@ crashlytics-build.properties
game_notes/.obsidian
.idea/.idea.AsteroidGame/.idea/dictionaries
+.idea
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..bf244ee
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "Assets/CoreSystems"]
+ path = Assets/CoreSystems
+ url = https://gitea.strixhab.net/Stedd/GameDev.CoreSystems.git
diff --git a/.idea/.idea.AsteroidGame/.idea/.gitignore b/.idea/.idea.AsteroidGame/.idea/.gitignore
deleted file mode 100644
index a7928db..0000000
--- a/.idea/.idea.AsteroidGame/.idea/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Rider ignored files
-/projectSettingsUpdater.xml
-/modules.xml
-/.idea.AsteroidGame.iml
-/contentModel.xml
-# Editor-based HTTP Client requests
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/.idea/.idea.AsteroidGame/.idea/indexLayout.xml b/.idea/.idea.AsteroidGame/.idea/indexLayout.xml
deleted file mode 100644
index 7b08163..0000000
--- a/.idea/.idea.AsteroidGame/.idea/indexLayout.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/.idea.AsteroidGame/.idea/vcs.xml b/.idea/.idea.AsteroidGame/.idea/vcs.xml
deleted file mode 100644
index 94a25f7..0000000
--- a/.idea/.idea.AsteroidGame/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Assets/AssetPacks/Environment/Art/Materials/Blue_Mat.mat b/Assets/AssetPacks/Environment/Art/Materials/Blue_Mat.mat
index da4dc7a..752750b 100644
--- a/Assets/AssetPacks/Environment/Art/Materials/Blue_Mat.mat
+++ b/Assets/AssetPacks/Environment/Art/Materials/Blue_Mat.mat
@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
- version: 12
+ version: 13
hdPluginSubTargetMaterialVersions:
m_Keys: []
m_Values:
@@ -25,6 +25,8 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: Blue_Mat
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _DISABLE_SSR_TRANSPARENT
- _NORMALMAP_TANGENT_SPACE
@@ -40,6 +42,7 @@ Material:
- TransparentBackface
- RayTracingPrepass
- MOTIONVECTORS
+ m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@@ -151,6 +154,10 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ - _TransmissionMaskMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@@ -180,6 +187,8 @@ Material:
- _AlphaCutoffPrepass: 0.5
- _AlphaCutoffShadow: 0.5
- _AlphaDstBlend: 0
+ - _AlphaRemapMax: 1
+ - _AlphaRemapMin: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
@@ -236,6 +245,8 @@ Material:
- _Mode: 0
- _NormalMapSpace: 0
- _NormalScale: 1
+ - _ObjectSpaceUVMapping: 0
+ - _ObjectSpaceUVMappingEmissive: 0
- _OcclusionStrength: 1
- _OpaqueCullMode: 2
- _PPDLodThreshold: 5
@@ -262,9 +273,9 @@ Material:
- _StencilRefGBuffer: 10
- _StencilRefMV: 40
- _StencilWriteMask: 6
- - _StencilWriteMaskDepth: 8
- - _StencilWriteMaskGBuffer: 14
- - _StencilWriteMaskMV: 40
+ - _StencilWriteMaskDepth: 9
+ - _StencilWriteMaskGBuffer: 15
+ - _StencilWriteMaskMV: 41
- _SubsurfaceMask: 1
- _SupportDecals: 1
- _SurfaceType: 0
@@ -272,6 +283,7 @@ Material:
- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _TransmissionEnable: 1
+ - _TransmissionMask: 1
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
diff --git a/Assets/AssetPacks/Environment/Art/Materials/GreyBlue_Mat.mat b/Assets/AssetPacks/Environment/Art/Materials/GreyBlue_Mat.mat
index 9900f88..88d40a3 100644
--- a/Assets/AssetPacks/Environment/Art/Materials/GreyBlue_Mat.mat
+++ b/Assets/AssetPacks/Environment/Art/Materials/GreyBlue_Mat.mat
@@ -9,6 +9,8 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: GreyBlue_Mat
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _DISABLE_SSR_TRANSPARENT
- _NORMALMAP_TANGENT_SPACE
@@ -24,6 +26,7 @@ Material:
- TransparentBackface
- RayTracingPrepass
- MOTIONVECTORS
+ m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@@ -135,6 +138,10 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ - _TransmissionMaskMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@@ -164,6 +171,8 @@ Material:
- _AlphaCutoffPrepass: 0.5
- _AlphaCutoffShadow: 0.5
- _AlphaDstBlend: 0
+ - _AlphaRemapMax: 1
+ - _AlphaRemapMin: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
@@ -220,6 +229,8 @@ Material:
- _Mode: 0
- _NormalMapSpace: 0
- _NormalScale: 1
+ - _ObjectSpaceUVMapping: 0
+ - _ObjectSpaceUVMappingEmissive: 0
- _OcclusionStrength: 1
- _OpaqueCullMode: 2
- _PPDLodThreshold: 5
@@ -246,9 +257,9 @@ Material:
- _StencilRefGBuffer: 10
- _StencilRefMV: 40
- _StencilWriteMask: 6
- - _StencilWriteMaskDepth: 8
- - _StencilWriteMaskGBuffer: 14
- - _StencilWriteMaskMV: 40
+ - _StencilWriteMaskDepth: 9
+ - _StencilWriteMaskGBuffer: 15
+ - _StencilWriteMaskMV: 41
- _SubsurfaceMask: 1
- _SupportDecals: 1
- _SurfaceType: 0
@@ -256,6 +267,7 @@ Material:
- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _TransmissionEnable: 1
+ - _TransmissionMask: 1
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
@@ -303,7 +315,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
- version: 12
+ version: 13
hdPluginSubTargetMaterialVersions:
m_Keys: []
m_Values:
diff --git a/Assets/AssetPacks/Environment/Art/Materials/GridBlue_01_Mat.mat b/Assets/AssetPacks/Environment/Art/Materials/GridBlue_01_Mat.mat
index 69e5bbf..5bbebb5 100644
--- a/Assets/AssetPacks/Environment/Art/Materials/GridBlue_01_Mat.mat
+++ b/Assets/AssetPacks/Environment/Art/Materials/GridBlue_01_Mat.mat
@@ -9,6 +9,8 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: GridBlue_01_Mat
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _DISABLE_SSR_TRANSPARENT
- _EMISSIVE_COLOR_MAP
@@ -26,6 +28,7 @@ Material:
- TransparentBackface
- RayTracingPrepass
- MOTIONVECTORS
+ m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@@ -137,6 +140,10 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ - _TransmissionMaskMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@@ -166,6 +173,8 @@ Material:
- _AlphaCutoffPrepass: 0.5
- _AlphaCutoffShadow: 0.5
- _AlphaDstBlend: 0
+ - _AlphaRemapMax: 1
+ - _AlphaRemapMin: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
@@ -222,6 +231,8 @@ Material:
- _Mode: 0
- _NormalMapSpace: 0
- _NormalScale: 1
+ - _ObjectSpaceUVMapping: 0
+ - _ObjectSpaceUVMappingEmissive: 0
- _OcclusionStrength: 0
- _OpaqueCullMode: 2
- _PPDLodThreshold: 5
@@ -248,9 +259,9 @@ Material:
- _StencilRefGBuffer: 10
- _StencilRefMV: 40
- _StencilWriteMask: 6
- - _StencilWriteMaskDepth: 8
- - _StencilWriteMaskGBuffer: 14
- - _StencilWriteMaskMV: 40
+ - _StencilWriteMaskDepth: 9
+ - _StencilWriteMaskGBuffer: 15
+ - _StencilWriteMaskMV: 41
- _SubsurfaceMask: 1
- _SupportDecals: 1
- _SurfaceType: 0
@@ -258,6 +269,7 @@ Material:
- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _TransmissionEnable: 1
+ - _TransmissionMask: 1
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
@@ -305,7 +317,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
- version: 12
+ version: 13
hdPluginSubTargetMaterialVersions:
m_Keys: []
m_Values:
diff --git a/Assets/AssetPacks/Environment/Art/Materials/GridOrange_01_Mat.mat b/Assets/AssetPacks/Environment/Art/Materials/GridOrange_01_Mat.mat
index 474bb55..3fa31b0 100644
--- a/Assets/AssetPacks/Environment/Art/Materials/GridOrange_01_Mat.mat
+++ b/Assets/AssetPacks/Environment/Art/Materials/GridOrange_01_Mat.mat
@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
- version: 12
+ version: 13
hdPluginSubTargetMaterialVersions:
m_Keys: []
m_Values:
@@ -25,6 +25,8 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: GridOrange_01_Mat
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _DISABLE_SSR_TRANSPARENT
- _EMISSIVE_COLOR_MAP
@@ -42,6 +44,7 @@ Material:
- TransparentBackface
- RayTracingPrepass
- MOTIONVECTORS
+ m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@@ -153,6 +156,10 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ - _TransmissionMaskMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@@ -182,6 +189,8 @@ Material:
- _AlphaCutoffPrepass: 0.5
- _AlphaCutoffShadow: 0.5
- _AlphaDstBlend: 0
+ - _AlphaRemapMax: 1
+ - _AlphaRemapMin: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
@@ -238,6 +247,8 @@ Material:
- _Mode: 0
- _NormalMapSpace: 0
- _NormalScale: 1
+ - _ObjectSpaceUVMapping: 0
+ - _ObjectSpaceUVMappingEmissive: 0
- _OcclusionStrength: 0
- _OpaqueCullMode: 2
- _PPDLodThreshold: 5
@@ -264,9 +275,9 @@ Material:
- _StencilRefGBuffer: 10
- _StencilRefMV: 40
- _StencilWriteMask: 6
- - _StencilWriteMaskDepth: 8
- - _StencilWriteMaskGBuffer: 14
- - _StencilWriteMaskMV: 40
+ - _StencilWriteMaskDepth: 9
+ - _StencilWriteMaskGBuffer: 15
+ - _StencilWriteMaskMV: 41
- _SubsurfaceMask: 1
- _SupportDecals: 1
- _SurfaceType: 0
@@ -274,6 +285,7 @@ Material:
- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _TransmissionEnable: 1
+ - _TransmissionMask: 1
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
diff --git a/Assets/AssetPacks/Environment/Art/Materials/GridWhite_01_Mat.mat b/Assets/AssetPacks/Environment/Art/Materials/GridWhite_01_Mat.mat
index ba9a9b1..bf10b89 100644
--- a/Assets/AssetPacks/Environment/Art/Materials/GridWhite_01_Mat.mat
+++ b/Assets/AssetPacks/Environment/Art/Materials/GridWhite_01_Mat.mat
@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
- version: 12
+ version: 13
hdPluginSubTargetMaterialVersions:
m_Keys: []
m_Values:
@@ -25,6 +25,8 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: GridWhite_01_Mat
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _DISABLE_SSR_TRANSPARENT
- _EMISSIVE_COLOR_MAP
@@ -42,6 +44,7 @@ Material:
- TransparentBackface
- RayTracingPrepass
- MOTIONVECTORS
+ m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@@ -153,6 +156,10 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ - _TransmissionMaskMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@@ -182,6 +189,8 @@ Material:
- _AlphaCutoffPrepass: 0.5
- _AlphaCutoffShadow: 0.5
- _AlphaDstBlend: 0
+ - _AlphaRemapMax: 1
+ - _AlphaRemapMin: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
@@ -238,6 +247,8 @@ Material:
- _Mode: 0
- _NormalMapSpace: 0
- _NormalScale: 1
+ - _ObjectSpaceUVMapping: 0
+ - _ObjectSpaceUVMappingEmissive: 0
- _OcclusionStrength: 0
- _OpaqueCullMode: 2
- _PPDLodThreshold: 5
@@ -264,9 +275,9 @@ Material:
- _StencilRefGBuffer: 10
- _StencilRefMV: 40
- _StencilWriteMask: 6
- - _StencilWriteMaskDepth: 8
- - _StencilWriteMaskGBuffer: 14
- - _StencilWriteMaskMV: 40
+ - _StencilWriteMaskDepth: 9
+ - _StencilWriteMaskGBuffer: 15
+ - _StencilWriteMaskMV: 41
- _SubsurfaceMask: 1
- _SupportDecals: 1
- _SurfaceType: 0
@@ -274,6 +285,7 @@ Material:
- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _TransmissionEnable: 1
+ - _TransmissionMask: 1
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
diff --git a/Assets/AssetPacks/Environment/Art/Materials/URP_HDRP_ShaderGraph/ShaderGraphGrid_01_Mat.mat b/Assets/AssetPacks/Environment/Art/Materials/URP_HDRP_ShaderGraph/ShaderGraphGrid_01_Mat.mat
index e2d4470..6c7701a 100644
--- a/Assets/AssetPacks/Environment/Art/Materials/URP_HDRP_ShaderGraph/ShaderGraphGrid_01_Mat.mat
+++ b/Assets/AssetPacks/Environment/Art/Materials/URP_HDRP_ShaderGraph/ShaderGraphGrid_01_Mat.mat
@@ -9,6 +9,8 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: ShaderGraphGrid_01_Mat
m_Shader: {fileID: -6465566751694194690, guid: b8d7679189d4a5940af46004f3870920, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _DISABLE_DECALS
- _DISABLE_SSR_TRANSPARENT
@@ -23,6 +25,7 @@ Material:
- TransparentDepthPostpass
- TransparentBackface
- RayTracingPrepass
+ m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@@ -174,7 +177,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
- version: 12
+ version: 13
hdPluginSubTargetMaterialVersions:
m_Keys: []
m_Values:
diff --git a/Assets/AsteroidGame.asmdef b/Assets/AsteroidGame.asmdef
index fa942c3..8bf3aa0 100644
--- a/Assets/AsteroidGame.asmdef
+++ b/Assets/AsteroidGame.asmdef
@@ -7,7 +7,8 @@
"GUID:f008ecc6829887e478aeb5eb004eb01b",
"GUID:17a5862fcd6383b4b97bad4dcb1e2e5d",
"GUID:f26d68a0bdefa1043b120b820f55e190",
- "GUID:eb3099ff524d60545a136315a154d67b"
+ "GUID:eb3099ff524d60545a136315a154d67b",
+ "GUID:5d38ea13ae8f69a4395d425d401a557a"
],
"includePlatforms": [],
"excludePlatforms": [],
diff --git a/Assets/CoreSystems b/Assets/CoreSystems
new file mode 160000
index 0000000..639357c
--- /dev/null
+++ b/Assets/CoreSystems
@@ -0,0 +1 @@
+Subproject commit 639357ca9aa7ae6a32f5f97067d6d33005d9bdb1
diff --git a/Assets/Entities/Enemies/Scripts.meta b/Assets/CoreSystems.meta
similarity index 77%
rename from Assets/Entities/Enemies/Scripts.meta
rename to Assets/CoreSystems.meta
index e6385d4..7767e4d 100644
--- a/Assets/Entities/Enemies/Scripts.meta
+++ b/Assets/CoreSystems.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 7e3f0ef7b0919344e82d2052fbe05143
+guid: 1ddd6c48e06694441adea0f979e2d194
folderAsset: yes
DefaultImporter:
externalObjects: {}
diff --git a/Assets/Entities/Enemies/AvailableEnemies.asset b/Assets/Entities/Enemies/AvailableEnemies.asset
index 391cdb0..35367a8 100644
--- a/Assets/Entities/Enemies/AvailableEnemies.asset
+++ b/Assets/Entities/Enemies/AvailableEnemies.asset
@@ -12,4 +12,5 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1260fd8b7346bdf41a685d24b968a231, type: 3}
m_Name: AvailableEnemies
m_EditorClassIdentifier:
- _list: []
+ _list:
+ - {fileID: 1411216412654489461, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
diff --git a/Assets/Entities/Enemies/Enemy.prefab b/Assets/Entities/Enemies/Enemy.prefab
index afdef29..54ad472 100644
--- a/Assets/Entities/Enemies/Enemy.prefab
+++ b/Assets/Entities/Enemies/Enemy.prefab
@@ -23,6 +23,7 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 631532845000205954}
+ serializedVersion: 2
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}
@@ -31,8 +32,8 @@ Transform:
- {fileID: 5355765884551595638}
- {fileID: 91949040360545666}
- {fileID: 8001059947964412310}
+ - {fileID: 2513054780709503419}
m_Father: {fileID: 7780103704517281592}
- m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &700493555145955010
GameObject:
@@ -57,6 +58,7 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 700493555145955010}
+ serializedVersion: 2
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}
@@ -65,8 +67,55 @@ Transform:
- {fileID: 1671077540319194627}
- {fileID: 3955427233603104958}
m_Father: {fileID: 3291032053430181389}
- m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1312307913408260796
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4626427865743511805}
+ - component: {fileID: 4299120351774448665}
+ m_Layer: 0
+ m_Name: Damageable
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4626427865743511805
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1312307913408260796}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5123077350175375293}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &4299120351774448665
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1312307913408260796}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a845ca774f1a2d341b32451b100c0d1c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _activeDamageableRuntimeSet: {fileID: 11400000, guid: 8332d81762d09114eac45ca6f3b2c4af, type: 2}
+ k__BackingField: 10
+ k__BackingField: 10
+ k__BackingField: 0
--- !u!1 &1856154329861502355
GameObject:
m_ObjectHideFlags: 0
@@ -92,13 +141,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1856154329861502355}
+ serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0.7071068, w: 0.7071068}
m_LocalPosition: {x: 0.341, y: 0, z: 0.587}
m_LocalScale: {x: 0.24, y: 0.4597677, z: 0.19977282}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 5355765884551595638}
- m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: -90}
--- !u!33 &4938033185760690219
MeshFilter:
@@ -150,6 +199,40 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
+--- !u!1 &1900887375425358919
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5123077350175375293}
+ m_Layer: 0
+ m_Name: Functions
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5123077350175375293
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1900887375425358919}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 4626427865743511805}
+ - {fileID: 3486364872742429245}
+ - {fileID: 5845428820912776804}
+ m_Father: {fileID: 2692714622321691895}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &3867128990362458971
GameObject:
m_ObjectHideFlags: 0
@@ -175,13 +258,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3867128990362458971}
+ serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0.536, y: 0.206, z: -0.193}
m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 91949040360545666}
- m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &8811483340839899384
MeshFilter:
@@ -257,13 +340,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4192276824634724634}
+ serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 3291032053430181389}
- m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!65 &5604178963170827772
BoxCollider:
@@ -273,11 +356,50 @@ BoxCollider:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4192276824634724634}
m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
m_IsTrigger: 0
+ m_ProvidesContacts: 0
m_Enabled: 1
- serializedVersion: 2
+ serializedVersion: 3
m_Size: {x: 1.3168308, y: 1, z: 1.3902934}
m_Center: {x: 0.15841538, y: 0, z: -0.0017904043}
+--- !u!1 &4733920494088122715
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2513054780709503419}
+ m_Layer: 0
+ m_Name: Ref:CenterPosition
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2513054780709503419
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4733920494088122715}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 3291032053430181389}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &4921375452445824178
GameObject:
m_ObjectHideFlags: 0
@@ -303,13 +425,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4921375452445824178}
+ serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0.536, y: 0.206, z: 0.205}
m_LocalScale: {x: 0.1, y: 0.1, z: 0.1}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 91949040360545666}
- m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &274824493129163367
MeshFilter:
@@ -361,6 +483,54 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
+--- !u!1 &5367121395816538489
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 3486364872742429245}
+ - component: {fileID: 4816616723634589559}
+ m_Layer: 0
+ m_Name: Targetable
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &3486364872742429245
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5367121395816538489}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5123077350175375293}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &4816616723634589559
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5367121395816538489}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8410932d22e18624787af61d3a4cd191, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _activeTargetableRuntimeSet: {fileID: 11400000, guid: 85e03587d1a940f438ceac70a3d544d5, type: 2}
+ k__BackingField: {fileID: 0}
+ _centerPosition: {fileID: 2513054780709503419}
+ _basePosition: {fileID: 561887346552595101}
--- !u!1 &5599539567497807159
GameObject:
m_ObjectHideFlags: 0
@@ -371,6 +541,7 @@ GameObject:
m_Component:
- component: {fileID: 2692714622321691895}
- component: {fileID: 1411216412654489461}
+ - component: {fileID: 103375416814990516}
m_Layer: 0
m_Name: Enemy
m_TagString: Enemy
@@ -385,14 +556,15 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5599539567497807159}
+ serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
m_ConstrainProportionsScale: 1
m_Children:
- - {fileID: 191376514769192977}
+ - {fileID: 5123077350175375293}
+ - {fileID: 4114072049224310043}
m_Father: {fileID: 0}
- m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1411216412654489461
MonoBehaviour:
@@ -406,18 +578,68 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a8e2a3a5a069cea4cbe59c093201d8dc, type: 3}
m_Name:
m_EditorClassIdentifier:
- _health: 10
- _maxHealth: 0
- _isInvulnerable: 0
- _centerPosition: {fileID: 3291032053430181389}
- _basePosition: {fileID: 2692714622321691895}
+ k__BackingField: {fileID: 4299120351774448665}
+ k__BackingField: {fileID: 4816616723634589559}
_uiFriendlyName: Enemy
_entityBaseSet: {fileID: 11400000, guid: c5542e77624472441a67b1f34e19a116, type: 2}
_enemyBaseSet: {fileID: 11400000, guid: e5f25127d92be074aac6e7b745fae107, type: 2}
- _targeterConfig: {fileID: 11400000, guid: d5813a38da3962d4498fc71ef33361b6, type: 2}
- _targeter: {fileID: 0}
- _target: {fileID: 0}
- _navMeshAgent: {fileID: 0}
+ k__BackingField: {fileID: 2802974253471165353}
+ _navMeshAgent: {fileID: 103375416814990516}
+--- !u!195 &103375416814990516
+NavMeshAgent:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 5599539567497807159}
+ m_Enabled: 1
+ m_AgentTypeID: 0
+ m_Radius: 0.5
+ m_Speed: 3.5
+ m_Acceleration: 8
+ avoidancePriority: 50
+ m_AngularSpeed: 120
+ m_StoppingDistance: 0
+ m_AutoTraverseOffMeshLink: 1
+ m_AutoBraking: 1
+ m_AutoRepath: 1
+ m_Height: 2
+ m_BaseOffset: 0
+ m_WalkableMask: 4294967295
+ m_ObstacleAvoidanceType: 4
+--- !u!1 &6015068770338930083
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4114072049224310043}
+ m_Layer: 0
+ m_Name: Rig
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4114072049224310043
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6015068770338930083}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 191376514769192977}
+ - {fileID: 561887346552595101}
+ m_Father: {fileID: 2692714622321691895}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &6940800288144322101
GameObject:
m_ObjectHideFlags: 0
@@ -441,14 +663,14 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6940800288144322101}
- m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0.7071068, z: -0, w: 0.7071068}
m_LocalPosition: {x: 0, y: 2.01, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 7780103704517281592}
- m_Father: {fileID: 2692714622321691895}
- m_RootOrder: 0
+ m_Father: {fileID: 4114072049224310043}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &7089677990206923544
GameObject:
@@ -473,6 +695,7 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7089677990206923544}
+ serializedVersion: 2
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}
@@ -480,7 +703,87 @@ Transform:
m_Children:
- {fileID: 3291032053430181389}
m_Father: {fileID: 191376514769192977}
- m_RootOrder: 0
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &7098420778236141238
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5845428820912776804}
+ - component: {fileID: 2802974253471165353}
+ m_Layer: 0
+ m_Name: Targeter
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5845428820912776804
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7098420778236141238}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5123077350175375293}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &2802974253471165353
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7098420778236141238}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 28bcd65de1e3cf744a3ac9b53c030319, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _targeterConfig: {fileID: 11400000, guid: d5813a38da3962d4498fc71ef33361b6, type: 2}
+ _range: 0
+ _targetStrategy: 0
+ _activeTargetable: {fileID: 0}
+ _targeterParent: {fileID: 4816616723634589559}
+ k__BackingField: {fileID: 0}
+--- !u!1 &7670619634857166053
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 561887346552595101}
+ m_Layer: 0
+ m_Name: Ref:BasePosition
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &561887346552595101
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7670619634857166053}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 4114072049224310043}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &8831453991117079309
GameObject:
@@ -507,6 +810,7 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8831453991117079309}
+ serializedVersion: 2
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}
@@ -515,7 +819,6 @@ Transform:
- {fileID: 7956298909069556562}
- {fileID: 4518982824339893338}
m_Father: {fileID: 3291032053430181389}
- m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &5128498621595353232
MeshFilter:
@@ -592,13 +895,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8931538593362537433}
+ serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0.7071068, w: 0.7071068}
m_LocalPosition: {x: 0.34100002, y: 0, z: -0.603}
m_LocalScale: {x: 0.24, y: 0.4597677, z: 0.19977282}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 5355765884551595638}
- m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: -90}
--- !u!33 &6582230243926515993
MeshFilter:
diff --git a/Assets/Entities/Enemies/EnemyTargeterConfiguration.asset b/Assets/Entities/Enemies/EnemyTargeterConfiguration.asset
index 92129b5..8f3bd7d 100644
--- a/Assets/Entities/Enemies/EnemyTargeterConfiguration.asset
+++ b/Assets/Entities/Enemies/EnemyTargeterConfiguration.asset
@@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 02781660543c12d4ebddaf334eb0d730, type: 3}
m_Name: EnemyTargeterConfiguration
m_EditorClassIdentifier:
- _range: 0
+ _maxRange: 30
+ _minRange: 0.5
_selectedTargetStrategy: 0
- _activeEntities: {fileID: 0}
+ _activeEntities: {fileID: 11400000, guid: dda2fd5e970bbd642a5ceead1e82783c, type: 2}
diff --git a/Assets/Entities/Enemies/Scripts/EnemyHealth.cs b/Assets/Entities/Enemies/Scripts/EnemyHealth.cs
deleted file mode 100644
index 324e0e2..0000000
--- a/Assets/Entities/Enemies/Scripts/EnemyHealth.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-using UnityEngine;
-
-namespace AsteroidGame.Entities.Enemies.Scripts
-{
- public class EnemyHealth : MonoBehaviour
- {
- [Header("Assigned on start")]
- // [SerializeField] EnemyHandler enemyHandler;
- // [SerializeField] ScoreHandler scoreHandler;
-
- [Header("Parameters")]
- [SerializeField] int _maxHealth = 5;
- [SerializeField] int _difficultyRamp = 1;
-
- [SerializeField] int _wealthValue = 5;
-
- [Header("Stats")]
- [SerializeField] int _currentHealth;
-
- #region Public
- public int Health { get=> _currentHealth;}
- #endregion
-
- void OnEnable()
- {
- // enemyHandler = FindObjectOfType();
- // scoreHandler = FindObjectOfType();
- _currentHealth = _maxHealth;
- }
-
- private void OnParticleCollision(GameObject damager)
- {
- ProcessHitFrom(damager);
- }
-
- private void ProcessHitFrom(GameObject damager)
- {
- // SpawnFX(damageVFX);
-
- // Debug.Log(damager.GetComponentInParent().GetDamage());
- _currentHealth -= damager.GetComponentInParent().Damage;
-
- //UpdateHealthText(health);
-
- if(_currentHealth <= 0)
- {
- ProcessDeathFrom(damager);
- }
- }
-
- private void ProcessDeathFrom(GameObject damager)
- {
- //damager.GetComponentInParent().UpdateScore(1f);
-
- // SpawnFX(deathFX);
- // scoreHandler.ModifyWealth(wealthValue);
- // enemyHandler.RemoveEnemy(gameObject);
- // Destroy(gameObject);
- gameObject.SetActive(false);
- _maxHealth += _difficultyRamp;
- }
- }
-}
diff --git a/Assets/Entities/Enemies/Scripts/EnemyHealth.cs.meta b/Assets/Entities/Enemies/Scripts/EnemyHealth.cs.meta
deleted file mode 100644
index a893b1c..0000000
--- a/Assets/Entities/Enemies/Scripts/EnemyHealth.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: ac0f42db9d6c21540a5ef3107e36946a
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Entities/Enemies/Scripts/EnemyMovement.cs b/Assets/Entities/Enemies/Scripts/EnemyMovement.cs
deleted file mode 100644
index cf8b3fd..0000000
--- a/Assets/Entities/Enemies/Scripts/EnemyMovement.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-using System.Collections;
-using UnityEngine;
-
-namespace AsteroidGame.Entities.Enemies
-{
- public class EnemyMovement : MonoBehaviour
- {
- [Header("Parameters")]
- [SerializeField] [Range(0f, 5f)] float _speed = 1f;
- [SerializeField] int _damage = 1;
-
-
- // [SerializeField] EnemyHandler enemyHandler;
- // [SerializeField] ScoreHandler scoreHandler;
-
-
- Vector3 _startPosition;
- Vector3 _endPosition;
- float _travelPercent = 0f;
-
- private IEnumerator _followPath;
-
- void Awake()
- {
- // enemyHandler = FindObjectOfType();
- // scoreHandler = FindObjectOfType();
-
- }
-
- void OnEnable()
- {
- // enemyHandler.AddEnemyToAllEnemies(gameObject);
- }
-
-
- void RecalculatePath()
- {
- if (_followPath != null)
- {
- //Debug.Log("Stopping Coroutine");
- StopCoroutine(_followPath);
-
- }
- }
-
- void HandleReachedEndOfPath()
- {
- // scoreHandler.ModifyHealth(-damage);
- // scoreHandler.ModifyWealth(-100);
- // enemyHandler.RemoveEnemy(gameObject);
- //Destroy(gameObject);
- gameObject.SetActive(false);
- }
-
- private Vector3 GetVector3(Vector2Int coord)
- {
- return new Vector3((float)coord.x, 0f, (float)coord.y) * 10f;
- }
-
- }
-}
diff --git a/Assets/Entities/Enemies/Scripts/EnemyMovement.cs.meta b/Assets/Entities/Enemies/Scripts/EnemyMovement.cs.meta
deleted file mode 100644
index d52ce13..0000000
--- a/Assets/Entities/Enemies/Scripts/EnemyMovement.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 8e691044df4c75f4cb07af0551efa2c6
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Entities/Entities.asmdef b/Assets/Entities/Entities.asmdef
index 9e0932f..1414387 100644
--- a/Assets/Entities/Entities.asmdef
+++ b/Assets/Entities/Entities.asmdef
@@ -2,8 +2,7 @@
"name": "Entities",
"rootNamespace": "AsteroidGame",
"references": [
- "GUID:17a5862fcd6383b4b97bad4dcb1e2e5d",
- "GUID:eb3099ff524d60545a136315a154d67b"
+ "GUID:5d38ea13ae8f69a4395d425d401a557a"
],
"includePlatforms": [],
"excludePlatforms": [],
diff --git a/Assets/Entities/EntityBase.cs b/Assets/Entities/EntityBase.cs
deleted file mode 100644
index b4ed7ca..0000000
--- a/Assets/Entities/EntityBase.cs
+++ /dev/null
@@ -1,76 +0,0 @@
-using AsteroidGame.Interfaces;
-using UnityEngine;
-
-namespace AsteroidGame.Entities
-{
- public class EntityBase : MonoBehaviour, IDamageable, ITargetable
- {
- [Header("Health")]
- [SerializeField] protected int _health;
- [SerializeField] protected int _maxHealth;
- [SerializeField] protected bool _isInvulnerable;
-
- [Header("TargetPositions")]
- [SerializeField] private Transform _centerPosition;
- [SerializeField] private Transform _basePosition;
-
- [Header("UI")]
- [SerializeField] protected string _uiFriendlyName;
-
- [Space]
- [SerializeField] private SEntityBaseRuntimeSet _entityBaseSet;
-
- #region Props
-
- public bool IsInvulnerable => _isInvulnerable;
- public string UiFriendlyName => _uiFriendlyName;
-
- #endregion
-
- protected virtual void OnEnable()
- {
- _entityBaseSet.Add(this);
- }
-
- protected virtual void OnDisable()
- {
- _entityBaseSet.Remove(this);
- }
-
- #region Methods
-
- public void ModifyHealth(int healthChange)
- {
- if (!_isInvulnerable)
- {
- _health += healthChange;
- }
- }
-
- #endregion
-
- #region Setters
-
- public void SetHealth(int newHealth) => _health = newHealth;
-
- public void SetMaxHealth(int newHealth) => _maxHealth = newHealth;
-
- public void SetInvulnerable(bool newState) => _isInvulnerable = newState;
-
- #endregion
-
- #region Getters
-
- public Vector3 GetCenterPosition() => _centerPosition.transform.position;
-
- public Vector3 GetBasePosition() => _basePosition.transform.position;
-
- public int GetHealth() => _health;
-
- public int GetMaxHealth() => _maxHealth;
-
- public float GetHealthFactor() => (float)_health / (float)_maxHealth;
-
- #endregion
- }
-}
\ No newline at end of file
diff --git a/Assets/Entities/RuntimeSet/ActiveDamageableEntities.asset b/Assets/Entities/RuntimeSet/ActiveDamageableEntities.asset
new file mode 100644
index 0000000..0d7e803
--- /dev/null
+++ b/Assets/Entities/RuntimeSet/ActiveDamageableEntities.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 9d4c8ce856b06db4c9a892b981e516e7, type: 3}
+ m_Name: ActiveDamageableEntities
+ m_EditorClassIdentifier:
+ _list: []
diff --git a/Assets/Interfaces.meta b/Assets/Entities/RuntimeSet/ActiveDamageableEntities.asset.meta
similarity index 52%
rename from Assets/Interfaces.meta
rename to Assets/Entities/RuntimeSet/ActiveDamageableEntities.asset.meta
index a3edc8b..9d3f389 100644
--- a/Assets/Interfaces.meta
+++ b/Assets/Entities/RuntimeSet/ActiveDamageableEntities.asset.meta
@@ -1,8 +1,8 @@
fileFormatVersion: 2
-guid: b20f0794cd5868b4eadf6614b8ab88b9
-folderAsset: yes
-DefaultImporter:
+guid: 8332d81762d09114eac45ca6f3b2c4af
+NativeFormatImporter:
externalObjects: {}
+ mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
diff --git a/Assets/Entities/RuntimeSet/ActivePowerStructures.asset b/Assets/Entities/RuntimeSet/ActivePowerStructures.asset
new file mode 100644
index 0000000..f01ab89
--- /dev/null
+++ b/Assets/Entities/RuntimeSet/ActivePowerStructures.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 3c46c7dedba14f3da958a2e6a3d3feaa, type: 3}
+ m_Name: ActivePowerStructures
+ m_EditorClassIdentifier:
+ _list: []
diff --git a/Assets/Interfaces/Interfaces.asmdef.meta b/Assets/Entities/RuntimeSet/ActivePowerStructures.asset.meta
similarity index 52%
rename from Assets/Interfaces/Interfaces.asmdef.meta
rename to Assets/Entities/RuntimeSet/ActivePowerStructures.asset.meta
index 19a6da9..665b2a4 100644
--- a/Assets/Interfaces/Interfaces.asmdef.meta
+++ b/Assets/Entities/RuntimeSet/ActivePowerStructures.asset.meta
@@ -1,7 +1,8 @@
fileFormatVersion: 2
-guid: 17a5862fcd6383b4b97bad4dcb1e2e5d
-AssemblyDefinitionImporter:
+guid: 127d26f1f3536e94da36af662f63fa0b
+NativeFormatImporter:
externalObjects: {}
+ mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
diff --git a/Assets/Entities/RuntimeSet/ActiveTargetableBuildings.asset b/Assets/Entities/RuntimeSet/ActiveTargetableBuildings.asset
new file mode 100644
index 0000000..45c4446
--- /dev/null
+++ b/Assets/Entities/RuntimeSet/ActiveTargetableBuildings.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 7d76ef79c960c1845a914468e30d036b, type: 3}
+ m_Name: ActiveTargetableBuildings
+ m_EditorClassIdentifier:
+ _list: []
diff --git a/Assets/Entities/Enemies/Drone.meta b/Assets/Entities/RuntimeSet/ActiveTargetableBuildings.asset.meta
similarity index 52%
rename from Assets/Entities/Enemies/Drone.meta
rename to Assets/Entities/RuntimeSet/ActiveTargetableBuildings.asset.meta
index 17a280a..a1284c1 100644
--- a/Assets/Entities/Enemies/Drone.meta
+++ b/Assets/Entities/RuntimeSet/ActiveTargetableBuildings.asset.meta
@@ -1,8 +1,8 @@
fileFormatVersion: 2
-guid: 22c766fdadc55c449b5311282a681a64
-folderAsset: yes
-DefaultImporter:
+guid: dda2fd5e970bbd642a5ceead1e82783c
+NativeFormatImporter:
externalObjects: {}
+ mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
diff --git a/Assets/Entities/RuntimeSet/ActiveTargetableEnemies.asset b/Assets/Entities/RuntimeSet/ActiveTargetableEnemies.asset
new file mode 100644
index 0000000..6c761ad
--- /dev/null
+++ b/Assets/Entities/RuntimeSet/ActiveTargetableEnemies.asset
@@ -0,0 +1,15 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 7d76ef79c960c1845a914468e30d036b, type: 3}
+ m_Name: ActiveTargetableEnemies
+ m_EditorClassIdentifier:
+ _list: []
diff --git a/Assets/Entities/RuntimeSet/ActiveTargetableEnemies.asset.meta b/Assets/Entities/RuntimeSet/ActiveTargetableEnemies.asset.meta
new file mode 100644
index 0000000..bc95ae3
--- /dev/null
+++ b/Assets/Entities/RuntimeSet/ActiveTargetableEnemies.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 85e03587d1a940f438ceac70a3d544d5
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Entities/ScriptableObjects/SEnemyBaseRuntimeSet.cs b/Assets/Entities/ScriptableObjects/SEnemyBaseRuntimeSet.cs
deleted file mode 100644
index c0d4478..0000000
--- a/Assets/Entities/ScriptableObjects/SEnemyBaseRuntimeSet.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using AsteroidGame.Entities.Enemies.Scripts;
-using AsteroidGame.ScriptableObjects;
-using UnityEngine;
-
-namespace AsteroidGame.Entities
-{
- [CreateAssetMenu(fileName = "newEnemyBaseRuntimeSet", menuName = "RuntimeSet/EnemyBase")]
- public class SEnemyBaseRuntimeSet : SRuntimeSet
- {
- }
-}
\ No newline at end of file
diff --git a/Assets/Entities/ScriptableObjects/SEntityBaseRuntimeSet.cs b/Assets/Entities/ScriptableObjects/SEntityBaseRuntimeSet.cs
deleted file mode 100644
index 371c740..0000000
--- a/Assets/Entities/ScriptableObjects/SEntityBaseRuntimeSet.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using AsteroidGame.ScriptableObjects;
-using UnityEngine;
-
-namespace AsteroidGame.Entities
-{
- [CreateAssetMenu(fileName = "newEntityBaseRuntimeSet", menuName = "RuntimeSet/EntityBase")]
- public class SEntityBaseRuntimeSet : SRuntimeSet
- {
- }
-}
\ No newline at end of file
diff --git a/Assets/Entities/ScriptableObjects/SStructureBaseRuntimeSet.cs b/Assets/Entities/ScriptableObjects/SStructureBaseRuntimeSet.cs
deleted file mode 100644
index 4f43567..0000000
--- a/Assets/Entities/ScriptableObjects/SStructureBaseRuntimeSet.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-using AsteroidGame.ScriptableObjects;
-using UnityEngine;
-
-namespace AsteroidGame.Entities
-{
- [CreateAssetMenu(fileName = "newStructureBaseRuntimeSet", menuName = "RuntimeSet/StructureBase")]
- public class SStructureBaseRuntimeSet : SRuntimeSet
- {
- }
-}
\ No newline at end of file
diff --git a/Assets/Entities/ScriptableObjects/STargeterConfig.cs b/Assets/Entities/ScriptableObjects/STargeterConfig.cs
deleted file mode 100644
index 461c31f..0000000
--- a/Assets/Entities/ScriptableObjects/STargeterConfig.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using AsteroidGame.Interfaces;
-using UnityEngine;
-
-namespace AsteroidGame.Entities
-{
- [CreateAssetMenu(fileName = "newTargeterConfiguration", menuName = "Configuration/Targeter")]
- public class STargeterConfig : ScriptableObject
- {
- public float _range;
- public TargetStrategy _selectedTargetStrategy;
- public SEntityBaseRuntimeSet _activeEntities;
- public enum TargetStrategy
- {
- LowestRange,
- LowestHealth
- };
- }
-}
\ No newline at end of file
diff --git a/Assets/Entities/ScriptableObjects/SEnemyBaseList.cs b/Assets/Entities/ScriptableObjects/SoEnemyBaseList.cs
similarity index 59%
rename from Assets/Entities/ScriptableObjects/SEnemyBaseList.cs
rename to Assets/Entities/ScriptableObjects/SoEnemyBaseList.cs
index 1737136..37b7d30 100644
--- a/Assets/Entities/ScriptableObjects/SEnemyBaseList.cs
+++ b/Assets/Entities/ScriptableObjects/SoEnemyBaseList.cs
@@ -1,11 +1,11 @@
using System.Collections.Generic;
-using AsteroidGame.Entities.Enemies.Scripts;
+using AsteroidGame.Entities;
using UnityEngine;
-namespace AsteroidGame.Entities
+namespace AsteroidGame.ScriptableObjects
{
[CreateAssetMenu(fileName = "newEnemyList", menuName = "Enemies/EnemyList")]
- public class SEnemyBaseList : ScriptableObject
+ public class SoEnemyBaseList : ScriptableObject
{
public List _list;
}
diff --git a/Assets/Entities/ScriptableObjects/SEnemyBaseList.cs.meta b/Assets/Entities/ScriptableObjects/SoEnemyBaseList.cs.meta
similarity index 100%
rename from Assets/Entities/ScriptableObjects/SEnemyBaseList.cs.meta
rename to Assets/Entities/ScriptableObjects/SoEnemyBaseList.cs.meta
diff --git a/Assets/Entities/ScriptableObjects/SoEnemyBaseRuntimeSet.cs b/Assets/Entities/ScriptableObjects/SoEnemyBaseRuntimeSet.cs
new file mode 100644
index 0000000..1d778cb
--- /dev/null
+++ b/Assets/Entities/ScriptableObjects/SoEnemyBaseRuntimeSet.cs
@@ -0,0 +1,11 @@
+using AsteroidGame.Entities;
+using GameDev.CoreSystems;
+using UnityEngine;
+
+namespace AsteroidGame.ScriptableObjects
+{
+ [CreateAssetMenu(fileName = "newEnemyBaseRuntimeSet", menuName = "RuntimeSet/EnemyBase")]
+ public class SoEnemyBaseRuntimeSet : SoRuntimeSet
+ {
+ }
+}
\ No newline at end of file
diff --git a/Assets/Entities/ScriptableObjects/SEnemyBaseRuntimeSet.cs.meta b/Assets/Entities/ScriptableObjects/SoEnemyBaseRuntimeSet.cs.meta
similarity index 100%
rename from Assets/Entities/ScriptableObjects/SEnemyBaseRuntimeSet.cs.meta
rename to Assets/Entities/ScriptableObjects/SoEnemyBaseRuntimeSet.cs.meta
diff --git a/Assets/Entities/ScriptableObjects/SoEntityBaseRuntimeSet.cs b/Assets/Entities/ScriptableObjects/SoEntityBaseRuntimeSet.cs
new file mode 100644
index 0000000..8b76909
--- /dev/null
+++ b/Assets/Entities/ScriptableObjects/SoEntityBaseRuntimeSet.cs
@@ -0,0 +1,11 @@
+using AsteroidGame.Entities;
+using GameDev.CoreSystems;
+using UnityEngine;
+
+namespace AsteroidGame.ScriptableObjects
+{
+ [CreateAssetMenu(fileName = "newEntityBaseRuntimeSet", menuName = "RuntimeSet/EntityBase")]
+ public class SoEntityBaseRuntimeSet : SoRuntimeSet
+ {
+ }
+}
\ No newline at end of file
diff --git a/Assets/Entities/ScriptableObjects/SEntityBaseRuntimeSet.cs.meta b/Assets/Entities/ScriptableObjects/SoEntityBaseRuntimeSet.cs.meta
similarity index 100%
rename from Assets/Entities/ScriptableObjects/SEntityBaseRuntimeSet.cs.meta
rename to Assets/Entities/ScriptableObjects/SoEntityBaseRuntimeSet.cs.meta
diff --git a/Assets/Entities/ScriptableObjects/SoPowerBaseRuntimeSet.cs b/Assets/Entities/ScriptableObjects/SoPowerBaseRuntimeSet.cs
new file mode 100644
index 0000000..dab8630
--- /dev/null
+++ b/Assets/Entities/ScriptableObjects/SoPowerBaseRuntimeSet.cs
@@ -0,0 +1,11 @@
+using AsteroidGame.Entities;
+using GameDev.CoreSystems;
+using UnityEngine;
+
+namespace AsteroidGame.ScriptableObjects
+{
+ [CreateAssetMenu(fileName = "newPowerBaseRuntimeSet", menuName = "RuntimeSet/PowerBase")]
+ public class SoPowerBaseRuntimeSet : SoRuntimeSet
+ {
+ }
+}
\ No newline at end of file
diff --git a/Assets/Entities/ScriptableObjects/SoPowerBaseRuntimeSet.cs.meta b/Assets/Entities/ScriptableObjects/SoPowerBaseRuntimeSet.cs.meta
new file mode 100644
index 0000000..c05d2f4
--- /dev/null
+++ b/Assets/Entities/ScriptableObjects/SoPowerBaseRuntimeSet.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 3c46c7dedba14f3da958a2e6a3d3feaa
+timeCreated: 1665006553
\ No newline at end of file
diff --git a/Assets/Entities/ScriptableObjects/SoPowerConfig.cs b/Assets/Entities/ScriptableObjects/SoPowerConfig.cs
new file mode 100644
index 0000000..03dacd5
--- /dev/null
+++ b/Assets/Entities/ScriptableObjects/SoPowerConfig.cs
@@ -0,0 +1,13 @@
+using UnityEngine;
+
+namespace AsteroidGame.ScriptableObjects
+{
+ [CreateAssetMenu(fileName = "newPowerConfiguration", menuName = "Configuration/Power")]
+ public class SoPowerConfig : ScriptableObject
+ {
+ public SoPowerBaseRuntimeSet _activePowerStructures;
+ public bool isGenerator;
+ public bool isConsumer;
+ public int maxPower;
+ }
+}
\ No newline at end of file
diff --git a/Assets/Interfaces/IBuildable.cs.meta b/Assets/Entities/ScriptableObjects/SoPowerConfig.cs.meta
similarity index 83%
rename from Assets/Interfaces/IBuildable.cs.meta
rename to Assets/Entities/ScriptableObjects/SoPowerConfig.cs.meta
index 2cd13ee..ceb8c6e 100644
--- a/Assets/Interfaces/IBuildable.cs.meta
+++ b/Assets/Entities/ScriptableObjects/SoPowerConfig.cs.meta
@@ -1,5 +1,5 @@
fileFormatVersion: 2
-guid: 99361805272d7f6419384097857e2bd6
+guid: 87159085b5778b14482ec38673729d95
MonoImporter:
externalObjects: {}
serializedVersion: 2
diff --git a/Assets/Entities/ScriptableObjects/SStructureBaseList.cs b/Assets/Entities/ScriptableObjects/SoStructureBaseList.cs
similarity index 62%
rename from Assets/Entities/ScriptableObjects/SStructureBaseList.cs
rename to Assets/Entities/ScriptableObjects/SoStructureBaseList.cs
index 6eb1d0d..42ea48c 100644
--- a/Assets/Entities/ScriptableObjects/SStructureBaseList.cs
+++ b/Assets/Entities/ScriptableObjects/SoStructureBaseList.cs
@@ -1,10 +1,11 @@
using System.Collections.Generic;
+using AsteroidGame.Entities;
using UnityEngine;
-namespace AsteroidGame.Entities
+namespace AsteroidGame.ScriptableObjects
{
[CreateAssetMenu(fileName = "newStructureList", menuName = "Structures/StructureList")]
- public class SStructureBaseList : ScriptableObject
+ public class SoStructureBaseList : ScriptableObject
{
public List _structureList;
}
diff --git a/Assets/Entities/ScriptableObjects/SStructureBaseList.cs.meta b/Assets/Entities/ScriptableObjects/SoStructureBaseList.cs.meta
similarity index 100%
rename from Assets/Entities/ScriptableObjects/SStructureBaseList.cs.meta
rename to Assets/Entities/ScriptableObjects/SoStructureBaseList.cs.meta
diff --git a/Assets/Entities/ScriptableObjects/SoStructureBaseRuntimeSet.cs b/Assets/Entities/ScriptableObjects/SoStructureBaseRuntimeSet.cs
new file mode 100644
index 0000000..0d01258
--- /dev/null
+++ b/Assets/Entities/ScriptableObjects/SoStructureBaseRuntimeSet.cs
@@ -0,0 +1,11 @@
+using AsteroidGame.Entities;
+using GameDev.CoreSystems;
+using UnityEngine;
+
+namespace AsteroidGame.ScriptableObjects
+{
+ [CreateAssetMenu(fileName = "newStructureBaseRuntimeSet", menuName = "RuntimeSet/StructureBase")]
+ public class SoStructureBaseRuntimeSet : SoRuntimeSet
+ {
+ }
+}
\ No newline at end of file
diff --git a/Assets/Entities/ScriptableObjects/SStructureBaseRuntimeSet.cs.meta b/Assets/Entities/ScriptableObjects/SoStructureBaseRuntimeSet.cs.meta
similarity index 100%
rename from Assets/Entities/ScriptableObjects/SStructureBaseRuntimeSet.cs.meta
rename to Assets/Entities/ScriptableObjects/SoStructureBaseRuntimeSet.cs.meta
diff --git a/Assets/Entities/ScriptableObjects/SoTargeterConfig.cs b/Assets/Entities/ScriptableObjects/SoTargeterConfig.cs
new file mode 100644
index 0000000..8951174
--- /dev/null
+++ b/Assets/Entities/ScriptableObjects/SoTargeterConfig.cs
@@ -0,0 +1,22 @@
+using GameDev.CoreSystems;
+using UnityEngine;
+using UnityEngine.Serialization;
+
+namespace AsteroidGame.ScriptableObjects
+{
+ [CreateAssetMenu(fileName = "newTargeterConfiguration", menuName = "Configuration/Targeter")]
+ public class SoTargeterConfig : ScriptableObject
+ {
+ [FormerlySerializedAs("_range")]
+ public float _maxRange;
+ public float _minRange;
+ public TargetStrategy _selectedTargetStrategy;
+ public SoTargetableRuntimeSet _activeEntities;
+
+ public enum TargetStrategy
+ {
+ LowestRange,
+ LowestHealth
+ };
+ }
+}
\ No newline at end of file
diff --git a/Assets/Entities/ScriptableObjects/STargeterConfig.cs.meta b/Assets/Entities/ScriptableObjects/SoTargeterConfig.cs.meta
similarity index 100%
rename from Assets/Entities/ScriptableObjects/STargeterConfig.cs.meta
rename to Assets/Entities/ScriptableObjects/SoTargeterConfig.cs.meta
diff --git a/Assets/Entities/ScriptableObjects/SWeaponConfig.cs b/Assets/Entities/ScriptableObjects/SoWeaponConfig.cs
similarity index 73%
rename from Assets/Entities/ScriptableObjects/SWeaponConfig.cs
rename to Assets/Entities/ScriptableObjects/SoWeaponConfig.cs
index 29d4104..2b656d3 100644
--- a/Assets/Entities/ScriptableObjects/SWeaponConfig.cs
+++ b/Assets/Entities/ScriptableObjects/SoWeaponConfig.cs
@@ -1,9 +1,9 @@
-using AsteroidGame.Interfaces;
+using GameDev.CoreSystems;
using UnityEngine;
-namespace AsteroidGame.Entities
+namespace AsteroidGame.ScriptableObjects
{
- public class SWeaponConfig : ScriptableObject, IWeapon
+ public class SoWeaponConfig : ScriptableObject, IWeapon
{
[SerializeField] private float _fireRate;
[SerializeField] private float _damage;
diff --git a/Assets/Entities/ScriptableObjects/SWeaponConfig.cs.meta b/Assets/Entities/ScriptableObjects/SoWeaponConfig.cs.meta
similarity index 100%
rename from Assets/Entities/ScriptableObjects/SWeaponConfig.cs.meta
rename to Assets/Entities/ScriptableObjects/SoWeaponConfig.cs.meta
diff --git a/Assets/Entities/Scripts.meta b/Assets/Entities/Scripts.meta
new file mode 100644
index 0000000..dabcc8a
--- /dev/null
+++ b/Assets/Entities/Scripts.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 087e96d3ceec42f9aba85753a4b8d15f
+timeCreated: 1665005789
\ No newline at end of file
diff --git a/Assets/Entities/Enemies/Scripts/EnemyBase.cs b/Assets/Entities/Scripts/EnemyBase.cs
similarity index 51%
rename from Assets/Entities/Enemies/Scripts/EnemyBase.cs
rename to Assets/Entities/Scripts/EnemyBase.cs
index e6fdd79..a9b800e 100644
--- a/Assets/Entities/Enemies/Scripts/EnemyBase.cs
+++ b/Assets/Entities/Scripts/EnemyBase.cs
@@ -1,4 +1,4 @@
-using System;
+using AsteroidGame.ScriptableObjects;
using UnityEngine;
using UnityEngine.AI;
@@ -6,35 +6,43 @@ namespace AsteroidGame.Entities
{
public class EnemyBase : EntityBase
{
- [SerializeField] private SEntityBaseRuntimeSet _enemyBaseSet;
+ [SerializeField] private SoEntityBaseRuntimeSet _enemyBaseSet;
- [Header("Targeter")]
- [SerializeField] private STargeterConfig _targeterConfig;
- [SerializeField] private Targeter _targeter;
- [SerializeField] private EntityBase _target;
+ [field: Header("Targeter")]
+ [field: SerializeField] public Targeter Targeter { get; set; }
- [Header("NavMeshAgent")]
+ [field: Header("NavMeshAgent")]
[SerializeField] private NavMeshAgent _navMeshAgent;
protected override void OnEnable()
{
base.OnEnable();
- _enemyBaseSet.Add(this);
- InitializeTargeter();
- InitializeNavMeshAgent();
- }
- private void InitializeNavMeshAgent()
- {
- _navMeshAgent = gameObject.AddComponent();
- _navMeshAgent.speed = 0.1f;
+ _enemyBaseSet.Add(this);
+
+ InitializeTargeter();
+
+ InitializeNavMeshAgent();
}
private void InitializeTargeter()
{
- _targeter = gameObject.AddComponent();
- _targeter.SetParent(this);
- _targeter.SetConfig(_targeterConfig);
+ if (Targeter != null)
+ {
+ Targeter = gameObject.GetComponentInChildren();
+ }
+
+ Targeter.SetParent(Targetable);
+ }
+
+ private void InitializeNavMeshAgent()
+ {
+ if (_navMeshAgent != null)
+ {
+ _navMeshAgent = gameObject.GetComponentInChildren();
+ }
+
+ _navMeshAgent.speed = 0.1f;
}
protected override void OnDisable()
@@ -45,11 +53,10 @@ namespace AsteroidGame.Entities
private void Update()
{
- if (_targeter.FoundTarget())
- {
- _target = _targeter.GetTarget();
- _navMeshAgent.SetDestination(_target.GetBasePosition());
- }
+ if (!Targeter.FoundTarget()) return;
+
+ Targetable = Targeter.GetTarget();
+ _navMeshAgent.SetDestination(Targetable.GetBasePosition());
}
}
}
\ No newline at end of file
diff --git a/Assets/Entities/Enemies/Scripts/EnemyBase.cs.meta b/Assets/Entities/Scripts/EnemyBase.cs.meta
similarity index 100%
rename from Assets/Entities/Enemies/Scripts/EnemyBase.cs.meta
rename to Assets/Entities/Scripts/EnemyBase.cs.meta
diff --git a/Assets/Entities/Scripts/EntityBase.cs b/Assets/Entities/Scripts/EntityBase.cs
new file mode 100644
index 0000000..ba9f087
--- /dev/null
+++ b/Assets/Entities/Scripts/EntityBase.cs
@@ -0,0 +1,65 @@
+using AsteroidGame.ScriptableObjects;
+using GameDev.CoreSystems;
+using UnityEngine;
+
+namespace AsteroidGame.Entities
+{
+ public class EntityBase : MonoBehaviour
+ {
+ [field: Header("Damageable")]
+ [field: SerializeField] public Damageable Damageable { get; set; }
+
+ [field: Header("Targetable")]
+ [field: SerializeField] public Targetable Targetable { get; set; }
+
+ [Header("UI")]
+ [SerializeField] protected string _uiFriendlyName;
+
+ [Space]
+ [SerializeField] private SoEntityBaseRuntimeSet _entityBaseSet;
+
+ #region Props
+
+ public string UiFriendlyName => _uiFriendlyName;
+
+ #endregion
+
+ private void Awake()
+ {
+ InitializeDamageable();
+
+ InitializeTargetable();
+
+ AssignDamageable();
+ }
+
+ protected virtual void OnEnable()
+ {
+ _entityBaseSet.Add(this);
+ }
+
+ protected virtual void OnDisable()
+ {
+ _entityBaseSet.Remove(this);
+ }
+
+ private void InitializeDamageable()
+ {
+ if (Damageable != null) return;
+ Damageable = gameObject.AddComponent();
+ }
+
+ private void InitializeTargetable()
+ {
+ if (Targetable != null) return;
+ Targetable = gameObject.AddComponent();
+ }
+
+ private void AssignDamageable()
+ {
+ if (Targetable.Damageable != null) return;
+
+ Targetable.Damageable = Damageable;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/Entities/EntityBase.cs.meta b/Assets/Entities/Scripts/EntityBase.cs.meta
similarity index 100%
rename from Assets/Entities/EntityBase.cs.meta
rename to Assets/Entities/Scripts/EntityBase.cs.meta
diff --git a/Assets/Entities/Scripts/PowerBase.cs b/Assets/Entities/Scripts/PowerBase.cs
new file mode 100644
index 0000000..8feaa01
--- /dev/null
+++ b/Assets/Entities/Scripts/PowerBase.cs
@@ -0,0 +1,42 @@
+using AsteroidGame.ScriptableObjects;
+using GameDev.CoreSystems;
+using UnityEngine;
+
+namespace AsteroidGame.Entities
+{
+ public class PowerBase : MonoBehaviour, IPowerSystem
+ {
+ [Header("State")]
+ [SerializeField] protected bool _isGenerator = true;
+ [SerializeField] protected bool _isConsumer = true;
+ [SerializeField] protected int _maxPower;
+ [SerializeField] protected int _currentPower;
+
+ public void SetConfig(SoPowerConfig config)
+ {
+ _isGenerator = config.isGenerator;
+ _isConsumer = config.isConsumer;
+ _maxPower = config.maxPower;
+ }
+
+ #region Setters
+
+ public void SetMaxPower(int newValue) => _maxPower = newValue;
+
+ #endregion
+
+ #region Getters
+
+ public bool IsGenerator => _isGenerator;
+
+ public bool IsConsumer => _isConsumer;
+
+ public int GetMaxPower() => _maxPower;
+
+ public int GetCurrentPower() => _currentPower;
+
+ public float GetPowerFactor() => (float)_currentPower / _maxPower;
+
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/Assets/Entities/Scripts/PowerBase.cs.meta b/Assets/Entities/Scripts/PowerBase.cs.meta
new file mode 100644
index 0000000..c45b37a
--- /dev/null
+++ b/Assets/Entities/Scripts/PowerBase.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 5aca1826fdd547e1afd4a67d55a0f25c
+timeCreated: 1665006027
\ No newline at end of file
diff --git a/Assets/Entities/Scripts/Targeter.cs b/Assets/Entities/Scripts/Targeter.cs
new file mode 100644
index 0000000..15f63eb
--- /dev/null
+++ b/Assets/Entities/Scripts/Targeter.cs
@@ -0,0 +1,86 @@
+using AsteroidGame.ScriptableObjects;
+using GameDev.CoreSystems;
+using UnityEngine;
+using UnityEngine.Serialization;
+
+namespace AsteroidGame.Entities
+{
+ public class Targeter : MonoBehaviour
+ {
+ [SerializeField] private SoTargeterConfig _targeterConfig;
+
+ [SerializeField] private float _range;
+ [SerializeField] private SoTargeterConfig.TargetStrategy _targetStrategy;
+ [FormerlySerializedAs("_activeEntities")]
+ [SerializeField] private SoTargetableRuntimeSet _activeTargetable;
+ [SerializeField] private Targetable _targeterParent;
+ [field: SerializeField] public Targetable TargetEntity { get; set; }
+
+ private void OnEnable()
+ {
+ SetConfig(_targeterConfig);
+ }
+
+ public void SetParent(Targetable newParent) => _targeterParent = newParent;
+
+ public void SetConfig(SoTargeterConfig config)
+ {
+ _range = config._maxRange;
+ _targetStrategy = config._selectedTargetStrategy;
+ _activeTargetable = config._activeEntities;
+ }
+
+ public Targetable GetTarget()
+ {
+ return TargetEntity;
+ }
+
+ public bool FoundTarget()
+ {
+ var currentBestValue = Mathf.Infinity;
+ var targetFound = false;
+
+ foreach (var targetEntity in _activeTargetable._list)
+ {
+ var distanceToTarget =
+ Vector3.Magnitude(targetEntity.GetCenterPosition() - _targeterParent.GetCenterPosition());
+
+ var withinRange = distanceToTarget < _range;
+ if (withinRange)
+ {
+ switch (_targetStrategy)
+ {
+ case SoTargeterConfig.TargetStrategy.LowestRange:
+ {
+ var isClosest = distanceToTarget < currentBestValue;
+ if (isClosest)
+ {
+ targetFound = true;
+ currentBestValue = distanceToTarget;
+ TargetEntity = targetEntity;
+ }
+
+ break;
+ }
+ case SoTargeterConfig.TargetStrategy.LowestHealth:
+ {
+ float enemyHealth = targetEntity.Damageable.GetCurrentHealth();
+
+ var isLowestHealth = enemyHealth < currentBestValue;
+ if (isLowestHealth)
+ {
+ targetFound = true;
+ currentBestValue = enemyHealth;
+ TargetEntity = targetEntity;
+ }
+
+ break;
+ }
+ }
+ }
+ }
+
+ return targetFound;
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/Entities/Targeter.cs.meta b/Assets/Entities/Scripts/Targeter.cs.meta
similarity index 100%
rename from Assets/Entities/Targeter.cs.meta
rename to Assets/Entities/Scripts/Targeter.cs.meta
diff --git a/Assets/Entities/Structures/PowerPlant/PowerPlant.prefab b/Assets/Entities/Structures/PowerPlant/PowerPlant.prefab
index 05a48e5..4380ff9 100644
--- a/Assets/Entities/Structures/PowerPlant/PowerPlant.prefab
+++ b/Assets/Entities/Structures/PowerPlant/PowerPlant.prefab
@@ -24,15 +24,15 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1134055636167264334}
+ serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- - {fileID: 7701460482385480461}
- - {fileID: 1841478903898566568}
+ - {fileID: 5262269693041317168}
+ - {fileID: 8823548950904274780}
m_Father: {fileID: 0}
- m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &5166195223278443568
MonoBehaviour:
@@ -46,21 +46,65 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: b5b8b24a2cbe7294c90fb34afeca78e7, type: 3}
m_Name:
m_EditorClassIdentifier:
- _health: 10
- _maxHealth: 0
- _isInvulnerable: 0
- _centerPosition: {fileID: 1841478903898566568}
- _basePosition: {fileID: 493861824998956378}
+ k__BackingField: {fileID: 4803755810606958043}
+ k__BackingField: {fileID: 4098794156838288170}
_uiFriendlyName: Power\nPlant
_entityBaseSet: {fileID: 11400000, guid: c5542e77624472441a67b1f34e19a116, type: 2}
_cost: 100
_buildPlacementBlocked: 0
_buildTimer: 0
- _isGenerator: 1
- _isConsumer: 0
- _maxPower: 100
- _currentPower: 0
_structureBaseSet: {fileID: 11400000, guid: 1925957d2bc2f0c4a9210131f2d2c4e5, type: 2}
+ _powerBaseSet: {fileID: 11400000, guid: 127d26f1f3536e94da36af662f63fa0b, type: 2}
+ _powerConfig: {fileID: 11400000, guid: 742a00ce6f6a8e04cae160bc40f09e24, type: 2}
+ _power: {fileID: 0}
+--- !u!1 &1139200854042314162
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 705421445933726062}
+ - component: {fileID: 4098794156838288170}
+ m_Layer: 0
+ m_Name: Targetable
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &705421445933726062
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1139200854042314162}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5262269693041317168}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &4098794156838288170
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1139200854042314162}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8410932d22e18624787af61d3a4cd191, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _activeTargetableRuntimeSet: {fileID: 11400000, guid: dda2fd5e970bbd642a5ceead1e82783c, type: 2}
+ k__BackingField: {fileID: 0}
+ _centerPosition: {fileID: 4810890945869411434}
+ _basePosition: {fileID: 4377705888661834325}
--- !u!1 &1863277996181035512
GameObject:
m_ObjectHideFlags: 0
@@ -86,13 +130,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1863277996181035512}
+ serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0.28822982, w: 0.95756125}
m_LocalPosition: {x: 0.556, y: 0.30948326, z: 0}
m_LocalScale: {x: 0.22924483, y: 0.41812927, z: 0.34}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 7701460482385480461}
- m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: -33.504}
--- !u!33 &3492591049058222371
MeshFilter:
@@ -144,6 +188,87 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
+--- !u!1 &2456059784061569785
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5262269693041317168}
+ m_Layer: 0
+ m_Name: Functions
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5262269693041317168
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2456059784061569785}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 5508661882298666976}
+ - {fileID: 705421445933726062}
+ m_Father: {fileID: 493861824998956378}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &4141114696578461492
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5508661882298666976}
+ - component: {fileID: 4803755810606958043}
+ m_Layer: 0
+ m_Name: Damageable
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5508661882298666976
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4141114696578461492}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5262269693041317168}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &4803755810606958043
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4141114696578461492}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a845ca774f1a2d341b32451b100c0d1c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _activeDamageableRuntimeSet: {fileID: 11400000, guid: 8332d81762d09114eac45ca6f3b2c4af, type: 2}
+ k__BackingField: 10
+ k__BackingField: 10
+ k__BackingField: 0
--- !u!1 &5696605131341260023
GameObject:
m_ObjectHideFlags: 0
@@ -169,13 +294,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5696605131341260023}
+ serializedVersion: 2
m_LocalRotation: {x: -0.28822976, y: -0, z: -0, w: 0.95756125}
m_LocalPosition: {x: 0, y: 0.30948326, z: -0.556}
m_LocalScale: {x: 0.34, y: 0.4181292, z: 0.22924486}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 7701460482385480461}
- m_RootOrder: 2
m_LocalEulerAnglesHint: {x: -33.504, y: 0, z: 0}
--- !u!33 &5703693206798415631
MeshFilter:
@@ -253,13 +378,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5716373424675870408}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 1.2132, z: 0}
m_LocalScale: {x: 1.85, y: 2.601712, z: 1.85}
m_ConstrainProportionsScale: 1
m_Children: []
- m_Father: {fileID: 493861824998956378}
- m_RootOrder: 1
+ m_Father: {fileID: 8823548950904274780}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &1304836505922952958
MeshFilter:
@@ -319,11 +444,50 @@ BoxCollider:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5716373424675870408}
m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
m_IsTrigger: 1
+ m_ProvidesContacts: 0
m_Enabled: 1
- serializedVersion: 2
+ serializedVersion: 3
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &6555413761965443330
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4377705888661834325}
+ m_Layer: 0
+ m_Name: Ref:BasePosition
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4377705888661834325
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6555413761965443330}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 8823548950904274780}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &6620524653909535726
GameObject:
m_ObjectHideFlags: 0
@@ -349,7 +513,8 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6620524653909535726}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 1.2108, z: 0}
m_LocalScale: {x: 1, y: 2.5856, z: 1}
m_ConstrainProportionsScale: 0
@@ -358,8 +523,8 @@ Transform:
- {fileID: 1754268235013326116}
- {fileID: 4775041521610446741}
- {fileID: 1159293590819248905}
- m_Father: {fileID: 493861824998956378}
- m_RootOrder: 0
+ - {fileID: 4810890945869411434}
+ m_Father: {fileID: 8823548950904274780}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &7914752025160220231
MeshFilter:
@@ -411,6 +576,40 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
+--- !u!1 &7370732990009067680
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 8823548950904274780}
+ m_Layer: 0
+ m_Name: Rig
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &8823548950904274780
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7370732990009067680}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 7701460482385480461}
+ - {fileID: 1841478903898566568}
+ - {fileID: 4377705888661834325}
+ m_Father: {fileID: 493861824998956378}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &7575591860203478988
GameObject:
m_ObjectHideFlags: 0
@@ -436,13 +635,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7575591860203478988}
+ serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: 0.2882297, w: 0.9575613}
m_LocalPosition: {x: -0.556, y: 0.30948326, z: 0}
m_LocalScale: {x: 0.2292449, y: 0.41812924, z: 0.34}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 7701460482385480461}
- m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 33.504}
--- !u!33 &3078844436335607959
MeshFilter:
@@ -519,13 +718,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7795813068735269079}
+ serializedVersion: 2
m_LocalRotation: {x: 0.2882297, y: -0, z: -0, w: 0.9575613}
m_LocalPosition: {x: 0, y: 0.30948326, z: 0.556}
m_LocalScale: {x: 0.34, y: 0.41812924, z: 0.2292449}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 7701460482385480461}
- m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 33.504, y: 0, z: 0}
--- !u!33 &81163167810301819
MeshFilter:
@@ -577,3 +776,34 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
+--- !u!1 &8647181050937376645
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 4810890945869411434}
+ m_Layer: 0
+ m_Name: Ref:CenterPosition
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &4810890945869411434
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8647181050937376645}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 7701460482385480461}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/Assets/Entities/Structures/PowerPlant/PowerplantPowerConfiguration.asset b/Assets/Entities/Structures/PowerPlant/PowerplantPowerConfiguration.asset
new file mode 100644
index 0000000..341585f
--- /dev/null
+++ b/Assets/Entities/Structures/PowerPlant/PowerplantPowerConfiguration.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 87159085b5778b14482ec38673729d95, type: 3}
+ m_Name: PowerplantPowerConfiguration
+ m_EditorClassIdentifier:
+ _activePowerStructures: {fileID: 11400000, guid: 127d26f1f3536e94da36af662f63fa0b, type: 2}
+ isGenerator: 1
+ isConsumer: 0
+ maxPower: 100
diff --git a/Assets/Entities/Structures/PowerPlant/PowerplantPowerConfiguration.asset.meta b/Assets/Entities/Structures/PowerPlant/PowerplantPowerConfiguration.asset.meta
new file mode 100644
index 0000000..3a1bb0c
--- /dev/null
+++ b/Assets/Entities/Structures/PowerPlant/PowerplantPowerConfiguration.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 742a00ce6f6a8e04cae160bc40f09e24
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Entities/Structures/Scripts/Disabler.cs b/Assets/Entities/Structures/Scripts/Disabler.cs
index 34c7410..504c63c 100644
--- a/Assets/Entities/Structures/Scripts/Disabler.cs
+++ b/Assets/Entities/Structures/Scripts/Disabler.cs
@@ -1,3 +1,4 @@
+using AsteroidGame.ScriptableObjects;
using UnityEngine;
using UnityEngine.Serialization;
@@ -6,7 +7,7 @@ namespace AsteroidGame.Entities
public class Disabler : MonoBehaviour
{
[FormerlySerializedAs("Set")]
- [SerializeField] private SStructureBaseRuntimeSet _set;
+ [SerializeField] private SoStructureBaseRuntimeSet _set;
[ContextMenu("Disable All")]
public void DisableAll()
diff --git a/Assets/Entities/Structures/Scripts/StructureBase.cs b/Assets/Entities/Structures/Scripts/StructureBase.cs
index a55c5af..17c2143 100644
--- a/Assets/Entities/Structures/Scripts/StructureBase.cs
+++ b/Assets/Entities/Structures/Scripts/StructureBase.cs
@@ -1,33 +1,27 @@
-
-using AsteroidGame.Interfaces;
+using AsteroidGame.ScriptableObjects;
+using GameDev.CoreSystems;
using UnityEngine;
namespace AsteroidGame.Entities
{
- public class StructureBase : EntityBase, IBuildable, IPowerSystem
+ public class StructureBase : EntityBase, IBuildable
{
[Header("BuildParameters")]
[SerializeField] protected int _cost;
[SerializeField] private bool _buildPlacementBlocked;
[SerializeField] protected float _buildTimer;
- [Header("Power")]
- [SerializeField] protected bool _isGenerator;
- [SerializeField] protected bool _isConsumer;
- [SerializeField] protected int _maxPower;
- [SerializeField] protected int _currentPower;
-
[Header("Configuration")]
- [SerializeField] private SEntityBaseRuntimeSet _structureBaseSet;
-
- #region Private
+ [SerializeField] private SoEntityBaseRuntimeSet _structureBaseSet;
+ [SerializeField] private SoPowerBaseRuntimeSet _powerBaseSet;
- #endregion
+ [Header("Power")]
+ [SerializeField] private SoPowerConfig _powerConfig;
+ [SerializeField] private PowerBase _power;
#region Publics
- public bool IsGenerator => _isGenerator;
- public bool IsConsumer => _isConsumer;
+ public PowerBase Power => _power;
public bool BuildPlacementBlocked => _buildPlacementBlocked;
#endregion
@@ -35,17 +29,23 @@ namespace AsteroidGame.Entities
protected override void OnEnable()
{
base.OnEnable();
- if (!_isConsumer && !_isGenerator)
- {
- Debug.LogWarning("Power consumer/generator not set!");
- }
_structureBaseSet.Add(this);
+ InitializePower();
+ }
+
+ private void InitializePower()
+ {
+ _power = gameObject.AddComponent();
+ _power.SetConfig(_powerConfig);
+ _powerBaseSet.Add(_power);
+
}
protected override void OnDisable()
{
base.OnDisable();
_structureBaseSet.Remove(this);
+ _powerBaseSet.Remove(_power);
}
private void OnTriggerStay(Collider other)
@@ -66,19 +66,12 @@ namespace AsteroidGame.Entities
#region Setters
- public void SetMaxPower(int newValue) => _maxPower = newValue;
public int SetCost(int newCost) => _cost = newCost;
#endregion
#region Getters
- public int GetMaxPower() => _maxPower;
-
- public int GetCurrentPower() => _currentPower;
-
- public float GetPowerFactor() => (float)_currentPower / _maxPower;
-
public int GetCost() => _cost;
#endregion
diff --git a/Assets/Entities/Structures/Turret/Turret.cs b/Assets/Entities/Structures/Turret/Turret.cs
index bd57a4c..a9c6f01 100644
--- a/Assets/Entities/Structures/Turret/Turret.cs
+++ b/Assets/Entities/Structures/Turret/Turret.cs
@@ -1,5 +1,3 @@
-using System;
-using AsteroidGame.Entities.Enemies.Scripts;
using UnityEngine;
namespace AsteroidGame.Entities
@@ -19,10 +17,8 @@ namespace AsteroidGame.Entities
[SerializeField] private Transform _turretHead;
[SerializeField] private Transform _barrel;
- [Header("Targeter")]
- [SerializeField] private STargeterConfig _targeterConfig;
- [SerializeField] private Targeter _targeter;
- [SerializeField] private EntityBase _target;
+ [field: Header("Targeter")]
+ [field: SerializeField] public Targeter Targeter { get; set; }
#region Publics
@@ -42,18 +38,13 @@ namespace AsteroidGame.Entities
private void InitializeTargeter()
{
- _targeter = gameObject.AddComponent();
- _targeter.SetParent(this);
- _targeter.SetConfig(_targeterConfig);
+ Targeter.SetParent(Targetable);
}
private void Update()
{
- if (_targeter.FoundTarget())
- {
- _target = _targeter.GetTarget();
- _turretHead.transform.LookAt(_target.GetCenterPosition());
- }
+ if (!Targeter.FoundTarget()) return;
+ _turretHead.transform.LookAt(Targeter.GetTarget().GetCenterPosition());
}
}
}
\ No newline at end of file
diff --git a/Assets/Entities/Structures/Turret/Turret.prefab b/Assets/Entities/Structures/Turret/Turret.prefab
index 0132361..7d1faae 100644
--- a/Assets/Entities/Structures/Turret/Turret.prefab
+++ b/Assets/Entities/Structures/Turret/Turret.prefab
@@ -1,5 +1,118 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &258812495471396799
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 5898541643653152293}
+ m_Layer: 0
+ m_Name: Functions
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &5898541643653152293
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 258812495471396799}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 6280290603549554065}
+ - {fileID: 1742443095838507103}
+ - {fileID: 989884077484375908}
+ m_Father: {fileID: 8324879816836607384}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1118725470430693759
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1742443095838507103}
+ - component: {fileID: 3738931345656042189}
+ m_Layer: 0
+ m_Name: Targetable
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1742443095838507103
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1118725470430693759}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5898541643653152293}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &3738931345656042189
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1118725470430693759}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 8410932d22e18624787af61d3a4cd191, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _activeTargetableRuntimeSet: {fileID: 11400000, guid: dda2fd5e970bbd642a5ceead1e82783c, type: 2}
+ k__BackingField: {fileID: 0}
+ _centerPosition: {fileID: 6894291031605712785}
+ _basePosition: {fileID: 9116849480152445015}
+--- !u!1 &1413342146147867861
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 9116849480152445015}
+ m_Layer: 0
+ m_Name: Ref:BasePosition
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &9116849480152445015
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1413342146147867861}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 914060668543750284}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1664455431739434982
GameObject:
m_ObjectHideFlags: 0
@@ -25,13 +138,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1664455431739434982}
+ serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: -1.079, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5103935544653627402}
- m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &8859758648044048825
MeshFilter:
@@ -108,13 +221,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4124039516271301344}
- m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
- m_Father: {fileID: 8324879816836607384}
- m_RootOrder: 1
+ m_Father: {fileID: 914060668543750284}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &1304876018251197107
MeshFilter:
@@ -166,6 +279,54 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
+--- !u!1 &4179579253724962159
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6280290603549554065}
+ - component: {fileID: 3620345197547817675}
+ m_Layer: 0
+ m_Name: Damageable
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6280290603549554065
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4179579253724962159}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5898541643653152293}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &3620345197547817675
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 4179579253724962159}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: a845ca774f1a2d341b32451b100c0d1c, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _activeDamageableRuntimeSet: {fileID: 11400000, guid: 8332d81762d09114eac45ca6f3b2c4af, type: 2}
+ k__BackingField: 10
+ k__BackingField: 10
+ k__BackingField: 0
--- !u!1 &5103935544653627403
GameObject:
m_ObjectHideFlags: 0
@@ -189,6 +350,7 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5103935544653627403}
+ serializedVersion: 2
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}
@@ -199,7 +361,6 @@ Transform:
- {fileID: 1987518899328085188}
- {fileID: 6648276078230438600}
m_Father: {fileID: 5103935544759496321}
- m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &5103935544759496322
GameObject:
@@ -224,14 +385,15 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5103935544759496322}
+ serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 2.079, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5103935544653627402}
- m_Father: {fileID: 8324879816836607384}
- m_RootOrder: 3
+ - {fileID: 6894291031605712785}
+ m_Father: {fileID: 914060668543750284}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &5103935545559248080
GameObject:
@@ -256,6 +418,7 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5103935545559248080}
+ serializedVersion: 2
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}
@@ -263,7 +426,6 @@ Transform:
m_Children:
- {fileID: 2391693866166879097}
m_Father: {fileID: 5103935544653627402}
- m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &5357542139584026431
GameObject:
@@ -290,13 +452,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5357542139584026431}
+ serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: -1.079, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5103935544653627402}
- m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &775574265991703308
MeshFilter:
@@ -373,13 +535,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5596001871688408902}
+ serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: -1.079, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5103935545559248087}
- m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &723672318811111496
MeshFilter:
@@ -456,13 +618,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5789912094253160437}
+ serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
- m_Father: {fileID: 8324879816836607384}
- m_RootOrder: 0
+ m_Father: {fileID: 914060668543750284}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &5270923650227924917
MeshFilter:
@@ -514,6 +676,37 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
+--- !u!1 &6108461410568607280
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 6894291031605712785}
+ m_Layer: 0
+ m_Name: Ref:CenterPosition
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &6894291031605712785
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 6108461410568607280}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5103935544759496321}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &6567584540310777777
GameObject:
m_ObjectHideFlags: 0
@@ -539,13 +732,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6567584540310777777}
+ serializedVersion: 2
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: -1.079, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5103935544653627402}
- m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &5589015655606442813
MeshFilter:
@@ -597,6 +790,56 @@ MeshRenderer:
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
+--- !u!1 &7318577146850956278
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 989884077484375908}
+ - component: {fileID: 310569669314672228}
+ m_Layer: 0
+ m_Name: Targeter
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &989884077484375908
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7318577146850956278}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 5898541643653152293}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &310569669314672228
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 7318577146850956278}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 28bcd65de1e3cf744a3ac9b53c030319, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ _targeterConfig: {fileID: 11400000, guid: 9df40bc219ab8f04cb4e86558bc0df86, type: 2}
+ _range: 0
+ _targetStrategy: 0
+ _activeTargetable: {fileID: 0}
+ _targeterParent: {fileID: 0}
+ k__BackingField: {fileID: 0}
--- !u!1 &8385032484663529878
GameObject:
m_ObjectHideFlags: 0
@@ -623,13 +866,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8385032484663529878}
- m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: 0, y: 1.55, z: 0}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+ m_LocalPosition: {x: 0, y: 1.5500001, z: 0}
m_LocalScale: {x: 4.75, y: 3, z: 4.75}
m_ConstrainProportionsScale: 0
m_Children: []
- m_Father: {fileID: 8324879816836607384}
- m_RootOrder: 2
+ m_Father: {fileID: 914060668543750284}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &3888725377378342825
MeshFilter:
@@ -689,11 +932,55 @@ BoxCollider:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8385032484663529878}
m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
m_IsTrigger: 1
+ m_ProvidesContacts: 0
m_Enabled: 1
- serializedVersion: 2
+ serializedVersion: 3
m_Size: {x: 1, y: 1.0236204, z: 1}
m_Center: {x: 0, y: 0, z: 0}
+--- !u!1 &8401904230309918259
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 914060668543750284}
+ m_Layer: 0
+ m_Name: Rig
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &914060668543750284
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 8401904230309918259}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_ConstrainProportionsScale: 0
+ m_Children:
+ - {fileID: 3853332211859768904}
+ - {fileID: 8338452631907263897}
+ - {fileID: 2545305406868440440}
+ - {fileID: 5103935544759496321}
+ - {fileID: 9116849480152445015}
+ m_Father: {fileID: 8324879816836607384}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &8704396752535238434
GameObject:
m_ObjectHideFlags: 0
@@ -718,17 +1005,15 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8704396752535238434}
+ serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.3, y: 0.3, z: 0.3}
m_ConstrainProportionsScale: 1
m_Children:
- - {fileID: 3853332211859768904}
- - {fileID: 8338452631907263897}
- - {fileID: 2545305406868440440}
- - {fileID: 5103935544759496321}
+ - {fileID: 5898541643653152293}
+ - {fileID: 914060668543750284}
m_Father: {fileID: 0}
- m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &8787361557661825162
MonoBehaviour:
@@ -742,22 +1027,17 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: d3a16cf44e28f02409c23498ed14acf5, type: 3}
m_Name:
m_EditorClassIdentifier:
- _health: 10
- _maxHealth: 0
- _isInvulnerable: 0
- _centerPosition: {fileID: 5103935544759496321}
- _basePosition: {fileID: 8324879816836607384}
+ k__BackingField: {fileID: 3620345197547817675}
+ k__BackingField: {fileID: 3738931345656042189}
_uiFriendlyName: Turret
_entityBaseSet: {fileID: 11400000, guid: c5542e77624472441a67b1f34e19a116, type: 2}
_cost: 10
_buildPlacementBlocked: 0
_buildTimer: 0
- _isGenerator: 0
- _isConsumer: 1
- _maxPower: 10
- _currentPower: 0
_structureBaseSet: {fileID: 11400000, guid: 1925957d2bc2f0c4a9210131f2d2c4e5, type: 2}
- _weaponRange: 10
+ _powerBaseSet: {fileID: 11400000, guid: 127d26f1f3536e94da36af662f63fa0b, type: 2}
+ _powerConfig: {fileID: 11400000, guid: 9dc2a0f5f29a11a4d9cabe19e18bdd42, type: 2}
+ _power: {fileID: 0}
_damage: 1
_fireRate: 1
_projectileSpeed: 5
@@ -765,6 +1045,4 @@ MonoBehaviour:
_damageDealt: 0
_turretHead: {fileID: 5103935544653627402}
_barrel: {fileID: 5103935545559248087}
- _targeterConfig: {fileID: 11400000, guid: 9df40bc219ab8f04cb4e86558bc0df86, type: 2}
- _targeter: {fileID: 0}
- _targetEnemy: {fileID: 0}
+ k__BackingField: {fileID: 310569669314672228}
diff --git a/Assets/Entities/Structures/Turret/TurretPowerConfiguration.asset b/Assets/Entities/Structures/Turret/TurretPowerConfiguration.asset
new file mode 100644
index 0000000..25e6019
--- /dev/null
+++ b/Assets/Entities/Structures/Turret/TurretPowerConfiguration.asset
@@ -0,0 +1,18 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 87159085b5778b14482ec38673729d95, type: 3}
+ m_Name: TurretPowerConfiguration
+ m_EditorClassIdentifier:
+ _activePowerStructures: {fileID: 11400000, guid: 127d26f1f3536e94da36af662f63fa0b, type: 2}
+ isGenerator: 0
+ isConsumer: 1
+ maxPower: 10
diff --git a/Assets/Entities/Structures/Turret/TurretPowerConfiguration.asset.meta b/Assets/Entities/Structures/Turret/TurretPowerConfiguration.asset.meta
new file mode 100644
index 0000000..710fddb
--- /dev/null
+++ b/Assets/Entities/Structures/Turret/TurretPowerConfiguration.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9dc2a0f5f29a11a4d9cabe19e18bdd42
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Entities/Structures/Turret/TurretStandardTargeterConfiguration.asset b/Assets/Entities/Structures/Turret/TurretStandardTargeterConfiguration.asset
index e30cd39..1148d54 100644
--- a/Assets/Entities/Structures/Turret/TurretStandardTargeterConfiguration.asset
+++ b/Assets/Entities/Structures/Turret/TurretStandardTargeterConfiguration.asset
@@ -12,6 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 02781660543c12d4ebddaf334eb0d730, type: 3}
m_Name: TurretStandardTargeterConfiguration
m_EditorClassIdentifier:
- _range: 15
+ _maxRange: 15
+ _minRange: 0.5
_selectedTargetStrategy: 0
- _activeEntities: {fileID: 11400000, guid: e5f25127d92be074aac6e7b745fae107, type: 2}
+ _activeEntities: {fileID: 11400000, guid: 85e03587d1a940f438ceac70a3d544d5, type: 2}
diff --git a/Assets/Entities/Targeter.cs b/Assets/Entities/Targeter.cs
deleted file mode 100644
index 2885c8d..0000000
--- a/Assets/Entities/Targeter.cs
+++ /dev/null
@@ -1,75 +0,0 @@
-using UnityEngine;
-
-namespace AsteroidGame.Entities
-{
- public class Targeter : MonoBehaviour
- {
- [SerializeField] private float _range;
- [SerializeField] private STargeterConfig.TargetStrategy _targetStrategy;
- [SerializeField] private SEntityBaseRuntimeSet _activeEntities;
- [SerializeField] private EntityBase _targeterParent;
- [SerializeField] private EntityBase _targetEntity;
-
- public void SetParent(EntityBase newParent) => _targeterParent = newParent;
-
- public void SetConfig(STargeterConfig config)
- {
- _range = config._range;
- _targetStrategy = config._selectedTargetStrategy;
- _activeEntities = config._activeEntities;
- }
-
- public EntityBase GetTarget()
- {
- return _targetEntity;
- }
-
- public bool FoundTarget()
- {
- float currentBestValue = Mathf.Infinity;
- var targetFound = false;
-
- foreach (EntityBase targetEntity in _activeEntities._list)
- {
- float distanceToTarget =
- Vector3.Magnitude(targetEntity.GetCenterPosition() - _targeterParent.GetCenterPosition());
-
- bool withinRange = distanceToTarget < _range;
- if (withinRange)
- {
- switch (_targetStrategy)
- {
- case STargeterConfig.TargetStrategy.LowestRange:
- {
- bool isClosest = distanceToTarget < currentBestValue;
- if (isClosest)
- {
- targetFound = true;
- currentBestValue = distanceToTarget;
- _targetEntity = targetEntity;
- }
-
- break;
- }
- case STargeterConfig.TargetStrategy.LowestHealth:
- {
- float enemyHealth = targetEntity.GetHealth();
-
- bool isLowestHealth = enemyHealth < currentBestValue;
- if (isLowestHealth)
- {
- targetFound = true;
- currentBestValue = enemyHealth;
- _targetEntity = targetEntity;
- }
-
- break;
- }
- }
- }
- }
-
- return targetFound;
- }
- }
-}
\ No newline at end of file
diff --git a/Assets/Handlers/BuildingHandler.cs b/Assets/Handlers/BuildingHandler.cs
index df96d9c..bef7e1b 100644
--- a/Assets/Handlers/BuildingHandler.cs
+++ b/Assets/Handlers/BuildingHandler.cs
@@ -1,4 +1,5 @@
using AsteroidGame.Entities;
+using AsteroidGame.ScriptableObjects;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.Serialization;
@@ -16,11 +17,13 @@ namespace AsteroidGame.Handlers
[SerializeField] private bool _isBuilding;
[SerializeField] private int _buildingSelector;
+ [FormerlySerializedAs("_availableSStructures")]
[FormerlySerializedAs("_availableStructures")]
[Header("Structures")]
- [SerializeField] private SStructureBaseList _availableSStructures;
+ [SerializeField] private SoStructureBaseList _availableSoStructures;
#region Private
+
private Color _colorCurrent;
private Camera _camera;
private Vector3 _tempVec;
@@ -34,14 +37,9 @@ namespace AsteroidGame.Handlers
protected override void OnEnable()
{
base.OnEnable();
- // for (int i = 0; i < _availableStructuresObject._structureList.Count; i++)
- // {
- // _availableStructures.Add(i, _availableStructuresObject._structureList[i]);
- // }
_camera = Camera.main;
_buildPlane = new Plane(Vector3.up, Vector3.zero);
- //_activeStructures.Clear();
}
private void Update()
@@ -107,7 +105,8 @@ namespace AsteroidGame.Handlers
private void SpawnGhostStructure()
{
- _ghostStructure = Instantiate(_availableSStructures._structureList[_buildingSelector], GetPlanePoint(), Quaternion.identity,
+ _ghostStructure = Instantiate(_availableSoStructures._structureList[_buildingSelector], GetPlanePoint(),
+ Quaternion.identity,
transform);
_ghostStructure.name = "GhostStructure";
@@ -131,10 +130,9 @@ namespace AsteroidGame.Handlers
private void SpawnStructure()
{
- _tempStructure = Instantiate(_availableSStructures._structureList[_buildingSelector], GetPlanePoint(), Quaternion.identity,
+ _tempStructure = Instantiate(_availableSoStructures._structureList[_buildingSelector], GetPlanePoint(),
+ Quaternion.identity,
transform);
- // _activeStructures.Add(_tempStructure);
- // _buildingLists[0].Add(_tempStructure);
}
#region Getters
@@ -151,16 +149,6 @@ namespace AsteroidGame.Handlers
return Vector3.zero;
}
- // public List GetAvailableStructures()
- // {
- // return _availableStructures._structureList;
- // }
-
- // public List GetActiveStructures()
- // {
- // return _activeStructures;
- // }
-
#endregion
#region Setters
diff --git a/Assets/Handlers/EnemyHandler.cs b/Assets/Handlers/EnemyHandler.cs
index ed2e6a7..2f77c78 100644
--- a/Assets/Handlers/EnemyHandler.cs
+++ b/Assets/Handlers/EnemyHandler.cs
@@ -1,4 +1,4 @@
-using AsteroidGame.Entities;
+using AsteroidGame.ScriptableObjects;
using UnityEngine;
namespace AsteroidGame.Handlers
@@ -10,9 +10,9 @@ namespace AsteroidGame.Handlers
[SerializeField] private int _objectPoolSize = 15;
[Header("Configuration")]
- [SerializeField] private SEnemyBaseList _availableEnemies;
+ [SerializeField] private SoEnemyBaseList _availableEnemies;
[Header("Lists")]
- [SerializeField] private SEnemyBaseRuntimeSet _activeEnemies;
+ [SerializeField] private SoEntityBaseRuntimeSet _activeEnemies;
}
}
\ No newline at end of file
diff --git a/Assets/Handlers/EnemyHandler.prefab b/Assets/Handlers/EnemyHandler.prefab
index 64e155d..81be6a2 100644
--- a/Assets/Handlers/EnemyHandler.prefab
+++ b/Assets/Handlers/EnemyHandler.prefab
@@ -47,4 +47,4 @@ MonoBehaviour:
_spawnRate: 60
_objectPoolSize: 15
_availableEnemies: {fileID: 11400000, guid: 00c435d92e1df55499826c91b4f1e62f, type: 2}
- _activeEnemies: {fileID: 11400000, guid: 5f6dc84d75dbd9a459e519de42279066, type: 2}
+ _activeEnemies: {fileID: 11400000, guid: e5f25127d92be074aac6e7b745fae107, type: 2}
diff --git a/Assets/Handlers/PowerHandler.cs b/Assets/Handlers/PowerHandler.cs
index dc3e9f4..5fcf96a 100644
--- a/Assets/Handlers/PowerHandler.cs
+++ b/Assets/Handlers/PowerHandler.cs
@@ -1,5 +1,5 @@
using System;
-using AsteroidGame.Entities;
+using AsteroidGame.ScriptableObjects;
using UnityEngine;
namespace AsteroidGame.Handlers
@@ -13,14 +13,15 @@ namespace AsteroidGame.Handlers
[SerializeField] private float _powerFactor;
[Header("Connections")]
- [SerializeField] private SStructureBaseRuntimeSet _activeStructures;
+ [SerializeField] private SoPowerBaseRuntimeSet _activePowerStructures;
+
private void Update()
{
_powerConsumption = 0;
_powerConsumptionPeak = 0;
_powerCapacity = 0;
- foreach (var structure in _activeStructures._list)
+ foreach (var structure in _activePowerStructures._list)
{
if (structure.IsConsumer)
{
@@ -43,7 +44,7 @@ namespace AsteroidGame.Handlers
_powerFactor = 0;
}
}
-
+
public int GetMaxPower()
{
throw new NotImplementedException();
diff --git a/Assets/Handlers/PowerHandler.prefab b/Assets/Handlers/PowerHandler.prefab
index 7ea268e..cb7a2c0 100644
--- a/Assets/Handlers/PowerHandler.prefab
+++ b/Assets/Handlers/PowerHandler.prefab
@@ -45,6 +45,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
_powerConsumption: 0
+ _powerConsumptionPeak: 0
_powerCapacity: 0
_powerFactor: 0
- _activeStructures: {fileID: 11400000, guid: bccdf438a1004a444bc24492728d6fbd, type: 2}
+ _activePowerStructures: {fileID: 11400000, guid: 127d26f1f3536e94da36af662f63fa0b, type: 2}
diff --git a/Assets/InputSystem/CameraControllActions.cs b/Assets/InputSystem/CameraControllActions.cs
index f98e0e7..dfcb260 100644
--- a/Assets/InputSystem/CameraControllActions.cs
+++ b/Assets/InputSystem/CameraControllActions.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was auto-generated by com.unity.inputsystem:InputActionCodeGenerator
-// version 1.3.0
+// version 1.7.0
// from Assets/InputSystem/CameraControllActions.inputactions
//
// Changes to this file may cause incorrect behavior and will be lost if
@@ -15,15 +15,12 @@ using System.Collections.Generic;
using UnityEngine.InputSystem;
using UnityEngine.InputSystem.Utilities;
-namespace InputSystem
+public partial class @CameraControllActions: IInputActionCollection2, IDisposable
{
- public partial class @CameraControllActions : IInputActionCollection2, IDisposable
+ public InputActionAsset asset { get; }
+ public @CameraControllActions()
{
- public InputActionAsset asset { get; }
-
- public @CameraControllActions()
- {
- asset = InputActionAsset.FromJson(@"{
+ asset = InputActionAsset.FromJson(@"{
""name"": ""CameraControllActions"",
""maps"": [
{
@@ -141,149 +138,134 @@ namespace InputSystem
],
""controlSchemes"": []
}");
- // Camera
- m_Camera = asset.FindActionMap("Camera", throwIfNotFound: true);
- m_Camera_Movement = m_Camera.FindAction("Movement", throwIfNotFound: true);
- m_Camera_RotateCamera = m_Camera.FindAction("RotateCamera", throwIfNotFound: true);
- m_Camera_ZoomCamera = m_Camera.FindAction("ZoomCamera", throwIfNotFound: true);
- }
-
- public void Dispose()
- {
- UnityEngine.Object.Destroy(asset);
- }
-
- public InputBinding? bindingMask
- {
- get => asset.bindingMask;
- set => asset.bindingMask = value;
- }
-
- public ReadOnlyArray? devices
- {
- get => asset.devices;
- set => asset.devices = value;
- }
-
- public ReadOnlyArray controlSchemes => asset.controlSchemes;
-
- public bool Contains(InputAction action)
- {
- return asset.Contains(action);
- }
-
- public IEnumerator GetEnumerator()
- {
- return asset.GetEnumerator();
- }
-
- IEnumerator IEnumerable.GetEnumerator()
- {
- return GetEnumerator();
- }
-
- public void Enable()
- {
- asset.Enable();
- }
-
- public void Disable()
- {
- asset.Disable();
- }
-
- public IEnumerable bindings => asset.bindings;
-
- public InputAction FindAction(string actionNameOrId, bool throwIfNotFound = false)
- {
- return asset.FindAction(actionNameOrId, throwIfNotFound);
- }
-
- public int FindBinding(InputBinding bindingMask, out InputAction action)
- {
- return asset.FindBinding(bindingMask, out action);
- }
-
// Camera
- private readonly InputActionMap m_Camera;
- private ICameraActions m_CameraActionsCallbackInterface;
- private readonly InputAction m_Camera_Movement;
- private readonly InputAction m_Camera_RotateCamera;
- private readonly InputAction m_Camera_ZoomCamera;
+ m_Camera = asset.FindActionMap("Camera", throwIfNotFound: true);
+ m_Camera_Movement = m_Camera.FindAction("Movement", throwIfNotFound: true);
+ m_Camera_RotateCamera = m_Camera.FindAction("RotateCamera", throwIfNotFound: true);
+ m_Camera_ZoomCamera = m_Camera.FindAction("ZoomCamera", throwIfNotFound: true);
+ }
- public struct CameraActions
+ public void Dispose()
+ {
+ UnityEngine.Object.Destroy(asset);
+ }
+
+ public InputBinding? bindingMask
+ {
+ get => asset.bindingMask;
+ set => asset.bindingMask = value;
+ }
+
+ public ReadOnlyArray? devices
+ {
+ get => asset.devices;
+ set => asset.devices = value;
+ }
+
+ public ReadOnlyArray controlSchemes => asset.controlSchemes;
+
+ public bool Contains(InputAction action)
+ {
+ return asset.Contains(action);
+ }
+
+ public IEnumerator GetEnumerator()
+ {
+ return asset.GetEnumerator();
+ }
+
+ IEnumerator IEnumerable.GetEnumerator()
+ {
+ return GetEnumerator();
+ }
+
+ public void Enable()
+ {
+ asset.Enable();
+ }
+
+ public void Disable()
+ {
+ asset.Disable();
+ }
+
+ public IEnumerable bindings => asset.bindings;
+
+ public InputAction FindAction(string actionNameOrId, bool throwIfNotFound = false)
+ {
+ return asset.FindAction(actionNameOrId, throwIfNotFound);
+ }
+
+ public int FindBinding(InputBinding bindingMask, out InputAction action)
+ {
+ return asset.FindBinding(bindingMask, out action);
+ }
+
+ // Camera
+ private readonly InputActionMap m_Camera;
+ private List m_CameraActionsCallbackInterfaces = new List();
+ private readonly InputAction m_Camera_Movement;
+ private readonly InputAction m_Camera_RotateCamera;
+ private readonly InputAction m_Camera_ZoomCamera;
+ public struct CameraActions
+ {
+ private @CameraControllActions m_Wrapper;
+ public CameraActions(@CameraControllActions wrapper) { m_Wrapper = wrapper; }
+ public InputAction @Movement => m_Wrapper.m_Camera_Movement;
+ public InputAction @RotateCamera => m_Wrapper.m_Camera_RotateCamera;
+ public InputAction @ZoomCamera => m_Wrapper.m_Camera_ZoomCamera;
+ public InputActionMap Get() { return m_Wrapper.m_Camera; }
+ public void Enable() { Get().Enable(); }
+ public void Disable() { Get().Disable(); }
+ public bool enabled => Get().enabled;
+ public static implicit operator InputActionMap(CameraActions set) { return set.Get(); }
+ public void AddCallbacks(ICameraActions instance)
{
- private @CameraControllActions m_Wrapper;
-
- public CameraActions(@CameraControllActions wrapper)
- {
- m_Wrapper = wrapper;
- }
-
- public InputAction @Movement => m_Wrapper.m_Camera_Movement;
- public InputAction @RotateCamera => m_Wrapper.m_Camera_RotateCamera;
- public InputAction @ZoomCamera => m_Wrapper.m_Camera_ZoomCamera;
-
- public InputActionMap Get()
- {
- return m_Wrapper.m_Camera;
- }
-
- public void Enable()
- {
- Get().Enable();
- }
-
- public void Disable()
- {
- Get().Disable();
- }
-
- public bool enabled => Get().enabled;
-
- public static implicit operator InputActionMap(CameraActions set)
- {
- return set.Get();
- }
-
- public void SetCallbacks(ICameraActions instance)
- {
- if (m_Wrapper.m_CameraActionsCallbackInterface != null)
- {
- @Movement.started -= m_Wrapper.m_CameraActionsCallbackInterface.OnMovement;
- @Movement.performed -= m_Wrapper.m_CameraActionsCallbackInterface.OnMovement;
- @Movement.canceled -= m_Wrapper.m_CameraActionsCallbackInterface.OnMovement;
- @RotateCamera.started -= m_Wrapper.m_CameraActionsCallbackInterface.OnRotateCamera;
- @RotateCamera.performed -= m_Wrapper.m_CameraActionsCallbackInterface.OnRotateCamera;
- @RotateCamera.canceled -= m_Wrapper.m_CameraActionsCallbackInterface.OnRotateCamera;
- @ZoomCamera.started -= m_Wrapper.m_CameraActionsCallbackInterface.OnZoomCamera;
- @ZoomCamera.performed -= m_Wrapper.m_CameraActionsCallbackInterface.OnZoomCamera;
- @ZoomCamera.canceled -= m_Wrapper.m_CameraActionsCallbackInterface.OnZoomCamera;
- }
-
- m_Wrapper.m_CameraActionsCallbackInterface = instance;
- if (instance != null)
- {
- @Movement.started += instance.OnMovement;
- @Movement.performed += instance.OnMovement;
- @Movement.canceled += instance.OnMovement;
- @RotateCamera.started += instance.OnRotateCamera;
- @RotateCamera.performed += instance.OnRotateCamera;
- @RotateCamera.canceled += instance.OnRotateCamera;
- @ZoomCamera.started += instance.OnZoomCamera;
- @ZoomCamera.performed += instance.OnZoomCamera;
- @ZoomCamera.canceled += instance.OnZoomCamera;
- }
- }
+ if (instance == null || m_Wrapper.m_CameraActionsCallbackInterfaces.Contains(instance)) return;
+ m_Wrapper.m_CameraActionsCallbackInterfaces.Add(instance);
+ @Movement.started += instance.OnMovement;
+ @Movement.performed += instance.OnMovement;
+ @Movement.canceled += instance.OnMovement;
+ @RotateCamera.started += instance.OnRotateCamera;
+ @RotateCamera.performed += instance.OnRotateCamera;
+ @RotateCamera.canceled += instance.OnRotateCamera;
+ @ZoomCamera.started += instance.OnZoomCamera;
+ @ZoomCamera.performed += instance.OnZoomCamera;
+ @ZoomCamera.canceled += instance.OnZoomCamera;
}
- public CameraActions @Camera => new CameraActions(this);
-
- public interface ICameraActions
+ private void UnregisterCallbacks(ICameraActions instance)
{
- void OnMovement(InputAction.CallbackContext context);
- void OnRotateCamera(InputAction.CallbackContext context);
- void OnZoomCamera(InputAction.CallbackContext context);
+ @Movement.started -= instance.OnMovement;
+ @Movement.performed -= instance.OnMovement;
+ @Movement.canceled -= instance.OnMovement;
+ @RotateCamera.started -= instance.OnRotateCamera;
+ @RotateCamera.performed -= instance.OnRotateCamera;
+ @RotateCamera.canceled -= instance.OnRotateCamera;
+ @ZoomCamera.started -= instance.OnZoomCamera;
+ @ZoomCamera.performed -= instance.OnZoomCamera;
+ @ZoomCamera.canceled -= instance.OnZoomCamera;
+ }
+
+ public void RemoveCallbacks(ICameraActions instance)
+ {
+ if (m_Wrapper.m_CameraActionsCallbackInterfaces.Remove(instance))
+ UnregisterCallbacks(instance);
+ }
+
+ public void SetCallbacks(ICameraActions instance)
+ {
+ foreach (var item in m_Wrapper.m_CameraActionsCallbackInterfaces)
+ UnregisterCallbacks(item);
+ m_Wrapper.m_CameraActionsCallbackInterfaces.Clear();
+ AddCallbacks(instance);
}
}
-}
\ No newline at end of file
+ public CameraActions @Camera => new CameraActions(this);
+ public interface ICameraActions
+ {
+ void OnMovement(InputAction.CallbackContext context);
+ void OnRotateCamera(InputAction.CallbackContext context);
+ void OnZoomCamera(InputAction.CallbackContext context);
+ }
+}
diff --git a/Assets/InputSystem/HandlerControls.cs b/Assets/InputSystem/HandlerControls.cs
index 13b18d2..12a6697 100644
--- a/Assets/InputSystem/HandlerControls.cs
+++ b/Assets/InputSystem/HandlerControls.cs
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was auto-generated by com.unity.inputsystem:InputActionCodeGenerator
-// version 1.3.0
+// version 1.7.0
// from Assets/InputSystem/HandlerControls.inputactions
//
// Changes to this file may cause incorrect behavior and will be lost if
@@ -17,7 +17,7 @@ using UnityEngine.InputSystem.Utilities;
namespace AsteroidGame
{
- public partial class @HandlerControls : IInputActionCollection2, IDisposable
+ public partial class @HandlerControls: IInputActionCollection2, IDisposable
{
public InputActionAsset asset { get; }
public @HandlerControls()
@@ -964,12 +964,14 @@ namespace AsteroidGame
{
asset.Disable();
}
+
public IEnumerable bindings => asset.bindings;
public InputAction FindAction(string actionNameOrId, bool throwIfNotFound = false)
{
return asset.FindAction(actionNameOrId, throwIfNotFound);
}
+
public int FindBinding(InputBinding bindingMask, out InputAction action)
{
return asset.FindBinding(bindingMask, out action);
@@ -977,7 +979,7 @@ namespace AsteroidGame
// Player
private readonly InputActionMap m_Player;
- private IPlayerActions m_PlayerActionsCallbackInterface;
+ private List m_PlayerActionsCallbackInterfaces = new List();
private readonly InputAction m_Player_Move;
private readonly InputAction m_Player_Look;
private readonly InputAction m_Player_LeftClick;
@@ -997,52 +999,65 @@ namespace AsteroidGame
public void Disable() { Get().Disable(); }
public bool enabled => Get().enabled;
public static implicit operator InputActionMap(PlayerActions set) { return set.Get(); }
+ public void AddCallbacks(IPlayerActions instance)
+ {
+ if (instance == null || m_Wrapper.m_PlayerActionsCallbackInterfaces.Contains(instance)) return;
+ m_Wrapper.m_PlayerActionsCallbackInterfaces.Add(instance);
+ @Move.started += instance.OnMove;
+ @Move.performed += instance.OnMove;
+ @Move.canceled += instance.OnMove;
+ @Look.started += instance.OnLook;
+ @Look.performed += instance.OnLook;
+ @Look.canceled += instance.OnLook;
+ @LeftClick.started += instance.OnLeftClick;
+ @LeftClick.performed += instance.OnLeftClick;
+ @LeftClick.canceled += instance.OnLeftClick;
+ @Build.started += instance.OnBuild;
+ @Build.performed += instance.OnBuild;
+ @Build.canceled += instance.OnBuild;
+ @RightClick.started += instance.OnRightClick;
+ @RightClick.performed += instance.OnRightClick;
+ @RightClick.canceled += instance.OnRightClick;
+ }
+
+ private void UnregisterCallbacks(IPlayerActions instance)
+ {
+ @Move.started -= instance.OnMove;
+ @Move.performed -= instance.OnMove;
+ @Move.canceled -= instance.OnMove;
+ @Look.started -= instance.OnLook;
+ @Look.performed -= instance.OnLook;
+ @Look.canceled -= instance.OnLook;
+ @LeftClick.started -= instance.OnLeftClick;
+ @LeftClick.performed -= instance.OnLeftClick;
+ @LeftClick.canceled -= instance.OnLeftClick;
+ @Build.started -= instance.OnBuild;
+ @Build.performed -= instance.OnBuild;
+ @Build.canceled -= instance.OnBuild;
+ @RightClick.started -= instance.OnRightClick;
+ @RightClick.performed -= instance.OnRightClick;
+ @RightClick.canceled -= instance.OnRightClick;
+ }
+
+ public void RemoveCallbacks(IPlayerActions instance)
+ {
+ if (m_Wrapper.m_PlayerActionsCallbackInterfaces.Remove(instance))
+ UnregisterCallbacks(instance);
+ }
+
public void SetCallbacks(IPlayerActions instance)
{
- if (m_Wrapper.m_PlayerActionsCallbackInterface != null)
- {
- @Move.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnMove;
- @Move.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnMove;
- @Move.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnMove;
- @Look.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnLook;
- @Look.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnLook;
- @Look.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnLook;
- @LeftClick.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnLeftClick;
- @LeftClick.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnLeftClick;
- @LeftClick.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnLeftClick;
- @Build.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnBuild;
- @Build.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnBuild;
- @Build.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnBuild;
- @RightClick.started -= m_Wrapper.m_PlayerActionsCallbackInterface.OnRightClick;
- @RightClick.performed -= m_Wrapper.m_PlayerActionsCallbackInterface.OnRightClick;
- @RightClick.canceled -= m_Wrapper.m_PlayerActionsCallbackInterface.OnRightClick;
- }
- m_Wrapper.m_PlayerActionsCallbackInterface = instance;
- if (instance != null)
- {
- @Move.started += instance.OnMove;
- @Move.performed += instance.OnMove;
- @Move.canceled += instance.OnMove;
- @Look.started += instance.OnLook;
- @Look.performed += instance.OnLook;
- @Look.canceled += instance.OnLook;
- @LeftClick.started += instance.OnLeftClick;
- @LeftClick.performed += instance.OnLeftClick;
- @LeftClick.canceled += instance.OnLeftClick;
- @Build.started += instance.OnBuild;
- @Build.performed += instance.OnBuild;
- @Build.canceled += instance.OnBuild;
- @RightClick.started += instance.OnRightClick;
- @RightClick.performed += instance.OnRightClick;
- @RightClick.canceled += instance.OnRightClick;
- }
+ foreach (var item in m_Wrapper.m_PlayerActionsCallbackInterfaces)
+ UnregisterCallbacks(item);
+ m_Wrapper.m_PlayerActionsCallbackInterfaces.Clear();
+ AddCallbacks(instance);
}
}
public PlayerActions @Player => new PlayerActions(this);
// UI
private readonly InputActionMap m_UI;
- private IUIActions m_UIActionsCallbackInterface;
+ private List m_UIActionsCallbackInterfaces = new List();
private readonly InputAction m_UI_Navigate;
private readonly InputAction m_UI_Submit;
private readonly InputAction m_UI_Cancel;
@@ -1072,75 +1087,88 @@ namespace AsteroidGame
public void Disable() { Get().Disable(); }
public bool enabled => Get().enabled;
public static implicit operator InputActionMap(UIActions set) { return set.Get(); }
+ public void AddCallbacks(IUIActions instance)
+ {
+ if (instance == null || m_Wrapper.m_UIActionsCallbackInterfaces.Contains(instance)) return;
+ m_Wrapper.m_UIActionsCallbackInterfaces.Add(instance);
+ @Navigate.started += instance.OnNavigate;
+ @Navigate.performed += instance.OnNavigate;
+ @Navigate.canceled += instance.OnNavigate;
+ @Submit.started += instance.OnSubmit;
+ @Submit.performed += instance.OnSubmit;
+ @Submit.canceled += instance.OnSubmit;
+ @Cancel.started += instance.OnCancel;
+ @Cancel.performed += instance.OnCancel;
+ @Cancel.canceled += instance.OnCancel;
+ @Point.started += instance.OnPoint;
+ @Point.performed += instance.OnPoint;
+ @Point.canceled += instance.OnPoint;
+ @Click.started += instance.OnClick;
+ @Click.performed += instance.OnClick;
+ @Click.canceled += instance.OnClick;
+ @ScrollWheel.started += instance.OnScrollWheel;
+ @ScrollWheel.performed += instance.OnScrollWheel;
+ @ScrollWheel.canceled += instance.OnScrollWheel;
+ @MiddleClick.started += instance.OnMiddleClick;
+ @MiddleClick.performed += instance.OnMiddleClick;
+ @MiddleClick.canceled += instance.OnMiddleClick;
+ @RightClick.started += instance.OnRightClick;
+ @RightClick.performed += instance.OnRightClick;
+ @RightClick.canceled += instance.OnRightClick;
+ @TrackedDevicePosition.started += instance.OnTrackedDevicePosition;
+ @TrackedDevicePosition.performed += instance.OnTrackedDevicePosition;
+ @TrackedDevicePosition.canceled += instance.OnTrackedDevicePosition;
+ @TrackedDeviceOrientation.started += instance.OnTrackedDeviceOrientation;
+ @TrackedDeviceOrientation.performed += instance.OnTrackedDeviceOrientation;
+ @TrackedDeviceOrientation.canceled += instance.OnTrackedDeviceOrientation;
+ }
+
+ private void UnregisterCallbacks(IUIActions instance)
+ {
+ @Navigate.started -= instance.OnNavigate;
+ @Navigate.performed -= instance.OnNavigate;
+ @Navigate.canceled -= instance.OnNavigate;
+ @Submit.started -= instance.OnSubmit;
+ @Submit.performed -= instance.OnSubmit;
+ @Submit.canceled -= instance.OnSubmit;
+ @Cancel.started -= instance.OnCancel;
+ @Cancel.performed -= instance.OnCancel;
+ @Cancel.canceled -= instance.OnCancel;
+ @Point.started -= instance.OnPoint;
+ @Point.performed -= instance.OnPoint;
+ @Point.canceled -= instance.OnPoint;
+ @Click.started -= instance.OnClick;
+ @Click.performed -= instance.OnClick;
+ @Click.canceled -= instance.OnClick;
+ @ScrollWheel.started -= instance.OnScrollWheel;
+ @ScrollWheel.performed -= instance.OnScrollWheel;
+ @ScrollWheel.canceled -= instance.OnScrollWheel;
+ @MiddleClick.started -= instance.OnMiddleClick;
+ @MiddleClick.performed -= instance.OnMiddleClick;
+ @MiddleClick.canceled -= instance.OnMiddleClick;
+ @RightClick.started -= instance.OnRightClick;
+ @RightClick.performed -= instance.OnRightClick;
+ @RightClick.canceled -= instance.OnRightClick;
+ @TrackedDevicePosition.started -= instance.OnTrackedDevicePosition;
+ @TrackedDevicePosition.performed -= instance.OnTrackedDevicePosition;
+ @TrackedDevicePosition.canceled -= instance.OnTrackedDevicePosition;
+ @TrackedDeviceOrientation.started -= instance.OnTrackedDeviceOrientation;
+ @TrackedDeviceOrientation.performed -= instance.OnTrackedDeviceOrientation;
+ @TrackedDeviceOrientation.canceled -= instance.OnTrackedDeviceOrientation;
+ }
+
+ public void RemoveCallbacks(IUIActions instance)
+ {
+ if (m_Wrapper.m_UIActionsCallbackInterfaces.Remove(instance))
+ UnregisterCallbacks(instance);
+ }
+
public void SetCallbacks(IUIActions instance)
{
- if (m_Wrapper.m_UIActionsCallbackInterface != null)
- {
- @Navigate.started -= m_Wrapper.m_UIActionsCallbackInterface.OnNavigate;
- @Navigate.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnNavigate;
- @Navigate.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnNavigate;
- @Submit.started -= m_Wrapper.m_UIActionsCallbackInterface.OnSubmit;
- @Submit.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnSubmit;
- @Submit.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnSubmit;
- @Cancel.started -= m_Wrapper.m_UIActionsCallbackInterface.OnCancel;
- @Cancel.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnCancel;
- @Cancel.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnCancel;
- @Point.started -= m_Wrapper.m_UIActionsCallbackInterface.OnPoint;
- @Point.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnPoint;
- @Point.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnPoint;
- @Click.started -= m_Wrapper.m_UIActionsCallbackInterface.OnClick;
- @Click.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnClick;
- @Click.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnClick;
- @ScrollWheel.started -= m_Wrapper.m_UIActionsCallbackInterface.OnScrollWheel;
- @ScrollWheel.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnScrollWheel;
- @ScrollWheel.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnScrollWheel;
- @MiddleClick.started -= m_Wrapper.m_UIActionsCallbackInterface.OnMiddleClick;
- @MiddleClick.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnMiddleClick;
- @MiddleClick.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnMiddleClick;
- @RightClick.started -= m_Wrapper.m_UIActionsCallbackInterface.OnRightClick;
- @RightClick.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnRightClick;
- @RightClick.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnRightClick;
- @TrackedDevicePosition.started -= m_Wrapper.m_UIActionsCallbackInterface.OnTrackedDevicePosition;
- @TrackedDevicePosition.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnTrackedDevicePosition;
- @TrackedDevicePosition.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnTrackedDevicePosition;
- @TrackedDeviceOrientation.started -= m_Wrapper.m_UIActionsCallbackInterface.OnTrackedDeviceOrientation;
- @TrackedDeviceOrientation.performed -= m_Wrapper.m_UIActionsCallbackInterface.OnTrackedDeviceOrientation;
- @TrackedDeviceOrientation.canceled -= m_Wrapper.m_UIActionsCallbackInterface.OnTrackedDeviceOrientation;
- }
- m_Wrapper.m_UIActionsCallbackInterface = instance;
- if (instance != null)
- {
- @Navigate.started += instance.OnNavigate;
- @Navigate.performed += instance.OnNavigate;
- @Navigate.canceled += instance.OnNavigate;
- @Submit.started += instance.OnSubmit;
- @Submit.performed += instance.OnSubmit;
- @Submit.canceled += instance.OnSubmit;
- @Cancel.started += instance.OnCancel;
- @Cancel.performed += instance.OnCancel;
- @Cancel.canceled += instance.OnCancel;
- @Point.started += instance.OnPoint;
- @Point.performed += instance.OnPoint;
- @Point.canceled += instance.OnPoint;
- @Click.started += instance.OnClick;
- @Click.performed += instance.OnClick;
- @Click.canceled += instance.OnClick;
- @ScrollWheel.started += instance.OnScrollWheel;
- @ScrollWheel.performed += instance.OnScrollWheel;
- @ScrollWheel.canceled += instance.OnScrollWheel;
- @MiddleClick.started += instance.OnMiddleClick;
- @MiddleClick.performed += instance.OnMiddleClick;
- @MiddleClick.canceled += instance.OnMiddleClick;
- @RightClick.started += instance.OnRightClick;
- @RightClick.performed += instance.OnRightClick;
- @RightClick.canceled += instance.OnRightClick;
- @TrackedDevicePosition.started += instance.OnTrackedDevicePosition;
- @TrackedDevicePosition.performed += instance.OnTrackedDevicePosition;
- @TrackedDevicePosition.canceled += instance.OnTrackedDevicePosition;
- @TrackedDeviceOrientation.started += instance.OnTrackedDeviceOrientation;
- @TrackedDeviceOrientation.performed += instance.OnTrackedDeviceOrientation;
- @TrackedDeviceOrientation.canceled += instance.OnTrackedDeviceOrientation;
- }
+ foreach (var item in m_Wrapper.m_UIActionsCallbackInterfaces)
+ UnregisterCallbacks(item);
+ m_Wrapper.m_UIActionsCallbackInterfaces.Clear();
+ AddCallbacks(instance);
}
}
public UIActions @UI => new UIActions(this);
diff --git a/Assets/Interfaces/IBuildable.cs b/Assets/Interfaces/IBuildable.cs
deleted file mode 100644
index 64d55fb..0000000
--- a/Assets/Interfaces/IBuildable.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-namespace AsteroidGame.Interfaces
-{
- public interface IBuildable
- {
- public int GetCost();
- public int SetCost(int newCost);
- }
-}
\ No newline at end of file
diff --git a/Assets/Interfaces/IDamageable.cs b/Assets/Interfaces/IDamageable.cs
deleted file mode 100644
index 28e12f5..0000000
--- a/Assets/Interfaces/IDamageable.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-namespace AsteroidGame.Interfaces
-{
- public interface IDamageable
- {
- public void ModifyHealth(int healthChange);
-
- #region PublicProperties
-
- public bool IsInvulnerable { get; }
-
- #endregion
-
- #region Setters
- public void SetHealth(int newHealth);
-
- public void SetMaxHealth(int newHealth);
-
- public void SetInvulnerable (bool newState);
-
- #endregion
-
- #region Getters
- public int GetHealth();
-
- public int GetMaxHealth();
-
- public float GetHealthFactor();
-
- #endregion
- }
-}
diff --git a/Assets/Interfaces/IDamageable.cs.meta b/Assets/Interfaces/IDamageable.cs.meta
deleted file mode 100644
index c2af229..0000000
--- a/Assets/Interfaces/IDamageable.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: d0290b6d2e8462547a0d40b67a1076e3
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Interfaces/IPowerSystem.cs b/Assets/Interfaces/IPowerSystem.cs
deleted file mode 100644
index 7eb0331..0000000
--- a/Assets/Interfaces/IPowerSystem.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-namespace AsteroidGame.Interfaces
-{
- public interface IPowerSystem
- {
- public bool IsGenerator { get; }
-
- public bool IsConsumer { get; }
-
- public void SetMaxPower(int newValue);
-
- public int GetMaxPower();
-
- public int GetCurrentPower();
-
- public float GetPowerFactor();
- }
-}
diff --git a/Assets/Interfaces/IPowerSystem.cs.meta b/Assets/Interfaces/IPowerSystem.cs.meta
deleted file mode 100644
index 16813a0..0000000
--- a/Assets/Interfaces/IPowerSystem.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: c3e9b410a74a04f4ab85e908d2a684a8
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Interfaces/ITargetable.cs b/Assets/Interfaces/ITargetable.cs
deleted file mode 100644
index 397d4db..0000000
--- a/Assets/Interfaces/ITargetable.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using UnityEngine;
-
-namespace AsteroidGame.Interfaces
-{
- public interface ITargetable
- {
- public Vector3 GetCenterPosition();
-
- public Vector3 GetBasePosition();
- }
-}
diff --git a/Assets/Interfaces/ITargetable.cs.meta b/Assets/Interfaces/ITargetable.cs.meta
deleted file mode 100644
index 6d6d937..0000000
--- a/Assets/Interfaces/ITargetable.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 3d338501124dcf349b3852a83d20dbe4
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Interfaces/IWeapon.cs b/Assets/Interfaces/IWeapon.cs
deleted file mode 100644
index 9aee191..0000000
--- a/Assets/Interfaces/IWeapon.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-namespace AsteroidGame.Interfaces
-{
- public interface IWeapon
- {
- public float FireRate { get; set; }
- public float Damage { get; set; }
- }
-}
\ No newline at end of file
diff --git a/Assets/Interfaces/IWeapon.cs.meta b/Assets/Interfaces/IWeapon.cs.meta
deleted file mode 100644
index 3c7920f..0000000
--- a/Assets/Interfaces/IWeapon.cs.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: a4d06a75a5a64c83aa191a8610f5080f
-timeCreated: 1664621279
\ No newline at end of file
diff --git a/Assets/Interfaces/Interfaces.asmdef b/Assets/Interfaces/Interfaces.asmdef
deleted file mode 100644
index 2bb5daf..0000000
--- a/Assets/Interfaces/Interfaces.asmdef
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": "Interfaces",
- "rootNamespace": "AsteroidGame",
- "references": [],
- "includePlatforms": [],
- "excludePlatforms": [],
- "allowUnsafeCode": false,
- "overrideReferences": false,
- "precompiledReferences": [],
- "autoReferenced": true,
- "defineConstraints": [],
- "versionDefines": [],
- "noEngineReferences": false
-}
\ No newline at end of file
diff --git a/Assets/Materials/ColliderIndicator.mat b/Assets/Materials/ColliderIndicator.mat
index 75fcde9..551e8f0 100644
--- a/Assets/Materials/ColliderIndicator.mat
+++ b/Assets/Materials/ColliderIndicator.mat
@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
- version: 12
+ version: 13
hdPluginSubTargetMaterialVersions:
m_Keys: []
m_Values:
@@ -25,6 +25,8 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: ColliderIndicator
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _DISABLE_SSR_TRANSPARENT
- _ENABLE_FOG_ON_TRANSPARENT
@@ -43,6 +45,7 @@ Material:
- TransparentBackface
- RayTracingPrepass
- MOTIONVECTORS
+ m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@@ -122,6 +125,10 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ - _TransmissionMaskMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@@ -151,6 +158,8 @@ Material:
- _AlphaCutoffPrepass: 0.5
- _AlphaCutoffShadow: 0.5
- _AlphaDstBlend: 10
+ - _AlphaRemapMax: 1
+ - _AlphaRemapMin: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
@@ -201,6 +210,8 @@ Material:
- _MetallicRemapMin: 0
- _NormalMapSpace: 0
- _NormalScale: 1
+ - _ObjectSpaceUVMapping: 0
+ - _ObjectSpaceUVMappingEmissive: 0
- _OpaqueCullMode: 2
- _PPDLodThreshold: 5
- _PPDMaxSamples: 15
@@ -223,9 +234,9 @@ Material:
- _StencilRefGBuffer: 2
- _StencilRefMV: 32
- _StencilWriteMask: 6
- - _StencilWriteMaskDepth: 8
- - _StencilWriteMaskGBuffer: 14
- - _StencilWriteMaskMV: 40
+ - _StencilWriteMaskDepth: 9
+ - _StencilWriteMaskGBuffer: 15
+ - _StencilWriteMaskMV: 41
- _SubsurfaceMask: 1
- _SupportDecals: 1
- _SurfaceType: 1
@@ -233,6 +244,7 @@ Material:
- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _TransmissionEnable: 1
+ - _TransmissionMask: 1
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
diff --git a/Assets/Materials/GhostMaterial.mat b/Assets/Materials/GhostMaterial.mat
index 6b6966c..25effb1 100644
--- a/Assets/Materials/GhostMaterial.mat
+++ b/Assets/Materials/GhostMaterial.mat
@@ -9,6 +9,8 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: GhostMaterial
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _DISABLE_SSR_TRANSPARENT
- _ENABLE_FOG_ON_TRANSPARENT
@@ -27,6 +29,7 @@ Material:
- TransparentBackface
- RayTracingPrepass
- MOTIONVECTORS
+ m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@@ -106,6 +109,10 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ - _TransmissionMaskMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@@ -135,6 +142,8 @@ Material:
- _AlphaCutoffPrepass: 0.5
- _AlphaCutoffShadow: 0.5
- _AlphaDstBlend: 10
+ - _AlphaRemapMax: 1
+ - _AlphaRemapMin: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
@@ -185,6 +194,8 @@ Material:
- _MetallicRemapMin: 0
- _NormalMapSpace: 0
- _NormalScale: 1
+ - _ObjectSpaceUVMapping: 0
+ - _ObjectSpaceUVMappingEmissive: 0
- _OpaqueCullMode: 2
- _PPDLodThreshold: 5
- _PPDMaxSamples: 15
@@ -207,9 +218,9 @@ Material:
- _StencilRefGBuffer: 2
- _StencilRefMV: 32
- _StencilWriteMask: 6
- - _StencilWriteMaskDepth: 8
- - _StencilWriteMaskGBuffer: 14
- - _StencilWriteMaskMV: 40
+ - _StencilWriteMaskDepth: 9
+ - _StencilWriteMaskGBuffer: 15
+ - _StencilWriteMaskMV: 41
- _SubsurfaceMask: 1
- _SupportDecals: 1
- _SurfaceType: 1
@@ -217,6 +228,7 @@ Material:
- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _TransmissionEnable: 1
+ - _TransmissionMask: 1
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
@@ -263,7 +275,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
- version: 12
+ version: 13
hdPluginSubTargetMaterialVersions:
m_Keys: []
m_Values:
diff --git a/Assets/Materials/Opaque_Blue.mat b/Assets/Materials/Opaque_Blue.mat
index 745392d..49f5d3e 100644
--- a/Assets/Materials/Opaque_Blue.mat
+++ b/Assets/Materials/Opaque_Blue.mat
@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
- version: 12
+ version: 13
hdPluginSubTargetMaterialVersions:
m_Keys: []
m_Values:
@@ -25,6 +25,8 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: Opaque_Blue
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _DISABLE_SSR_TRANSPARENT
- _NORMALMAP_TANGENT_SPACE
@@ -40,6 +42,7 @@ Material:
- TransparentBackface
- RayTracingPrepass
- MOTIONVECTORS
+ m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@@ -119,6 +122,10 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ - _TransmissionMaskMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@@ -148,6 +155,8 @@ Material:
- _AlphaCutoffPrepass: 0.5
- _AlphaCutoffShadow: 0.5
- _AlphaDstBlend: 0
+ - _AlphaRemapMax: 1
+ - _AlphaRemapMin: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
@@ -198,6 +207,8 @@ Material:
- _MetallicRemapMin: 0
- _NormalMapSpace: 0
- _NormalScale: 1
+ - _ObjectSpaceUVMapping: 0
+ - _ObjectSpaceUVMappingEmissive: 0
- _OpaqueCullMode: 2
- _PPDLodThreshold: 5
- _PPDMaxSamples: 15
@@ -220,9 +231,9 @@ Material:
- _StencilRefGBuffer: 10
- _StencilRefMV: 40
- _StencilWriteMask: 6
- - _StencilWriteMaskDepth: 8
- - _StencilWriteMaskGBuffer: 14
- - _StencilWriteMaskMV: 40
+ - _StencilWriteMaskDepth: 9
+ - _StencilWriteMaskGBuffer: 15
+ - _StencilWriteMaskMV: 41
- _SubsurfaceMask: 1
- _SupportDecals: 1
- _SurfaceType: 0
@@ -230,6 +241,7 @@ Material:
- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _TransmissionEnable: 1
+ - _TransmissionMask: 1
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
diff --git a/Assets/Materials/Opaque_Gray.mat b/Assets/Materials/Opaque_Gray.mat
index 640bcb8..172a3cf 100644
--- a/Assets/Materials/Opaque_Gray.mat
+++ b/Assets/Materials/Opaque_Gray.mat
@@ -9,6 +9,8 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: Opaque_Gray
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _DISABLE_SSR_TRANSPARENT
- _NORMALMAP_TANGENT_SPACE
@@ -24,6 +26,7 @@ Material:
- TransparentBackface
- RayTracingPrepass
- MOTIONVECTORS
+ m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@@ -135,6 +138,10 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ - _TransmissionMaskMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@@ -164,6 +171,8 @@ Material:
- _AlphaCutoffPrepass: 0.5
- _AlphaCutoffShadow: 0.5
- _AlphaDstBlend: 0
+ - _AlphaRemapMax: 1
+ - _AlphaRemapMin: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
@@ -220,6 +229,8 @@ Material:
- _Mode: 0
- _NormalMapSpace: 0
- _NormalScale: 1.24
+ - _ObjectSpaceUVMapping: 0
+ - _ObjectSpaceUVMappingEmissive: 0
- _OcclusionStrength: 1
- _OpaqueCullMode: 2
- _PPDLodThreshold: 5
@@ -246,9 +257,9 @@ Material:
- _StencilRefGBuffer: 10
- _StencilRefMV: 40
- _StencilWriteMask: 6
- - _StencilWriteMaskDepth: 8
- - _StencilWriteMaskGBuffer: 14
- - _StencilWriteMaskMV: 40
+ - _StencilWriteMaskDepth: 9
+ - _StencilWriteMaskGBuffer: 15
+ - _StencilWriteMaskMV: 41
- _SubsurfaceMask: 1
- _SupportDecals: 1
- _SurfaceType: 0
@@ -256,6 +267,7 @@ Material:
- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _TransmissionEnable: 1
+ - _TransmissionMask: 1
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
@@ -303,7 +315,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
- version: 12
+ version: 13
hdPluginSubTargetMaterialVersions:
m_Keys: []
m_Values:
diff --git a/Assets/Materials/Opaque_Red.mat b/Assets/Materials/Opaque_Red.mat
index 9865554..4f0ab4a 100644
--- a/Assets/Materials/Opaque_Red.mat
+++ b/Assets/Materials/Opaque_Red.mat
@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
- version: 12
+ version: 13
hdPluginSubTargetMaterialVersions:
m_Keys: []
m_Values:
@@ -25,6 +25,8 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: Opaque_Red
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _DISABLE_SSR_TRANSPARENT
- _NORMALMAP_TANGENT_SPACE
@@ -40,6 +42,7 @@ Material:
- TransparentBackface
- RayTracingPrepass
- MOTIONVECTORS
+ m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@@ -119,6 +122,10 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ - _TransmissionMaskMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@@ -148,6 +155,8 @@ Material:
- _AlphaCutoffPrepass: 0.5
- _AlphaCutoffShadow: 0.5
- _AlphaDstBlend: 0
+ - _AlphaRemapMax: 1
+ - _AlphaRemapMin: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
@@ -198,6 +207,8 @@ Material:
- _MetallicRemapMin: 0
- _NormalMapSpace: 0
- _NormalScale: 1
+ - _ObjectSpaceUVMapping: 0
+ - _ObjectSpaceUVMappingEmissive: 0
- _OpaqueCullMode: 2
- _PPDLodThreshold: 5
- _PPDMaxSamples: 15
@@ -220,9 +231,9 @@ Material:
- _StencilRefGBuffer: 10
- _StencilRefMV: 40
- _StencilWriteMask: 6
- - _StencilWriteMaskDepth: 8
- - _StencilWriteMaskGBuffer: 14
- - _StencilWriteMaskMV: 40
+ - _StencilWriteMaskDepth: 9
+ - _StencilWriteMaskGBuffer: 15
+ - _StencilWriteMaskMV: 41
- _SubsurfaceMask: 1
- _SupportDecals: 1
- _SurfaceType: 0
@@ -230,6 +241,7 @@ Material:
- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _TransmissionEnable: 1
+ - _TransmissionMask: 1
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
diff --git a/Assets/Materials/Transparent_Green.mat b/Assets/Materials/Transparent_Green.mat
index 611c253..7fb8f49 100644
--- a/Assets/Materials/Transparent_Green.mat
+++ b/Assets/Materials/Transparent_Green.mat
@@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
- version: 12
+ version: 13
hdPluginSubTargetMaterialVersions:
m_Keys: []
m_Values:
@@ -25,6 +25,8 @@ Material:
m_PrefabAsset: {fileID: 0}
m_Name: Transparent_Green
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
+ m_Parent: {fileID: 0}
+ m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _DISABLE_SSR_TRANSPARENT
- _ENABLE_FOG_ON_TRANSPARENT
@@ -43,6 +45,7 @@ Material:
- TransparentBackface
- RayTracingPrepass
- MOTIONVECTORS
+ m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
@@ -122,6 +125,10 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
+ - _TransmissionMaskMap:
+ m_Texture: {fileID: 0}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@@ -151,6 +158,8 @@ Material:
- _AlphaCutoffPrepass: 0.5
- _AlphaCutoffShadow: 0.5
- _AlphaDstBlend: 10
+ - _AlphaRemapMax: 1
+ - _AlphaRemapMin: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
@@ -201,6 +210,8 @@ Material:
- _MetallicRemapMin: 0
- _NormalMapSpace: 0
- _NormalScale: 1
+ - _ObjectSpaceUVMapping: 0
+ - _ObjectSpaceUVMappingEmissive: 0
- _OpaqueCullMode: 2
- _PPDLodThreshold: 5
- _PPDMaxSamples: 15
@@ -223,9 +234,9 @@ Material:
- _StencilRefGBuffer: 2
- _StencilRefMV: 32
- _StencilWriteMask: 6
- - _StencilWriteMaskDepth: 8
- - _StencilWriteMaskGBuffer: 14
- - _StencilWriteMaskMV: 40
+ - _StencilWriteMaskDepth: 9
+ - _StencilWriteMaskGBuffer: 15
+ - _StencilWriteMaskMV: 41
- _SubsurfaceMask: 1
- _SupportDecals: 1
- _SurfaceType: 1
@@ -233,6 +244,7 @@ Material:
- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _TransmissionEnable: 1
+ - _TransmissionMask: 1
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
diff --git a/Assets/Packages/HDRPDefaultResources/DefaultSettingsVolumeProfile.asset b/Assets/Packages/HDRPDefaultResources/DefaultSettingsVolumeProfile.asset
index fd16943..f2dec16 100644
--- a/Assets/Packages/HDRPDefaultResources/DefaultSettingsVolumeProfile.asset
+++ b/Assets/Packages/HDRPDefaultResources/DefaultSettingsVolumeProfile.asset
@@ -46,6 +46,24 @@ MonoBehaviour:
m_SampleCount:
m_OverrideState: 1
m_Value: 8
+--- !u!114 &-1793858814174886103
+MonoBehaviour:
+ m_ObjectHideFlags: 3
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 7a7ff42a8c5be6646ad3975f3a54c1eb, type: 3}
+ m_Name: DiffusionProfileList
+ m_EditorClassIdentifier:
+ active: 1
+ diffusionProfiles:
+ m_OverrideState: 1
+ m_Value:
+ - {fileID: 11400000, guid: eceab268f6a04e749af041e5e365872a, type: 2}
+ - {fileID: 11400000, guid: 3370ac1ab02538142af9851e66038745, type: 2}
--- !u!114 &-1016694868962581565
MonoBehaviour:
m_ObjectHideFlags: 3
@@ -117,6 +135,7 @@ MonoBehaviour:
- {fileID: 1932259527246508038}
- {fileID: 448115243408767295}
- {fileID: -7089757308646879465}
+ - {fileID: -1793858814174886103}
--- !u!114 &448115243408767295
MonoBehaviour:
m_ObjectHideFlags: 3
@@ -143,10 +162,10 @@ MonoBehaviour:
m_OverrideState: 0
m_Value: 1
upperHemisphereLuxValue:
- m_OverrideState: 0
+ m_OverrideState: 1
m_Value: 0.4660715
upperHemisphereLuxColor:
- m_OverrideState: 0
+ m_OverrideState: 1
m_Value: {x: 0.18750614, y: 0.29181972, z: 0.5}
desiredLuxValue:
m_OverrideState: 0
@@ -511,6 +530,9 @@ MonoBehaviour:
m_Value:
serializedVersion: 2
m_Bits: 4294967295
+ specularOcclusion:
+ m_OverrideState: 0
+ m_Value: 0.5
occluderMotionRejection:
m_OverrideState: 0
m_Value: 1
@@ -560,6 +582,9 @@ MonoBehaviour:
mode:
m_OverrideState: 1
m_Value: 2
+ useFullACES:
+ m_OverrideState: 0
+ m_Value: 0
toeStrength:
m_OverrideState: 0
m_Value: 0
@@ -584,6 +609,33 @@ MonoBehaviour:
lutContribution:
m_OverrideState: 0
m_Value: 1
+ neutralHDRRangeReductionMode:
+ m_OverrideState: 0
+ m_Value: 2
+ acesPreset:
+ m_OverrideState: 0
+ m_Value: 3
+ fallbackMode:
+ m_OverrideState: 0
+ m_Value: 1
+ hueShiftAmount:
+ m_OverrideState: 0
+ m_Value: 0
+ detectPaperWhite:
+ m_OverrideState: 0
+ m_Value: 0
+ paperWhite:
+ m_OverrideState: 0
+ m_Value: 300
+ detectBrightnessLimits:
+ m_OverrideState: 0
+ m_Value: 1
+ minNits:
+ m_OverrideState: 0
+ m_Value: 0.005
+ maxNits:
+ m_OverrideState: 0
+ m_Value: 1000
--- !u!114 &7686318427622180703
MonoBehaviour:
m_ObjectHideFlags: 3
diff --git a/Assets/Scenes/Playground 1.unity b/Assets/Scenes/Playground 1.unity
index 4802c2e..b3e149a 100644
--- a/Assets/Scenes/Playground 1.unity
+++ b/Assets/Scenes/Playground 1.unity
@@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
- m_IndirectSpecularColor: {r: 262.3369, g: 325.0498, b: 430.21924, a: 1}
+ m_IndirectSpecularColor: {r: 262.33694, g: 325.04984, b: 430.2193, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
@@ -104,7 +104,7 @@ NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
- serializedVersion: 2
+ serializedVersion: 3
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
@@ -117,12 +117,12 @@ NavMeshSettings:
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
- accuratePlacement: 0
+ buildHeightMesh: 0
maxJobWorkers: 0
preserveTilesOutsideBounds: 0
debug:
m_Flags: 0
- m_NavMeshData: {fileID: 23800000, guid: b015bab8bed002c438c2a5abb0deec18, type: 2}
+ m_NavMeshData: {fileID: 0}
--- !u!1 &38176945
GameObject:
m_ObjectHideFlags: 0
@@ -146,6 +146,7 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 38176945}
+ serializedVersion: 2
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}
@@ -155,7 +156,6 @@ Transform:
- {fileID: 1158682046}
- {fileID: 624469242}
m_Father: {fileID: 0}
- m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &95533810
GameObject:
@@ -227,13 +227,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 95533810}
+ serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
- m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &157782260
GameObject:
@@ -258,8 +258,9 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 157782260}
+ serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
- m_LocalPosition: {x: -4.6326556, y: 0.98203504, z: 6.9309382}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
@@ -269,13 +270,7 @@ Transform:
- {fileID: 1421503444}
- {fileID: 1494435109}
m_Father: {fileID: 0}
- m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &208658293 stripped
-GameObject:
- m_CorrespondingSourceObject: {fileID: 5599539567497807159, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
- m_PrefabInstance: {fileID: 1715656625}
- m_PrefabAsset: {fileID: 0}
--- !u!4 &624469242 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 5263199550015624126, guid: 2e352ad6389b4234083764d15d4e6a5f, type: 3}
@@ -303,12 +298,13 @@ GameObject:
- component: {fileID: 1089364669}
- component: {fileID: 1089364668}
- component: {fileID: 1089364667}
+ - component: {fileID: 1089364670}
m_Layer: 0
m_Name: Cube
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
- m_StaticEditorFlags: 2147483647
+ m_StaticEditorFlags: 2147483639
m_IsActive: 1
--- !u!4 &1089364666
Transform:
@@ -317,13 +313,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1089364665}
+ serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -11.3755, y: 1.3935, z: 3.9827}
m_LocalScale: {x: 6.1543775, y: 3.7869, z: 5.7455}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1702078697}
- m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!65 &1089364667
BoxCollider:
@@ -333,9 +329,17 @@ BoxCollider:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1089364665}
m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
m_IsTrigger: 0
+ m_ProvidesContacts: 0
m_Enabled: 1
- serializedVersion: 2
+ serializedVersion: 3
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!23 &1089364668
@@ -388,6 +392,25 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1089364665}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!114 &1089364670
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1089364665}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1e3fdca004f2d45fe8abbed571a8abd5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_OverrideArea: 0
+ m_Area: 0
+ m_OverrideGenerateLinks: 1
+ m_GenerateLinks: 1
+ m_IgnoreFromBuild: 0
+ m_ApplyToChildren: 1
+ m_AffectedAgents: ffffffff
--- !u!4 &1158682046 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 664620742648054780, guid: 3a89f87af6ee84a459d98a4c296dd1be, type: 3}
@@ -398,8 +421,13 @@ PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
+ serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
+ - target: {fileID: 8083988910449603036, guid: c2b4fe01faa847f4b976b5539477e1ec, type: 3}
+ propertyPath: m_Version
+ value: 9
+ objectReference: {fileID: 0}
- target: {fileID: 8083988910661828845, guid: c2b4fe01faa847f4b976b5539477e1ec, type: 3}
propertyPath: m_Name
value: CameraRigBase
@@ -449,6 +477,9 @@ PrefabInstance:
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: c2b4fe01faa847f4b976b5539477e1ec, type: 3}
--- !u!1 &1402420031
GameObject:
@@ -462,12 +493,13 @@ GameObject:
- component: {fileID: 1402420035}
- component: {fileID: 1402420034}
- component: {fileID: 1402420033}
+ - component: {fileID: 1402420036}
m_Layer: 0
m_Name: Plane
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
- m_StaticEditorFlags: 2147483647
+ m_StaticEditorFlags: 2147483639
m_IsActive: 1
--- !u!4 &1402420032
Transform:
@@ -476,13 +508,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1402420031}
+ serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 5.32, y: 5.32, z: 5.32}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 1702078697}
- m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!64 &1402420033
MeshCollider:
@@ -492,9 +524,17 @@ MeshCollider:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1402420031}
m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
m_IsTrigger: 0
+ m_ProvidesContacts: 0
m_Enabled: 1
- serializedVersion: 4
+ serializedVersion: 5
m_Convex: 0
m_CookingOptions: 30
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
@@ -548,11 +588,31 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1402420031}
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!114 &1402420036
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1402420031}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1e3fdca004f2d45fe8abbed571a8abd5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_OverrideArea: 0
+ m_Area: 0
+ m_OverrideGenerateLinks: 1
+ m_GenerateLinks: 1
+ m_IgnoreFromBuild: 0
+ m_ApplyToChildren: 1
+ m_AffectedAgents: ffffffff
--- !u!1001 &1421503443
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
+ serializedVersion: 3
m_TransformParent: {fileID: 157782261}
m_Modifications:
- target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
@@ -561,7 +621,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
propertyPath: m_LocalPosition.x
- value: 5.96
+ value: 7.64
objectReference: {fileID: 0}
- target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
propertyPath: m_LocalPosition.y
@@ -569,7 +629,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
propertyPath: m_LocalPosition.z
- value: -1.35
+ value: 7.63
objectReference: {fileID: 0}
- target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
propertyPath: m_LocalRotation.w
@@ -603,7 +663,14 @@ PrefabInstance:
propertyPath: m_Name
value: Enemy (1)
objectReference: {fileID: 0}
+ - target: {fileID: 5599539567497807159, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
+ propertyPath: m_IsActive
+ value: 1
+ objectReference: {fileID: 0}
m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
--- !u!4 &1421503444 stripped
Transform:
@@ -615,8 +682,13 @@ PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
+ serializedVersion: 3
m_TransformParent: {fileID: 157782261}
m_Modifications:
+ - target: {fileID: 191376514769192977, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
+ propertyPath: m_LocalEulerAnglesHint.y
+ value: -90
+ objectReference: {fileID: 0}
- target: {fileID: 1411216412654489461, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
propertyPath: _health
value: 2
@@ -627,7 +699,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
propertyPath: m_LocalPosition.x
- value: 4.51
+ value: 0.3400004
objectReference: {fileID: 0}
- target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
propertyPath: m_LocalPosition.y
@@ -635,7 +707,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
propertyPath: m_LocalPosition.z
- value: 1.03
+ value: 9.68
objectReference: {fileID: 0}
- target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
propertyPath: m_LocalRotation.w
@@ -669,7 +741,14 @@ PrefabInstance:
propertyPath: m_Name
value: Enemy (2)
objectReference: {fileID: 0}
+ - target: {fileID: 5599539567497807159, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
+ propertyPath: m_IsActive
+ value: 1
+ objectReference: {fileID: 0}
m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
--- !u!4 &1494435109 stripped
Transform:
@@ -685,12 +764,14 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 1702078697}
+ - component: {fileID: 1702078698}
+ - component: {fileID: 1702078699}
m_Layer: 0
m_Name: Environment
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
- m_StaticEditorFlags: 0
+ m_StaticEditorFlags: 2147483639
m_IsActive: 1
--- !u!4 &1702078697
Transform:
@@ -699,6 +780,7 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1702078696}
+ serializedVersion: 2
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}
@@ -706,27 +788,71 @@ Transform:
m_Children:
- {fileID: 1402420032}
- {fileID: 1089364666}
+ - {fileID: 1813727660}
+ - {fileID: 1779908011}
m_Father: {fileID: 0}
- m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &1702078698
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1702078696}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1e3fdca004f2d45fe8abbed571a8abd5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_OverrideArea: 0
+ m_Area: 0
+ m_OverrideGenerateLinks: 1
+ m_GenerateLinks: 1
+ m_IgnoreFromBuild: 0
+ m_ApplyToChildren: 1
+ m_AffectedAgents: ffffffff
+--- !u!114 &1702078699
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1702078696}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 7a5ac11cc976e418e8d13136b07e1f52, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_AgentTypeID: 0
+ m_CollectObjects: 3
+ m_Size: {x: 10, y: 10, z: 10}
+ m_Center: {x: 0, y: 2, z: 0}
+ m_LayerMask:
+ serializedVersion: 2
+ m_Bits: 4294967295
+ m_UseGeometry: 0
+ m_DefaultArea: 0
+ m_GenerateLinks: 0
+ m_IgnoreNavMeshAgent: 1
+ m_IgnoreNavMeshObstacle: 1
+ m_OverrideTileSize: 0
+ m_TileSize: 256
+ m_OverrideVoxelSize: 0
+ m_VoxelSize: 0.16666667
+ m_MinRegionArea: 2
+ m_NavMeshData: {fileID: 23800000, guid: bc0ea04d2588f6b4086c3f0383e36c02, type: 2}
+ m_BuildHeightMesh: 0
--- !u!1001 &1715656625
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
+ serializedVersion: 3
m_TransformParent: {fileID: 157782261}
m_Modifications:
- - target: {fileID: 1411216412654489461, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
- propertyPath: _entityBaseSet
- value:
- objectReference: {fileID: 11400000, guid: e5f25127d92be074aac6e7b745fae107, type: 2}
- - target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
- propertyPath: m_RootOrder
- value: 1
- objectReference: {fileID: 0}
- target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
propertyPath: m_LocalPosition.x
- value: -1.8
+ value: -18.15
objectReference: {fileID: 0}
- target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
propertyPath: m_LocalPosition.y
@@ -734,7 +860,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
propertyPath: m_LocalPosition.z
- value: 2.38
+ value: 9.04
objectReference: {fileID: 0}
- target: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
propertyPath: m_LocalRotation.w
@@ -769,34 +895,265 @@ PrefabInstance:
value: Enemy
objectReference: {fileID: 0}
m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
--- !u!4 &1715656626 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 2692714622321691895, guid: 4af571b983b23f94f8d5ca4dbda27de5, type: 3}
m_PrefabInstance: {fileID: 1715656625}
m_PrefabAsset: {fileID: 0}
---- !u!195 &1715656628
-NavMeshAgent:
+--- !u!1 &1779908010
+GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_GameObject: {fileID: 208658293}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1779908011}
+ - component: {fileID: 1779908014}
+ - component: {fileID: 1779908013}
+ - component: {fileID: 1779908012}
+ - component: {fileID: 1779908015}
+ m_Layer: 0
+ m_Name: Cube (2)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 2147483639
+ m_IsActive: 1
+--- !u!4 &1779908011
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1779908010}
+ serializedVersion: 2
+ m_LocalRotation: {x: -0, y: 0.42212784, z: -0, w: 0.9065364}
+ m_LocalPosition: {x: 5.39, y: 0.6702, z: 4.91}
+ m_LocalScale: {x: 9.746384, y: 2.3403041, z: 1.8018664}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1702078697}
+ m_LocalEulerAnglesHint: {x: 0, y: 49.938, z: 0}
+--- !u!65 &1779908012
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1779908010}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
m_Enabled: 1
- m_AgentTypeID: 0
- m_Radius: 0.5
- m_Speed: 3.5
- m_Acceleration: 8
- avoidancePriority: 50
- m_AngularSpeed: 120
- m_StoppingDistance: 0
- m_AutoTraverseOffMeshLink: 1
- m_AutoBraking: 1
- m_AutoRepath: 1
- m_Height: 2
- m_BaseOffset: 0
- m_WalkableMask: 4294967295
- m_ObstacleAvoidanceType: 4
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &1779908013
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1779908010}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 257
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 73c176f402d2c2f4d929aa5da7585d17, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!33 &1779908014
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1779908010}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!114 &1779908015
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1779908010}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1e3fdca004f2d45fe8abbed571a8abd5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_OverrideArea: 0
+ m_Area: 0
+ m_OverrideGenerateLinks: 1
+ m_GenerateLinks: 1
+ m_IgnoreFromBuild: 0
+ m_ApplyToChildren: 1
+ m_AffectedAgents: ffffffff
+--- !u!1 &1813727659
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1813727660}
+ - component: {fileID: 1813727663}
+ - component: {fileID: 1813727662}
+ - component: {fileID: 1813727661}
+ - component: {fileID: 1813727664}
+ m_Layer: 0
+ m_Name: Cube (1)
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 2147483639
+ m_IsActive: 1
+--- !u!4 &1813727660
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1813727659}
+ serializedVersion: 2
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: -1.4706, y: 0.6702, z: 6.79}
+ m_LocalScale: {x: 9.746384, y: 2.3403041, z: 1.8018664}
+ m_ConstrainProportionsScale: 0
+ m_Children: []
+ m_Father: {fileID: 1702078697}
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!65 &1813727661
+BoxCollider:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1813727659}
+ m_Material: {fileID: 0}
+ m_IncludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_ExcludeLayers:
+ serializedVersion: 2
+ m_Bits: 0
+ m_LayerOverridePriority: 0
+ m_IsTrigger: 0
+ m_ProvidesContacts: 0
+ m_Enabled: 1
+ serializedVersion: 3
+ m_Size: {x: 1, y: 1, z: 1}
+ m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &1813727662
+MeshRenderer:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1813727659}
+ m_Enabled: 1
+ m_CastShadows: 1
+ m_ReceiveShadows: 1
+ m_DynamicOccludee: 1
+ m_StaticShadowCaster: 0
+ m_MotionVectors: 1
+ m_LightProbeUsage: 1
+ m_ReflectionProbeUsage: 1
+ m_RayTracingMode: 2
+ m_RayTraceProcedural: 0
+ m_RenderingLayerMask: 257
+ m_RendererPriority: 0
+ m_Materials:
+ - {fileID: 2100000, guid: 73c176f402d2c2f4d929aa5da7585d17, type: 2}
+ m_StaticBatchInfo:
+ firstSubMesh: 0
+ subMeshCount: 0
+ m_StaticBatchRoot: {fileID: 0}
+ m_ProbeAnchor: {fileID: 0}
+ m_LightProbeVolumeOverride: {fileID: 0}
+ m_ScaleInLightmap: 1
+ m_ReceiveGI: 1
+ m_PreserveUVs: 0
+ m_IgnoreNormalsForChartDetection: 0
+ m_ImportantGI: 0
+ m_StitchLightmapSeams: 1
+ m_SelectedEditorRenderState: 3
+ m_MinimumChartSize: 4
+ m_AutoUVMaxDistance: 0.5
+ m_AutoUVMaxAngle: 89
+ m_LightmapParameters: {fileID: 0}
+ m_SortingLayerID: 0
+ m_SortingLayer: 0
+ m_SortingOrder: 0
+ m_AdditionalVertexStreams: {fileID: 0}
+--- !u!33 &1813727663
+MeshFilter:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1813727659}
+ m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!114 &1813727664
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1813727659}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 1e3fdca004f2d45fe8abbed571a8abd5, type: 3}
+ m_Name:
+ m_EditorClassIdentifier:
+ m_OverrideArea: 0
+ m_Area: 0
+ m_OverrideGenerateLinks: 1
+ m_GenerateLinks: 1
+ m_IgnoreFromBuild: 0
+ m_ApplyToChildren: 1
+ m_AffectedAgents: ffffffff
--- !u!1 &2047541735
GameObject:
m_ObjectHideFlags: 0
@@ -884,13 +1241,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2047541735}
+ serializedVersion: 2
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
- m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!114 &2047541738
MonoBehaviour:
@@ -1024,31 +1381,20 @@ PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
+ serializedVersion: 3
m_TransformParent: {fileID: 157782261}
m_Modifications:
- - target: {fileID: 3252872069634226352, guid: 534f8d15e0c83c646887bebfda2bdfd6, type: 3}
- propertyPath: m_Enabled
- value: 0
- objectReference: {fileID: 0}
- - target: {fileID: 4256226406833302537, guid: 534f8d15e0c83c646887bebfda2bdfd6, type: 3}
- propertyPath: m_IsTrigger
- value: 1
- objectReference: {fileID: 0}
- - target: {fileID: 8324879816836607384, guid: 534f8d15e0c83c646887bebfda2bdfd6, type: 3}
- propertyPath: m_RootOrder
- value: 0
- objectReference: {fileID: 0}
- target: {fileID: 8324879816836607384, guid: 534f8d15e0c83c646887bebfda2bdfd6, type: 3}
propertyPath: m_LocalPosition.x
- value: 4.6326556
+ value: -3.33
objectReference: {fileID: 0}
- target: {fileID: 8324879816836607384, guid: 534f8d15e0c83c646887bebfda2bdfd6, type: 3}
propertyPath: m_LocalPosition.y
- value: -0.98203504
+ value: 0
objectReference: {fileID: 0}
- target: {fileID: 8324879816836607384, guid: 534f8d15e0c83c646887bebfda2bdfd6, type: 3}
propertyPath: m_LocalPosition.z
- value: -2.8909383
+ value: 3.21
objectReference: {fileID: 0}
- target: {fileID: 8324879816836607384, guid: 534f8d15e0c83c646887bebfda2bdfd6, type: 3}
propertyPath: m_LocalRotation.w
@@ -1078,22 +1424,21 @@ PrefabInstance:
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- - target: {fileID: 8385032484663529878, guid: 534f8d15e0c83c646887bebfda2bdfd6, type: 3}
- propertyPath: m_IsActive
- value: 1
- objectReference: {fileID: 0}
- target: {fileID: 8704396752535238434, guid: 534f8d15e0c83c646887bebfda2bdfd6, type: 3}
propertyPath: m_Name
value: Turret
objectReference: {fileID: 0}
- m_RemovedComponents:
- - {fileID: 1344974744014620977, guid: 534f8d15e0c83c646887bebfda2bdfd6, type: 3}
+ m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 534f8d15e0c83c646887bebfda2bdfd6, type: 3}
--- !u!1001 &664620741625697858
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
+ serializedVersion: 3
m_TransformParent: {fileID: 38176946}
m_Modifications:
- target: {fileID: 664620742648054780, guid: 3a89f87af6ee84a459d98a4c296dd1be, type: 3}
@@ -1157,12 +1502,16 @@ PrefabInstance:
value: BuildingHandler
objectReference: {fileID: 0}
m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 3a89f87af6ee84a459d98a4c296dd1be, type: 3}
--- !u!1001 &3627079579018641133
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
+ serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 3627079578080913704, guid: 1170a91b91039d6429d389468bd72c6f, type: 3}
@@ -1214,12 +1563,16 @@ PrefabInstance:
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 1170a91b91039d6429d389468bd72c6f, type: 3}
--- !u!1001 &5200388200885062254
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
+ serializedVersion: 3
m_TransformParent: {fileID: 38176946}
m_Modifications:
- target: {fileID: 5200388201450229074, guid: 07826307af1971948b98dd42d1e9457a, type: 3}
@@ -1271,12 +1624,16 @@ PrefabInstance:
value: EnemyHandler
objectReference: {fileID: 0}
m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 07826307af1971948b98dd42d1e9457a, type: 3}
--- !u!1001 &5263199549561108292
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
+ serializedVersion: 3
m_TransformParent: {fileID: 38176946}
m_Modifications:
- target: {fileID: 5263199550015624125, guid: 2e352ad6389b4234083764d15d4e6a5f, type: 3}
@@ -1328,21 +1685,21 @@ PrefabInstance:
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 2e352ad6389b4234083764d15d4e6a5f, type: 3}
--- !u!1001 &8451896670512076735
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
+ serializedVersion: 3
m_TransformParent: {fileID: 157782261}
m_Modifications:
- - target: {fileID: 493861824998956378, guid: 57a75520298c47140a928041b05d7f3c, type: 3}
- propertyPath: m_RootOrder
- value: 2
- objectReference: {fileID: 0}
- target: {fileID: 493861824998956378, guid: 57a75520298c47140a928041b05d7f3c, type: 3}
propertyPath: m_LocalPosition.x
- value: -0.07734442
+ value: 2.05
objectReference: {fileID: 0}
- target: {fileID: 493861824998956378, guid: 57a75520298c47140a928041b05d7f3c, type: 3}
propertyPath: m_LocalPosition.y
@@ -1350,7 +1707,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 493861824998956378, guid: 57a75520298c47140a928041b05d7f3c, type: 3}
propertyPath: m_LocalPosition.z
- value: -5.2709384
+ value: 2.96
objectReference: {fileID: 0}
- target: {fileID: 493861824998956378, guid: 57a75520298c47140a928041b05d7f3c, type: 3}
propertyPath: m_LocalRotation.w
@@ -1385,4 +1742,18 @@ PrefabInstance:
value: PowerPlant
objectReference: {fileID: 0}
m_RemovedComponents: []
+ m_RemovedGameObjects: []
+ m_AddedGameObjects: []
+ m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 57a75520298c47140a928041b05d7f3c, type: 3}
+--- !u!1660057539 &9223372036854775807
+SceneRoots:
+ m_ObjectHideFlags: 0
+ m_Roots:
+ - {fileID: 2047541737}
+ - {fileID: 38176946}
+ - {fileID: 1191794244}
+ - {fileID: 3627079579018641133}
+ - {fileID: 95533813}
+ - {fileID: 157782261}
+ - {fileID: 1702078697}
diff --git a/Assets/Scenes/Playground 1/NavMesh-Environment.asset b/Assets/Scenes/Playground 1/NavMesh-Environment.asset
new file mode 100644
index 0000000..88a65b5
Binary files /dev/null and b/Assets/Scenes/Playground 1/NavMesh-Environment.asset differ
diff --git a/Assets/Scenes/Playground 1/NavMesh-Environment.asset.meta b/Assets/Scenes/Playground 1/NavMesh-Environment.asset.meta
new file mode 100644
index 0000000..74f2c48
--- /dev/null
+++ b/Assets/Scenes/Playground 1/NavMesh-Environment.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: bc0ea04d2588f6b4086c3f0383e36c02
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 23800000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scenes/Playground 1/NavMesh.asset b/Assets/Scenes/Playground 1/NavMesh-Navigation.asset
similarity index 84%
rename from Assets/Scenes/Playground 1/NavMesh.asset
rename to Assets/Scenes/Playground 1/NavMesh-Navigation.asset
index 20b87cb..5d9374d 100644
Binary files a/Assets/Scenes/Playground 1/NavMesh.asset and b/Assets/Scenes/Playground 1/NavMesh-Navigation.asset differ
diff --git a/Assets/Scenes/Playground 1/NavMesh.asset.meta b/Assets/Scenes/Playground 1/NavMesh-Navigation.asset.meta
similarity index 100%
rename from Assets/Scenes/Playground 1/NavMesh.asset.meta
rename to Assets/Scenes/Playground 1/NavMesh-Navigation.asset.meta
diff --git a/Assets/ScriptableObjects.meta b/Assets/ScriptableObjects.meta
deleted file mode 100644
index e8e6906..0000000
--- a/Assets/ScriptableObjects.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 4b8bc87700fc5a44b88c1b13c4bdb3cf
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/ScriptableObjects/SRuntimeSet.cs b/Assets/ScriptableObjects/SRuntimeSet.cs
deleted file mode 100644
index 9a6cb87..0000000
--- a/Assets/ScriptableObjects/SRuntimeSet.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using System.Collections.Generic;
-using UnityEngine;
-
-namespace AsteroidGame.ScriptableObjects
-{
- public abstract class SRuntimeSet : ScriptableObject
- {
- public List _list;
-
- public void Add(T component)
- {
- _list.Add(component);
- }
-
- public void Remove(T component)
- {
- _list.Remove(component);
- }
- }
-}
\ No newline at end of file
diff --git a/Assets/ScriptableObjects/SRuntimeSet.cs.meta b/Assets/ScriptableObjects/SRuntimeSet.cs.meta
deleted file mode 100644
index 483e99a..0000000
--- a/Assets/ScriptableObjects/SRuntimeSet.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 1e81b384c7f010b4fa3c1b8f293a4c42
-MonoImporter:
- externalObjects: {}
- serializedVersion: 2
- defaultReferences: []
- executionOrder: 0
- icon: {instanceID: 0}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/ScriptableObjects/ScriptableObjects.asmdef b/Assets/ScriptableObjects/ScriptableObjects.asmdef
deleted file mode 100644
index 35574c9..0000000
--- a/Assets/ScriptableObjects/ScriptableObjects.asmdef
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "name": "ScriptableObjects",
- "rootNamespace": "AsteroidGame",
- "references": [],
- "includePlatforms": [],
- "excludePlatforms": [],
- "allowUnsafeCode": false,
- "overrideReferences": false,
- "precompiledReferences": [],
- "autoReferenced": true,
- "defineConstraints": [],
- "versionDefines": [],
- "noEngineReferences": false
-}
\ No newline at end of file
diff --git a/Assets/ScriptableObjects/ScriptableObjects.asmdef.meta b/Assets/ScriptableObjects/ScriptableObjects.asmdef.meta
deleted file mode 100644
index 7c9b25d..0000000
--- a/Assets/ScriptableObjects/ScriptableObjects.asmdef.meta
+++ /dev/null
@@ -1,7 +0,0 @@
-fileFormatVersion: 2
-guid: eb3099ff524d60545a136315a154d67b
-AssemblyDefinitionImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Assets/Scripts/CameraController.cs b/Assets/Scripts/CameraController.cs
index f87b33d..0fb4396 100644
--- a/Assets/Scripts/CameraController.cs
+++ b/Assets/Scripts/CameraController.cs
@@ -1,4 +1,3 @@
-using InputSystem;
using UnityEngine;
using UnityEngine.InputSystem;
diff --git a/Assets/UI/BuildMenuUiController.cs b/Assets/UI/BuildMenuUiController.cs
index 1e8b3a1..c9fbdd1 100644
--- a/Assets/UI/BuildMenuUiController.cs
+++ b/Assets/UI/BuildMenuUiController.cs
@@ -3,15 +3,17 @@ using AsteroidGame.Entities;
using UnityEngine;
using UnityEngine.UIElements;
using AsteroidGame.Handlers;
+using AsteroidGame.ScriptableObjects;
using UnityEngine.Serialization;
namespace AsteroidGame.UI
{
public class BuildMenuUiController : MonoBehaviour
{
+ [FormerlySerializedAs("_availableSStructuresObject")]
[FormerlySerializedAs("_availableStructuresObject")]
[Header("Structures")]
- [SerializeField] private SStructureBaseList _availableSStructuresObject;
+ [SerializeField] private SoStructureBaseList _availableSoStructuresObject;
private VisualElement _mRoot;
private VisualElement _mSlotContainer;
@@ -20,7 +22,7 @@ namespace AsteroidGame.UI
private void OnEnable()
{
- _buildings = _availableSStructuresObject._structureList;
+ _buildings = _availableSoStructuresObject._structureList;
_buildingHandler = FindObjectOfType();
//Store the root from the UI Document component
diff --git a/Entities.csproj.DotSettings b/Entities.csproj.DotSettings
index 80d98ab..4abec3d 100644
--- a/Entities.csproj.DotSettings
+++ b/Entities.csproj.DotSettings
@@ -2,6 +2,7 @@
True
True
True
+ True
True
True
True
diff --git a/Packages/manifest.json b/Packages/manifest.json
index a9c4ced..3e245bd 100644
--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@ -1,19 +1,18 @@
{
"dependencies": {
- "com.unity.collab-proxy": "1.17.2",
+ "com.unity.ai.navigation": "1.1.5",
"com.unity.feature.development": "1.0.1",
- "com.unity.ide.rider": "3.0.15",
- "com.unity.ide.visualstudio": "2.0.16",
+ "com.unity.ide.rider": "3.0.25",
+ "com.unity.ide.visualstudio": "2.0.21",
"com.unity.ide.vscode": "1.2.5",
- "com.unity.inputsystem": "1.4.2",
- "com.unity.render-pipelines.high-definition": "12.1.7",
- "com.unity.test-framework": "1.1.31",
+ "com.unity.inputsystem": "1.7.0",
+ "com.unity.render-pipelines.high-definition": "14.0.8",
+ "com.unity.test-framework": "1.1.33",
"com.unity.textmeshpro": "3.0.6",
- "com.unity.timeline": "1.6.4",
+ "com.unity.timeline": "1.7.5",
"com.unity.ugui": "1.0.0",
"com.unity.ui": "2.0.0",
"com.unity.ui.builder": "2.0.0",
- "com.unity.visualscripting": "1.7.8",
"com.unity.modules.ai": "1.0.0",
"com.unity.modules.androidjni": "1.0.0",
"com.unity.modules.animation": "1.0.0",
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
index 2ab3c5f..dd8058e 100644
--- a/Packages/packages-lock.json
+++ b/Packages/packages-lock.json
@@ -1,7 +1,16 @@
{
"dependencies": {
+ "com.unity.ai.navigation": {
+ "version": "1.1.5",
+ "depth": 0,
+ "source": "registry",
+ "dependencies": {
+ "com.unity.modules.ai": "1.0.0"
+ },
+ "url": "https://packages.unity.com"
+ },
"com.unity.burst": {
- "version": "1.6.6",
+ "version": "1.8.8",
"depth": 1,
"source": "registry",
"dependencies": {
@@ -9,15 +18,6 @@
},
"url": "https://packages.unity.com"
},
- "com.unity.collab-proxy": {
- "version": "1.17.2",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.services.core": "1.0.1"
- },
- "url": "https://packages.unity.com"
- },
"com.unity.editorcoroutines": {
"version": "1.0.0",
"depth": 1,
@@ -37,17 +37,17 @@
"depth": 0,
"source": "builtin",
"dependencies": {
- "com.unity.ide.visualstudio": "2.0.16",
- "com.unity.ide.rider": "3.0.15",
+ "com.unity.ide.visualstudio": "2.0.18",
+ "com.unity.ide.rider": "3.0.24",
"com.unity.ide.vscode": "1.2.5",
"com.unity.editorcoroutines": "1.0.0",
- "com.unity.performance.profile-analyzer": "1.1.1",
- "com.unity.test-framework": "1.1.31",
- "com.unity.testtools.codecoverage": "1.0.1"
+ "com.unity.performance.profile-analyzer": "1.2.2",
+ "com.unity.test-framework": "1.1.33",
+ "com.unity.testtools.codecoverage": "1.2.4"
}
},
"com.unity.ide.rider": {
- "version": "3.0.15",
+ "version": "3.0.25",
"depth": 0,
"source": "registry",
"dependencies": {
@@ -56,7 +56,7 @@
"url": "https://packages.unity.com"
},
"com.unity.ide.visualstudio": {
- "version": "2.0.16",
+ "version": "2.0.21",
"depth": 0,
"source": "registry",
"dependencies": {
@@ -72,7 +72,7 @@
"url": "https://packages.unity.com"
},
"com.unity.inputsystem": {
- "version": "1.4.2",
+ "version": "1.7.0",
"depth": 0,
"source": "registry",
"dependencies": {
@@ -87,91 +87,74 @@
"dependencies": {},
"url": "https://packages.unity.com"
},
- "com.unity.nuget.newtonsoft-json": {
- "version": "3.0.2",
- "depth": 2,
- "source": "registry",
- "dependencies": {},
- "url": "https://packages.unity.com"
- },
"com.unity.performance.profile-analyzer": {
- "version": "1.1.1",
+ "version": "1.2.2",
"depth": 1,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.render-pipelines.core": {
- "version": "12.1.7",
+ "version": "14.0.8",
"depth": 1,
"source": "builtin",
"dependencies": {
"com.unity.ugui": "1.0.0",
"com.unity.modules.physics": "1.0.0",
+ "com.unity.modules.terrain": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0"
}
},
"com.unity.render-pipelines.high-definition": {
- "version": "12.1.7",
+ "version": "14.0.8",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.mathematics": "1.2.4",
- "com.unity.burst": "1.6.0",
+ "com.unity.burst": "1.8.4",
"com.unity.modules.video": "1.0.0",
"com.unity.modules.animation": "1.0.0",
"com.unity.modules.imageconversion": "1.0.0",
"com.unity.modules.terrain": "1.0.0",
- "com.unity.render-pipelines.core": "12.1.7",
- "com.unity.shadergraph": "12.1.7",
- "com.unity.visualeffectgraph": "12.1.7",
- "com.unity.render-pipelines.high-definition-config": "12.1.7"
+ "com.unity.render-pipelines.core": "14.0.8",
+ "com.unity.shadergraph": "14.0.8",
+ "com.unity.visualeffectgraph": "14.0.8",
+ "com.unity.render-pipelines.high-definition-config": "14.0.8"
}
},
"com.unity.render-pipelines.high-definition-config": {
- "version": "12.1.7",
+ "version": "14.0.8",
"depth": 1,
"source": "builtin",
"dependencies": {
- "com.unity.render-pipelines.core": "12.1.7"
+ "com.unity.render-pipelines.core": "14.0.8"
}
},
"com.unity.searcher": {
- "version": "4.9.1",
+ "version": "4.9.2",
"depth": 2,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
- "com.unity.services.core": {
- "version": "1.4.2",
- "depth": 1,
- "source": "registry",
- "dependencies": {
- "com.unity.modules.unitywebrequest": "1.0.0",
- "com.unity.nuget.newtonsoft-json": "3.0.2",
- "com.unity.modules.androidjni": "1.0.0"
- },
- "url": "https://packages.unity.com"
- },
"com.unity.settings-manager": {
- "version": "1.0.3",
+ "version": "2.0.1",
"depth": 2,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.shadergraph": {
- "version": "12.1.7",
+ "version": "14.0.8",
"depth": 1,
"source": "builtin",
"dependencies": {
- "com.unity.render-pipelines.core": "12.1.7",
- "com.unity.searcher": "4.9.1"
+ "com.unity.render-pipelines.core": "14.0.8",
+ "com.unity.searcher": "4.9.2"
}
},
"com.unity.test-framework": {
- "version": "1.1.31",
+ "version": "1.1.33",
"depth": 0,
"source": "registry",
"dependencies": {
@@ -182,7 +165,7 @@
"url": "https://packages.unity.com"
},
"com.unity.testtools.codecoverage": {
- "version": "1.0.1",
+ "version": "1.2.4",
"depth": 1,
"source": "registry",
"dependencies": {
@@ -201,7 +184,7 @@
"url": "https://packages.unity.com"
},
"com.unity.timeline": {
- "version": "1.6.4",
+ "version": "1.7.5",
"depth": 0,
"source": "registry",
"dependencies": {
@@ -234,24 +217,14 @@
"dependencies": {}
},
"com.unity.visualeffectgraph": {
- "version": "12.1.7",
+ "version": "14.0.8",
"depth": 1,
"source": "builtin",
"dependencies": {
- "com.unity.shadergraph": "12.1.7",
- "com.unity.render-pipelines.core": "12.1.7"
+ "com.unity.shadergraph": "14.0.8",
+ "com.unity.render-pipelines.core": "14.0.8"
}
},
- "com.unity.visualscripting": {
- "version": "1.7.8",
- "depth": 0,
- "source": "registry",
- "dependencies": {
- "com.unity.ugui": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0"
- },
- "url": "https://packages.unity.com"
- },
"com.unity.modules.ai": {
"version": "1.0.0",
"depth": 0,
@@ -384,17 +357,6 @@
"version": "1.0.0",
"depth": 0,
"source": "builtin",
- "dependencies": {
- "com.unity.modules.ui": "1.0.0",
- "com.unity.modules.imgui": "1.0.0",
- "com.unity.modules.jsonserialize": "1.0.0",
- "com.unity.modules.uielementsnative": "1.0.0"
- }
- },
- "com.unity.modules.uielementsnative": {
- "version": "1.0.0",
- "depth": 1,
- "source": "builtin",
"dependencies": {
"com.unity.modules.ui": "1.0.0",
"com.unity.modules.imgui": "1.0.0",
diff --git a/ProjectSettings/BurstAotSettings_StandaloneWindows.json b/ProjectSettings/BurstAotSettings_StandaloneWindows.json
new file mode 100644
index 0000000..58cf25f
--- /dev/null
+++ b/ProjectSettings/BurstAotSettings_StandaloneWindows.json
@@ -0,0 +1,18 @@
+{
+ "MonoBehaviour": {
+ "Version": 4,
+ "EnableBurstCompilation": true,
+ "EnableOptimisations": true,
+ "EnableSafetyChecks": false,
+ "EnableDebugInAllBuilds": false,
+ "DebugDataKind": 1,
+ "EnableArmv9SecurityFeatures": false,
+ "CpuMinTargetX32": 0,
+ "CpuMaxTargetX32": 0,
+ "CpuMinTargetX64": 0,
+ "CpuMaxTargetX64": 0,
+ "CpuTargetsX32": 6,
+ "CpuTargetsX64": 72,
+ "OptimizeFor": 0
+ }
+}
diff --git a/ProjectSettings/CommonBurstAotSettings.json b/ProjectSettings/CommonBurstAotSettings.json
new file mode 100644
index 0000000..0293daf
--- /dev/null
+++ b/ProjectSettings/CommonBurstAotSettings.json
@@ -0,0 +1,6 @@
+{
+ "MonoBehaviour": {
+ "Version": 4,
+ "DisabledWarnings": ""
+ }
+}
diff --git a/ProjectSettings/HDRPProjectSettings.asset b/ProjectSettings/HDRPProjectSettings.asset
index 06c298f..6fb2e80 100644
--- a/ProjectSettings/HDRPProjectSettings.asset
+++ b/ProjectSettings/HDRPProjectSettings.asset
@@ -14,7 +14,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_ProjectSettingFolderPath: HDRPDefaultResources
m_WizardPopupAtStart: 0
- m_LastMaterialVersion: 12
+ m_LastMaterialVersion: 13
m_HDShaderGraphLastSeenVersion: 0
m_PluginMaterialVersions:
m_Keys: []
diff --git a/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json b/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json
index ad11087..3c7b4c1 100644
--- a/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json
+++ b/ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json
@@ -1,6 +1,4 @@
{
- "m_Name": "Settings",
- "m_Path": "ProjectSettings/Packages/com.unity.testtools.codecoverage/Settings.json",
"m_Dictionary": {
"m_DictionaryValues": []
}
diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset
index be3711b..f49a8f9 100644
--- a/ProjectSettings/ProjectSettings.asset
+++ b/ProjectSettings/ProjectSettings.asset
@@ -3,7 +3,7 @@
--- !u!129 &1
PlayerSettings:
m_ObjectHideFlags: 0
- serializedVersion: 23
+ serializedVersion: 26
productGUID: d003377464fe2f043a1d84fa3cee25a6
AndroidProfiler: 0
AndroidFilterTouchesWhenObscured: 0
@@ -48,14 +48,15 @@ PlayerSettings:
defaultScreenHeightWeb: 600
m_StereoRenderingPath: 0
m_ActiveColorSpace: 1
+ m_SpriteBatchVertexThreshold: 300
m_MTRendering: 1
mipStripping: 0
numberOfMipsStripped: 0
+ numberOfMipsStrippedPerMipmapLimitGroup: {}
m_StackTraceTypes: 010000000100000001000000010000000100000001000000
iosShowActivityIndicatorOnLoading: -1
androidShowActivityIndicatorOnLoading: -1
iosUseCustomAppBackgroundBehavior: 0
- iosAllowHTTPDownload: 1
allowedAutorotateToPortrait: 1
allowedAutorotateToPortraitUpsideDown: 1
allowedAutorotateToLandscapeRight: 1
@@ -85,6 +86,7 @@ PlayerSettings:
hideHomeButton: 0
submitAnalytics: 1
usePlayerLog: 1
+ dedicatedServerOptimizations: 0
bakeCollisionMeshes: 0
forceSingleInstance: 0
useFlipModelSwapchain: 1
@@ -119,8 +121,12 @@ PlayerSettings:
switchNVNShaderPoolsGranularity: 33554432
switchNVNDefaultPoolsGranularity: 16777216
switchNVNOtherPoolsGranularity: 16777216
+ switchGpuScratchPoolGranularity: 2097152
+ switchAllowGpuScratchShrinking: 0
switchNVNMaxPublicTextureIDCount: 0
switchNVNMaxPublicSamplerIDCount: 0
+ switchNVNGraphicsFirmwareMemory: 32
+ switchMaxWorkerMultiple: 8
stadiaPresentMode: 0
stadiaTargetFramerate: 0
vulkanNumSwapchainBuffers: 3
@@ -128,12 +134,7 @@ PlayerSettings:
vulkanEnablePreTransform: 1
vulkanEnableLateAcquireNextImage: 0
vulkanEnableCommandBufferRecycling: 1
- m_SupportedAspectRatios:
- 4:3: 1
- 5:4: 1
- 16:10: 1
- 16:9: 1
- Others: 1
+ loadStoreDebugModeEnabled: 0
bundleVersion: 0.1
preloadedAssets: []
metroInputSource: 0
@@ -147,7 +148,7 @@ PlayerSettings:
enableFrameTimingStats: 0
enableOpenGLProfilerGPURecorders: 1
useHDRDisplay: 0
- D3DHDRBitDepth: 0
+ hdrBitDepth: 0
m_ColorGamuts: 00000000
targetPixelDensity: 30
resolutionScalingMode: 0
@@ -157,6 +158,7 @@ PlayerSettings:
applicationIdentifier: {}
buildNumber:
Standalone: 0
+ VisionOS: 0
iPhone: 0
tvOS: 0
overrideDefaultApplicationIdentifier: 0
@@ -174,12 +176,15 @@ PlayerSettings:
APKExpansionFiles: 0
keepLoadedShadersAlive: 0
StripUnusedMeshComponents: 1
+ strictShaderVariantMatching: 0
VertexChannelCompressionMask: 4054
iPhoneSdkVersion: 988
- iOSTargetOSVersionString: 11.0
+ iOSTargetOSVersionString: 12.0
tvOSSdkVersion: 0
tvOSRequireExtendedGameController: 0
- tvOSTargetOSVersionString: 11.0
+ tvOSTargetOSVersionString: 12.0
+ VisionOSSdkVersion: 0
+ VisionOSTargetOSVersionString: 1.0
uIPrerenderedIcon: 0
uIRequiresPersistentWiFi: 0
uIRequiresFullScreen: 1
@@ -227,8 +232,10 @@ PlayerSettings:
appleDeveloperTeamID:
iOSManualSigningProvisioningProfileID:
tvOSManualSigningProvisioningProfileID:
+ VisionOSManualSigningProvisioningProfileID:
iOSManualSigningProvisioningProfileType: 0
tvOSManualSigningProvisioningProfileType: 0
+ VisionOSManualSigningProvisioningProfileType: 0
appleEnableAutomaticSigning: 0
iOSRequireARKit: 0
iOSAutomaticallyDetectAndAddCapabilities: 1
@@ -243,6 +250,7 @@ PlayerSettings:
useCustomLauncherGradleManifest: 0
useCustomBaseGradleTemplate: 0
useCustomGradlePropertiesTemplate: 0
+ useCustomGradleSettingsTemplate: 0
useCustomProguardFile: 0
AndroidTargetArchitectures: 1
AndroidTargetDevices: 0
@@ -250,6 +258,7 @@ PlayerSettings:
androidSplashScreen: {fileID: 0}
AndroidKeystoreName:
AndroidKeyaliasName:
+ AndroidEnableArmv9SecurityFeatures: 0
AndroidBuildApkPerCpuArchitecture: 0
AndroidTVCompatibility: 0
AndroidIsGame: 1
@@ -263,7 +272,6 @@ PlayerSettings:
banner: {fileID: 0}
androidGamepadSupportLevel: 0
chromeosInputEmulation: 1
- AndroidMinifyWithR8: 0
AndroidMinifyRelease: 0
AndroidMinifyDebug: 0
AndroidValidateAppBundleSize: 1
@@ -286,6 +294,7 @@ PlayerSettings:
- m_BuildTarget: WebGL
m_StaticBatching: 0
m_DynamicBatching: 0
+ m_BuildTargetShaderSettings: []
m_BuildTargetGraphicsJobs:
- m_BuildTarget: MacStandaloneSupport
m_GraphicsJobs: 0
@@ -337,6 +346,8 @@ PlayerSettings:
m_Devices:
- Oculus
- OpenVR
+ m_DefaultShaderChunkSizeInMB: 16
+ m_DefaultShaderChunkCount: 0
openGLRequireES31: 0
openGLRequireES31AEP: 0
openGLRequireES32: 0
@@ -358,7 +369,21 @@ PlayerSettings:
m_EncodingQuality: 2
- m_BuildTarget: Windows Store Apps
m_EncodingQuality: 2
+ m_BuildTargetGroupHDRCubemapEncodingQuality:
+ - m_BuildTarget: Android
+ m_EncodingQuality: 2
+ - m_BuildTarget: iPhone
+ m_EncodingQuality: 1
+ - m_BuildTarget: tvOS
+ m_EncodingQuality: 1
+ - m_BuildTarget: Standalone
+ m_EncodingQuality: 2
+ - m_BuildTarget: Lumin
+ m_EncodingQuality: 1
+ - m_BuildTarget: Windows Store Apps
+ m_EncodingQuality: 2
m_BuildTargetGroupLightmapSettings: []
+ m_BuildTargetGroupLoadStoreDebugModeSettings: []
m_BuildTargetNormalMapEncoding:
- m_BuildTarget: Android
m_Encoding: 1
@@ -379,6 +404,7 @@ PlayerSettings:
locationUsageDescription:
microphoneUsageDescription:
bluetoothUsageDescription:
+ macOSTargetOSVersion: 10.13.0
switchNMETAOverride:
switchNetLibKey:
switchSocketMemoryPoolSize: 6144
@@ -386,10 +412,12 @@ PlayerSettings:
switchSocketConcurrencyLimit: 14
switchScreenResolutionBehavior: 2
switchUseCPUProfiler: 0
+ switchEnableFileSystemTrace: 0
switchUseGOLDLinker: 0
switchLTOSetting: 0
switchApplicationID: 0x01004b9000490000
switchNSODependencies:
+ switchCompilerFlags:
switchTitleNames_0:
switchTitleNames_1:
switchTitleNames_2:
@@ -463,7 +491,6 @@ PlayerSettings:
switchReleaseVersion: 0
switchDisplayVersion: 1.0.0
switchStartupUserAccount: 0
- switchTouchScreenUsage: 0
switchSupportedLanguagesMask: 0
switchLogoType: 0
switchApplicationErrorCodeCategory:
@@ -505,6 +532,7 @@ PlayerSettings:
switchNativeFsCacheSize: 32
switchIsHoldTypeHorizontal: 0
switchSupportedNpadCount: 8
+ switchEnableTouchScreen: 1
switchSocketConfigEnabled: 0
switchTcpInitialSendBufferSize: 32
switchTcpInitialReceiveBufferSize: 64
@@ -517,6 +545,7 @@ PlayerSettings:
switchNetworkInterfaceManagerInitializeEnabled: 1
switchPlayerConnectionEnabled: 1
switchUseNewStyleFilepaths: 0
+ switchUseLegacyFmodPriorities: 0
switchUseMicroSleepForYield: 1
switchEnableRamDiskSupport: 0
switchMicroSleepForYieldTime: 25
@@ -604,6 +633,7 @@ PlayerSettings:
webGLMemorySize: 16
webGLExceptionSupport: 1
webGLNameFilesAsHashes: 0
+ webGLShowDiagnostics: 0
webGLDataCaching: 1
webGLDebugSymbols: 0
webGLEmscriptenArgs:
@@ -616,21 +646,41 @@ PlayerSettings:
webGLLinkerTarget: 1
webGLThreadsSupport: 0
webGLDecompressionFallback: 0
+ webGLInitialMemorySize: 32
+ webGLMaximumMemorySize: 2048
+ webGLMemoryGrowthMode: 2
+ webGLMemoryLinearGrowthStep: 16
+ webGLMemoryGeometricGrowthStep: 0.2
+ webGLMemoryGeometricGrowthCap: 96
+ webGLPowerPreference: 2
scriptingDefineSymbols: {}
additionalCompilerArguments: {}
platformArchitecture: {}
scriptingBackend: {}
il2cppCompilerConfiguration: {}
- managedStrippingLevel: {}
+ il2cppCodeGeneration: {}
+ managedStrippingLevel:
+ EmbeddedLinux: 1
+ GameCoreScarlett: 1
+ GameCoreXboxOne: 1
+ Nintendo Switch: 1
+ PS4: 1
+ PS5: 1
+ QNX: 1
+ Stadia: 1
+ VisionOS: 1
+ WebGL: 1
+ Windows Store Apps: 1
+ XboxOne: 1
+ iPhone: 1
+ tvOS: 1
incrementalIl2cppBuild: {}
suppressCommonWarnings: 1
allowUnsafeCode: 0
useDeterministicCompilation: 1
- enableRoslynAnalyzers: 1
additionalIl2CppArgs:
scriptingRuntimeVersion: 1
gcIncremental: 1
- assemblyVersionValidation: 1
gcWBarrierValidation: 0
apiCompatibilityLevelPerPlatform: {}
m_RenderingPath: 1
@@ -703,8 +753,14 @@ PlayerSettings:
luminVersion:
m_VersionCode: 1
m_VersionName:
+ hmiPlayerDataPath:
+ hmiForceSRGBBlit: 1
+ embeddedLinuxEnableGamepadInput: 1
+ hmiLogStartupTiming: 0
+ hmiCpuConfiguration:
apiCompatibilityLevel: 6
activeInputHandler: 1
+ windowsGamepadBackendHint: 0
cloudProjectId:
framebufferDepthMemorylessMode: 0
qualitySettingsNames: []
@@ -712,6 +768,7 @@ PlayerSettings:
organizationId:
cloudEnabled: 0
legacyClampBlendShapeWeights: 0
- playerDataPath:
- forceSRGBBlit: 1
+ hmiLoadingImage: {fileID: 0}
+ platformRequiresReadableAssets: 0
virtualTexturingSupportEnabled: 0
+ insecureHttpOption: 0
diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt
index 8ea1b85..88bb9cf 100644
--- a/ProjectSettings/ProjectVersion.txt
+++ b/ProjectSettings/ProjectVersion.txt
@@ -1,2 +1,2 @@
-m_EditorVersion: 2021.3.11f1
-m_EditorVersionWithRevision: 2021.3.11f1 (0a5ca18544bf)
+m_EditorVersion: 2022.3.10f1
+m_EditorVersionWithRevision: 2022.3.10f1 (ff3792e53c62)
diff --git a/ProjectSettings/QualitySettings.asset b/ProjectSettings/QualitySettings.asset
index 0505fe1..9549fd2 100644
--- a/ProjectSettings/QualitySettings.asset
+++ b/ProjectSettings/QualitySettings.asset
@@ -6,7 +6,7 @@ QualitySettings:
serializedVersion: 5
m_CurrentQuality: 5
m_QualitySettings:
- - serializedVersion: 2
+ - serializedVersion: 3
name: Very Low
pixelLightCount: 0
shadows: 0
@@ -19,16 +19,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 0
skinWeights: 1
- textureQuality: 1
+ globalTextureMipmapLimit: 1
+ textureMipmapLimitSettings: []
anisotropicTextures: 0
antiAliasing: 0
softParticles: 0
softVegetation: 0
realtimeReflectionProbes: 0
billboardsFaceCameraPosition: 0
+ useLegacyDetailDistribution: 1
vSyncCount: 0
+ realtimeGICPUUsage: 25
lodBias: 0.3
maximumLODLevel: 0
+ enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@@ -41,8 +45,17 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
+ terrainQualityOverrides: 0
+ terrainPixelError: 1
+ terrainDetailDensityScale: 1
+ terrainBasemapDistance: 1000
+ terrainDetailDistance: 80
+ terrainTreeDistance: 5000
+ terrainBillboardStart: 50
+ terrainFadeLength: 5
+ terrainMaxTrees: 50
excludedTargetPlatforms: []
- - serializedVersion: 2
+ - serializedVersion: 3
name: Low
pixelLightCount: 0
shadows: 0
@@ -55,16 +68,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 0
skinWeights: 2
- textureQuality: 0
+ globalTextureMipmapLimit: 0
+ textureMipmapLimitSettings: []
anisotropicTextures: 0
antiAliasing: 0
softParticles: 0
softVegetation: 0
realtimeReflectionProbes: 0
billboardsFaceCameraPosition: 0
+ useLegacyDetailDistribution: 1
vSyncCount: 0
+ realtimeGICPUUsage: 25
lodBias: 0.4
maximumLODLevel: 0
+ enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@@ -77,8 +94,17 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
+ terrainQualityOverrides: 0
+ terrainPixelError: 1
+ terrainDetailDensityScale: 1
+ terrainBasemapDistance: 1000
+ terrainDetailDistance: 80
+ terrainTreeDistance: 5000
+ terrainBillboardStart: 50
+ terrainFadeLength: 5
+ terrainMaxTrees: 50
excludedTargetPlatforms: []
- - serializedVersion: 2
+ - serializedVersion: 3
name: Medium
pixelLightCount: 1
shadows: 1
@@ -91,16 +117,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 0
skinWeights: 2
- textureQuality: 0
+ globalTextureMipmapLimit: 0
+ textureMipmapLimitSettings: []
anisotropicTextures: 1
antiAliasing: 0
softParticles: 0
softVegetation: 0
realtimeReflectionProbes: 0
billboardsFaceCameraPosition: 0
+ useLegacyDetailDistribution: 1
vSyncCount: 1
+ realtimeGICPUUsage: 25
lodBias: 0.7
maximumLODLevel: 0
+ enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@@ -113,8 +143,17 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
+ terrainQualityOverrides: 0
+ terrainPixelError: 1
+ terrainDetailDensityScale: 1
+ terrainBasemapDistance: 1000
+ terrainDetailDistance: 80
+ terrainTreeDistance: 5000
+ terrainBillboardStart: 50
+ terrainFadeLength: 5
+ terrainMaxTrees: 50
excludedTargetPlatforms: []
- - serializedVersion: 2
+ - serializedVersion: 3
name: High
pixelLightCount: 2
shadows: 2
@@ -127,16 +166,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 1
skinWeights: 2
- textureQuality: 0
+ globalTextureMipmapLimit: 0
+ textureMipmapLimitSettings: []
anisotropicTextures: 1
antiAliasing: 0
softParticles: 0
softVegetation: 1
realtimeReflectionProbes: 1
billboardsFaceCameraPosition: 1
+ useLegacyDetailDistribution: 1
vSyncCount: 1
+ realtimeGICPUUsage: 50
lodBias: 1
maximumLODLevel: 0
+ enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@@ -149,8 +192,17 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
+ terrainQualityOverrides: 0
+ terrainPixelError: 1
+ terrainDetailDensityScale: 1
+ terrainBasemapDistance: 1000
+ terrainDetailDistance: 80
+ terrainTreeDistance: 5000
+ terrainBillboardStart: 50
+ terrainFadeLength: 5
+ terrainMaxTrees: 50
excludedTargetPlatforms: []
- - serializedVersion: 2
+ - serializedVersion: 3
name: Very High
pixelLightCount: 3
shadows: 2
@@ -163,16 +215,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 1
skinWeights: 4
- textureQuality: 0
+ globalTextureMipmapLimit: 0
+ textureMipmapLimitSettings: []
anisotropicTextures: 2
antiAliasing: 2
softParticles: 1
softVegetation: 1
realtimeReflectionProbes: 1
billboardsFaceCameraPosition: 1
+ useLegacyDetailDistribution: 1
vSyncCount: 1
+ realtimeGICPUUsage: 50
lodBias: 1.5
maximumLODLevel: 0
+ enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@@ -185,8 +241,17 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
+ terrainQualityOverrides: 0
+ terrainPixelError: 1
+ terrainDetailDensityScale: 1
+ terrainBasemapDistance: 1000
+ terrainDetailDistance: 80
+ terrainTreeDistance: 5000
+ terrainBillboardStart: 50
+ terrainFadeLength: 5
+ terrainMaxTrees: 50
excludedTargetPlatforms: []
- - serializedVersion: 2
+ - serializedVersion: 3
name: Ultra
pixelLightCount: 4
shadows: 2
@@ -199,16 +264,20 @@ QualitySettings:
shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
shadowmaskMode: 1
skinWeights: 4
- textureQuality: 0
+ globalTextureMipmapLimit: 0
+ textureMipmapLimitSettings: []
anisotropicTextures: 2
antiAliasing: 2
softParticles: 1
softVegetation: 1
realtimeReflectionProbes: 1
billboardsFaceCameraPosition: 1
+ useLegacyDetailDistribution: 1
vSyncCount: 1
+ realtimeGICPUUsage: 100
lodBias: 1
maximumLODLevel: 0
+ enableLODCrossFade: 1
streamingMipmapsActive: 0
streamingMipmapsAddAllCameras: 1
streamingMipmapsMemoryBudget: 512
@@ -221,7 +290,17 @@ QualitySettings:
asyncUploadPersistentBuffer: 1
resolutionScalingFixedDPIFactor: 1
customRenderPipeline: {fileID: 0}
+ terrainQualityOverrides: 0
+ terrainPixelError: 1
+ terrainDetailDensityScale: 1
+ terrainBasemapDistance: 1000
+ terrainDetailDistance: 80
+ terrainTreeDistance: 5000
+ terrainBillboardStart: 50
+ terrainFadeLength: 5
+ terrainMaxTrees: 50
excludedTargetPlatforms: []
+ m_TextureMipmapLimitGroupNames: []
m_PerPlatformDefaultQuality:
Android: 2
Lumin: 5
diff --git a/ProjectSettings/VFXManager.asset b/ProjectSettings/VFXManager.asset
index b004c5e..87823a9 100644
--- a/ProjectSettings/VFXManager.asset
+++ b/ProjectSettings/VFXManager.asset
@@ -10,6 +10,8 @@ VFXManager:
m_RenderPipeSettingsPath:
m_FixedTimeStep: 0.016666668
m_MaxDeltaTime: 0.05
- m_CompiledVersion: 4
- m_RuntimeVersion: 22
+ m_MaxScrubTime: 30
+ m_CompiledVersion: 7
+ m_RuntimeVersion: 35
m_RuntimeResources: {fileID: 11400000, guid: bc10b42afe3813544bffd38ae2cd893d, type: 2}
+ m_BatchEmptyLifetime: 300
diff --git a/ProjectSettings/boot.config b/ProjectSettings/boot.config
deleted file mode 100644
index e69de29..0000000