From d9931e379b23a3748e73e7e4947cbeeaa3b0dc61 Mon Sep 17 00:00:00 2001 From: VladimirPirozhenko Date: Mon, 12 Sep 2022 22:23:18 +0300 Subject: [PATCH] Some tweaks to pooling editor --- Assets/Cubemaps.meta | 8 + Assets/Cubemaps/Nebula_04_Cubemap.exr.meta | 108 ------ ....prefab => LaserBeamObstaclePool 1.prefab} | 28 +- ...ta => LaserBeamObstaclePool 1.prefab.meta} | 2 +- .../Pools/LaserBeamObstaclePool 2.prefab | 48 +++ .../Pools/LaserBeamObstaclePool 2.prefab.meta | 7 + .../Pools/LaserBeamObstaclePool 3.prefab | 48 +++ .../Pools/LaserBeamObstaclePool 3.prefab.meta | 7 + .../Pools/LaserBeamObstaclePool 4.prefab | 48 +++ .../Pools/LaserBeamObstaclePool 4.prefab.meta | 7 + .../Pools/LaserBeamObstaclePool 5.prefab | 48 +++ .../Pools/LaserBeamObstaclePool 5.prefab.meta | 7 + .../Pools/LaserBeamObstaclePool 6.prefab | 48 +++ .../Pools/LaserBeamObstaclePool 6.prefab.meta | 7 + .../Pools/LaserBeamObstaclePool 7.prefab | 48 +++ .../Pools/LaserBeamObstaclePool 7.prefab.meta | 7 + Assets/Scenes/GameScene.unity | 364 +++++++++++++++++- .../Editor/CubemapTextureBuilder.cs.meta | 11 - Assets/Scripts/Editor/PoolCodeGenerator.cs | 31 +- Assets/Scripts/Editor/PoolCreator.cs | 93 ----- Assets/Scripts/Editor/PoolCreatorInspector.cs | 26 +- Assets/Scripts/Editor/PoolCreatorWindow.cs | 64 --- .../Scripts/Editor/PoolCreatorWindow.cs.meta | 11 - Assets/Scripts/Editor/ReflectionExtentions.cs | 17 + ...r.cs.meta => ReflectionExtentions.cs.meta} | 2 +- Assets/Scripts/Pools/ChunkPool.cs | 10 +- Assets/Scripts/Road/ChunkSpawner.cs | 2 +- Assets/Skyboxes/Skybox 1.mat | 10 +- 28 files changed, 781 insertions(+), 336 deletions(-) create mode 100644 Assets/Cubemaps.meta delete mode 100644 Assets/Cubemaps/Nebula_04_Cubemap.exr.meta rename Assets/Prefabs/Pools/{ChunkPool.prefab => LaserBeamObstaclePool 1.prefab} (57%) rename Assets/Prefabs/Pools/{ChunkPool.prefab.meta => LaserBeamObstaclePool 1.prefab.meta} (74%) create mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 2.prefab create mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 2.prefab.meta create mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 3.prefab create mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 3.prefab.meta create mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 4.prefab create mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 4.prefab.meta create mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 5.prefab create mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 5.prefab.meta create mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 6.prefab create mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 6.prefab.meta create mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 7.prefab create mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 7.prefab.meta delete mode 100644 Assets/Scripts/Editor/CubemapTextureBuilder.cs.meta delete mode 100644 Assets/Scripts/Editor/PoolCreator.cs delete mode 100644 Assets/Scripts/Editor/PoolCreatorWindow.cs delete mode 100644 Assets/Scripts/Editor/PoolCreatorWindow.cs.meta create mode 100644 Assets/Scripts/Editor/ReflectionExtentions.cs rename Assets/Scripts/Editor/{PoolCreator.cs.meta => ReflectionExtentions.cs.meta} (83%) diff --git a/Assets/Cubemaps.meta b/Assets/Cubemaps.meta new file mode 100644 index 0000000..3f4b4f7 --- /dev/null +++ b/Assets/Cubemaps.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fd9a385562d45e54db2ae9e5f8ddc735 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Cubemaps/Nebula_04_Cubemap.exr.meta b/Assets/Cubemaps/Nebula_04_Cubemap.exr.meta deleted file mode 100644 index ea99999..0000000 --- a/Assets/Cubemaps/Nebula_04_Cubemap.exr.meta +++ /dev/null @@ -1,108 +0,0 @@ -fileFormatVersion: 2 -guid: 44334f10651a6b949aa54d1ab90b321d -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 2 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 0 - alphaIsTransparency: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 2 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Prefabs/Pools/ChunkPool.prefab b/Assets/Prefabs/Pools/LaserBeamObstaclePool 1.prefab similarity index 57% rename from Assets/Prefabs/Pools/ChunkPool.prefab rename to Assets/Prefabs/Pools/LaserBeamObstaclePool 1.prefab index 644f4d7..a127638 100644 --- a/Assets/Prefabs/Pools/ChunkPool.prefab +++ b/Assets/Prefabs/Pools/LaserBeamObstaclePool 1.prefab @@ -1,6 +1,6 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: ---- !u!1 &5750222509257206156 +--- !u!1 &585344636160116149 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -8,43 +8,41 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 5750222509257206154} - - component: {fileID: 5750222509257206155} + - component: {fileID: 3083513290491299677} + - component: {fileID: 6339711165433259600} m_Layer: 0 - m_Name: ChunkPool + m_Name: LaserBeamObstaclePool 1 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &5750222509257206154 +--- !u!4 &3083513290491299677 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5750222509257206156} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -500.42767, y: -332.09, z: 1.6611246} + m_GameObject: {fileID: 585344636160116149} + 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: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &5750222509257206155 +--- !u!114 &6339711165433259600 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5750222509257206156} + m_GameObject: {fileID: 585344636160116149} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 506813849e0819640b461c8c8c8331b9, type: 3} + m_Script: {fileID: 11500000, guid: 1290664e863a3d34596917f255587b4c, type: 3} m_Name: m_EditorClassIdentifier: - capacity: 30 - isActiveByDefault: 1 - prefab: {fileID: 7423857566743054097, guid: 9b90fe6584244f945a5cf4bfffd577c7, type: 3} - spawner: {fileID: 0} + capacity: 20 + prefab: {fileID: 6716018880928220119, guid: aa7da947970bb714fa7924d204fe2bdd, type: 3} diff --git a/Assets/Prefabs/Pools/ChunkPool.prefab.meta b/Assets/Prefabs/Pools/LaserBeamObstaclePool 1.prefab.meta similarity index 74% rename from Assets/Prefabs/Pools/ChunkPool.prefab.meta rename to Assets/Prefabs/Pools/LaserBeamObstaclePool 1.prefab.meta index 5c76bb5..07146f1 100644 --- a/Assets/Prefabs/Pools/ChunkPool.prefab.meta +++ b/Assets/Prefabs/Pools/LaserBeamObstaclePool 1.prefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 571635df616d74341b2a578193524d72 +guid: a0972b1f8d1a81746ad547a30b198f54 PrefabImporter: externalObjects: {} userData: diff --git a/Assets/Prefabs/Pools/LaserBeamObstaclePool 2.prefab b/Assets/Prefabs/Pools/LaserBeamObstaclePool 2.prefab new file mode 100644 index 0000000..0226124 --- /dev/null +++ b/Assets/Prefabs/Pools/LaserBeamObstaclePool 2.prefab @@ -0,0 +1,48 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &5507748125980828843 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8976795358065207428} + - component: {fileID: 2098471787973801869} + m_Layer: 0 + m_Name: LaserBeamObstaclePool 2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8976795358065207428 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5507748125980828843} + 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: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &2098471787973801869 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5507748125980828843} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1290664e863a3d34596917f255587b4c, type: 3} + m_Name: + m_EditorClassIdentifier: + capacity: 20 + prefab: {fileID: 6716018880928220119, guid: aa7da947970bb714fa7924d204fe2bdd, type: 3} diff --git a/Assets/Prefabs/Pools/LaserBeamObstaclePool 2.prefab.meta b/Assets/Prefabs/Pools/LaserBeamObstaclePool 2.prefab.meta new file mode 100644 index 0000000..fcaec61 --- /dev/null +++ b/Assets/Prefabs/Pools/LaserBeamObstaclePool 2.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 8c88aa0a0d5b07e46910234cd4bef4bc +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Pools/LaserBeamObstaclePool 3.prefab b/Assets/Prefabs/Pools/LaserBeamObstaclePool 3.prefab new file mode 100644 index 0000000..6daa4d9 --- /dev/null +++ b/Assets/Prefabs/Pools/LaserBeamObstaclePool 3.prefab @@ -0,0 +1,48 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4803265322953328668 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3542107874089306634} + - component: {fileID: 3465773835329670599} + m_Layer: 0 + m_Name: LaserBeamObstaclePool 3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3542107874089306634 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4803265322953328668} + 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: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &3465773835329670599 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4803265322953328668} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1290664e863a3d34596917f255587b4c, type: 3} + m_Name: + m_EditorClassIdentifier: + capacity: 20 + prefab: {fileID: 6716018880928220119, guid: aa7da947970bb714fa7924d204fe2bdd, type: 3} diff --git a/Assets/Prefabs/Pools/LaserBeamObstaclePool 3.prefab.meta b/Assets/Prefabs/Pools/LaserBeamObstaclePool 3.prefab.meta new file mode 100644 index 0000000..26f6967 --- /dev/null +++ b/Assets/Prefabs/Pools/LaserBeamObstaclePool 3.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a7077da5b69125c45adc6449698483fc +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Pools/LaserBeamObstaclePool 4.prefab b/Assets/Prefabs/Pools/LaserBeamObstaclePool 4.prefab new file mode 100644 index 0000000..6c336b1 --- /dev/null +++ b/Assets/Prefabs/Pools/LaserBeamObstaclePool 4.prefab @@ -0,0 +1,48 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &3346759873106221450 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8468678166670126995} + - component: {fileID: 5698352118940698158} + m_Layer: 0 + m_Name: LaserBeamObstaclePool 4 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8468678166670126995 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3346759873106221450} + 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: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5698352118940698158 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3346759873106221450} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1290664e863a3d34596917f255587b4c, type: 3} + m_Name: + m_EditorClassIdentifier: + capacity: 20 + prefab: {fileID: 6716018880928220119, guid: aa7da947970bb714fa7924d204fe2bdd, type: 3} diff --git a/Assets/Prefabs/Pools/LaserBeamObstaclePool 4.prefab.meta b/Assets/Prefabs/Pools/LaserBeamObstaclePool 4.prefab.meta new file mode 100644 index 0000000..03a9602 --- /dev/null +++ b/Assets/Prefabs/Pools/LaserBeamObstaclePool 4.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 5afc8b717c5462c48a307b8ba7cbd765 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Pools/LaserBeamObstaclePool 5.prefab b/Assets/Prefabs/Pools/LaserBeamObstaclePool 5.prefab new file mode 100644 index 0000000..9e3f7f0 --- /dev/null +++ b/Assets/Prefabs/Pools/LaserBeamObstaclePool 5.prefab @@ -0,0 +1,48 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &4639692601297554770 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7847063947029774805} + - component: {fileID: 5708947234510644779} + m_Layer: 0 + m_Name: LaserBeamObstaclePool 5 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7847063947029774805 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4639692601297554770} + 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: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &5708947234510644779 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4639692601297554770} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1290664e863a3d34596917f255587b4c, type: 3} + m_Name: + m_EditorClassIdentifier: + capacity: 20 + prefab: {fileID: 6716018880928220119, guid: aa7da947970bb714fa7924d204fe2bdd, type: 3} diff --git a/Assets/Prefabs/Pools/LaserBeamObstaclePool 5.prefab.meta b/Assets/Prefabs/Pools/LaserBeamObstaclePool 5.prefab.meta new file mode 100644 index 0000000..04fe42d --- /dev/null +++ b/Assets/Prefabs/Pools/LaserBeamObstaclePool 5.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a0ffa956811e5c649ab03516d62a7413 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Pools/LaserBeamObstaclePool 6.prefab b/Assets/Prefabs/Pools/LaserBeamObstaclePool 6.prefab new file mode 100644 index 0000000..420055b --- /dev/null +++ b/Assets/Prefabs/Pools/LaserBeamObstaclePool 6.prefab @@ -0,0 +1,48 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8330748080743058699 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1846536169624790917} + - component: {fileID: 8283761833655993215} + m_Layer: 0 + m_Name: LaserBeamObstaclePool 6 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1846536169624790917 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8330748080743058699} + 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: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &8283761833655993215 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8330748080743058699} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1290664e863a3d34596917f255587b4c, type: 3} + m_Name: + m_EditorClassIdentifier: + capacity: 20 + prefab: {fileID: 6716018880928220119, guid: aa7da947970bb714fa7924d204fe2bdd, type: 3} diff --git a/Assets/Prefabs/Pools/LaserBeamObstaclePool 6.prefab.meta b/Assets/Prefabs/Pools/LaserBeamObstaclePool 6.prefab.meta new file mode 100644 index 0000000..fd03397 --- /dev/null +++ b/Assets/Prefabs/Pools/LaserBeamObstaclePool 6.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e4c19f25b0940ac4ab3f65cefa81b863 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Pools/LaserBeamObstaclePool 7.prefab b/Assets/Prefabs/Pools/LaserBeamObstaclePool 7.prefab new file mode 100644 index 0000000..5810b2a --- /dev/null +++ b/Assets/Prefabs/Pools/LaserBeamObstaclePool 7.prefab @@ -0,0 +1,48 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &481475307597556439 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4175434790897723924} + - component: {fileID: 1495655233091554591} + m_Layer: 0 + m_Name: LaserBeamObstaclePool 7 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4175434790897723924 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 481475307597556439} + 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: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1495655233091554591 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 481475307597556439} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1290664e863a3d34596917f255587b4c, type: 3} + m_Name: + m_EditorClassIdentifier: + capacity: 20 + prefab: {fileID: 6716018880928220119, guid: aa7da947970bb714fa7924d204fe2bdd, type: 3} diff --git a/Assets/Prefabs/Pools/LaserBeamObstaclePool 7.prefab.meta b/Assets/Prefabs/Pools/LaserBeamObstaclePool 7.prefab.meta new file mode 100644 index 0000000..f526279 --- /dev/null +++ b/Assets/Prefabs/Pools/LaserBeamObstaclePool 7.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 87eb04d9e4423d64b983d41b8015f4fc +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/GameScene.unity b/Assets/Scenes/GameScene.unity index 65963b6..4af9784 100644 --- a/Assets/Scenes/GameScene.unity +++ b/Assets/Scenes/GameScene.unity @@ -14,7 +14,7 @@ OcclusionCullingSettings: RenderSettings: m_ObjectHideFlags: 0 serializedVersion: 9 - m_Fog: 1 + m_Fog: 0 m_FogColor: {r: 0.09803922, g: 0.9372549, b: 1, a: 1} m_FogMode: 2 m_FogDensity: 0.003 @@ -26,7 +26,7 @@ RenderSettings: m_AmbientIntensity: 1 m_AmbientMode: 0 m_SubtractiveShadowColor: {r: 0.15930934, g: 0.16762157, b: 0.18867922, a: 1} - m_SkyboxMaterial: {fileID: 2100000, guid: 6e182f8ba45b96f42a647eb6185acf5f, type: 2} + m_SkyboxMaterial: {fileID: 2100000, guid: 4ae0c091059376f428ab6a949356507b, type: 2} m_HaloStrength: 0.5 m_FlareStrength: 1 m_FlareFadeSpeed: 3 @@ -36,7 +36,7 @@ RenderSettings: m_DefaultReflectionResolution: 64 m_ReflectionBounces: 1 m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} + m_CustomReflection: {fileID: 8900000, guid: 73353a1df0cbbda4eb65a7f51fff31e6, type: 3} m_Sun: {fileID: 654164605} m_IndirectSpecularColor: {r: 0.4465829, g: 0.49641728, b: 0.57482105, a: 1} m_UseRadianceAmbientProbe: 0 @@ -70,7 +70,7 @@ LightmapSettings: m_FinalGather: 0 m_FinalGatherFiltering: 1 m_FinalGatherRayCount: 256 - m_ReflectionCompression: 2 + m_ReflectionCompression: 1 m_MixedBakeMode: 2 m_BakeBackend: 1 m_PVRSampling: 1 @@ -634,6 +634,63 @@ RectTransform: m_AnchoredPosition: {x: 0, y: 0} m_SizeDelta: {x: -20, y: -20} m_Pivot: {x: 0.5, y: 0.5} +--- !u!1001 &206286301 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 5613211205116686397, guid: 34904f79b191b1a4bb6db52985c8c960, type: 3} + propertyPath: m_Name + value: Corridor_I + objectReference: {fileID: 0} + - target: {fileID: 5613211205117028343, guid: 34904f79b191b1a4bb6db52985c8c960, type: 3} + propertyPath: m_RootOrder + value: 11 + objectReference: {fileID: 0} + - target: {fileID: 5613211205117028343, guid: 34904f79b191b1a4bb6db52985c8c960, type: 3} + propertyPath: m_LocalPosition.x + value: -2 + objectReference: {fileID: 0} + - target: {fileID: 5613211205117028343, guid: 34904f79b191b1a4bb6db52985c8c960, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5613211205117028343, guid: 34904f79b191b1a4bb6db52985c8c960, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5613211205117028343, guid: 34904f79b191b1a4bb6db52985c8c960, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5613211205117028343, guid: 34904f79b191b1a4bb6db52985c8c960, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5613211205117028343, guid: 34904f79b191b1a4bb6db52985c8c960, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5613211205117028343, guid: 34904f79b191b1a4bb6db52985c8c960, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5613211205117028343, guid: 34904f79b191b1a4bb6db52985c8c960, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5613211205117028343, guid: 34904f79b191b1a4bb6db52985c8c960, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5613211205117028343, guid: 34904f79b191b1a4bb6db52985c8c960, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 34904f79b191b1a4bb6db52985c8c960, type: 3} --- !u!1 &214096428 GameObject: m_ObjectHideFlags: 0 @@ -953,6 +1010,37 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 377940177} m_CullTransparentMesh: 1 +--- !u!1 &517424157 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 517424158} + m_Layer: 0 + m_Name: Chunk + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &517424158 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 517424157} + 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: 20 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &552140504 GameObject: m_ObjectHideFlags: 0 @@ -1005,6 +1093,37 @@ MonoBehaviour: m_EditorClassIdentifier: fpsText: {fileID: 772101543} pollingTime: 1 +--- !u!1 &590113656 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 590113657} + m_Layer: 0 + m_Name: StraightChunkPool + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &590113657 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 590113656} + 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: 19 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &634835457 GameObject: m_ObjectHideFlags: 0 @@ -1161,6 +1280,37 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 5c5f5b343424dcf418dec07a24e1e6bd, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &743619605 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 743619606} + m_Layer: 0 + m_Name: StraightChunkPool + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &743619606 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 743619605} + 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: 18 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &772101541 GameObject: m_ObjectHideFlags: 0 @@ -1296,6 +1446,37 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 772101541} m_CullTransparentMesh: 1 +--- !u!1 &795270190 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 795270191} + m_Layer: 0 + m_Name: StraightChunkPool + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &795270191 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 795270190} + 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: 17 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &812835467 GameObject: m_ObjectHideFlags: 0 @@ -1522,6 +1703,37 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 839969254} m_CullTransparentMesh: 1 +--- !u!1 &842825375 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 842825376} + m_Layer: 0 + m_Name: StraightChunkPool + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &842825376 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 842825375} + 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: 14 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &868437928 GameObject: m_ObjectHideFlags: 0 @@ -1983,6 +2195,9 @@ MonoBehaviour: shader: {fileID: 4800000, guid: f195745088c68f5499f7d18150f0068e, type: 3} _nearColor: {r: 0.6509434, g: 0.56804025, b: 0.56804025, a: 0} _farColor: {r: 0.6509804, g: 0.5686275, b: 0.5686275, a: 0} + _nearValue: 200 + _farValue: 400 + _density: 0 --- !u!1 &1055376730 GameObject: m_ObjectHideFlags: 0 @@ -2019,10 +2234,10 @@ RectTransform: m_Father: {fileID: 1856934115903457217} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0.0010986328, y: 0} - m_SizeDelta: {x: -600.2201, y: 0} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: 0.00680542, y: -200} + m_SizeDelta: {x: 436.6172, y: 400} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1055376732 MonoBehaviour: @@ -2141,6 +2356,37 @@ MonoBehaviour: - {fileID: 4230759379826572186} - {fileID: 3994382559241916552} - {fileID: 7328150211815643165} +--- !u!1 &1168898608 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1168898609} + m_Layer: 0 + m_Name: StraightChunkPool + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1168898609 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1168898608} + 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: 13 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1176782783 GameObject: m_ObjectHideFlags: 0 @@ -2176,6 +2422,37 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1214900649 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1214900650} + m_Layer: 0 + m_Name: StraightChunkPool + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1214900650 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1214900649} + 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: 12 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1237272500 GameObject: m_ObjectHideFlags: 0 @@ -2895,6 +3172,37 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1824469385} m_CullTransparentMesh: 1 +--- !u!1 &1835795560 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1835795561} + m_Layer: 0 + m_Name: StraightChunkPool + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1835795561 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1835795560} + 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: 16 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1858832244 GameObject: m_ObjectHideFlags: 0 @@ -3168,6 +3476,37 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1899410411} m_CullTransparentMesh: 1 +--- !u!1 &1902740354 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1902740355} + m_Layer: 0 + m_Name: StraightChunkPool + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1902740355 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1902740354} + 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: 15 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2033098990 GameObject: m_ObjectHideFlags: 0 @@ -3521,10 +3860,10 @@ RectTransform: m_Father: {fileID: 1856934115903457217} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 0, y: 0} - m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: -0.00012207031, y: 2.5} - m_SizeDelta: {x: -18.56, y: -104.99999} + m_AnchorMin: {x: 0.5, y: 1} + m_AnchorMax: {x: 0.5, y: 1} + m_AnchoredPosition: {x: -0.00012207031, y: -197.5} + m_SizeDelta: {x: 819.44, y: 295} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &3169046467461798359 GameObject: @@ -3975,7 +4314,6 @@ MonoBehaviour: m_EditorClassIdentifier: capacity: 10 prefab: {fileID: 7423857566743054097, guid: 9b90fe6584244f945a5cf4bfffd577c7, type: 3} - spawner: {fileID: 1872880027} --- !u!1001 &6634832997626976595 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Editor/CubemapTextureBuilder.cs.meta b/Assets/Scripts/Editor/CubemapTextureBuilder.cs.meta deleted file mode 100644 index fab157d..0000000 --- a/Assets/Scripts/Editor/CubemapTextureBuilder.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 25b142daa3a21bd48b466b4f0d82b688 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Editor/PoolCodeGenerator.cs b/Assets/Scripts/Editor/PoolCodeGenerator.cs index 3f0c5bb..1625b8e 100644 --- a/Assets/Scripts/Editor/PoolCodeGenerator.cs +++ b/Assets/Scripts/Editor/PoolCodeGenerator.cs @@ -2,6 +2,8 @@ using System.CodeDom.Compiler; using System.Reflection; using System.IO; +using System; +using System.Collections.Generic; public class PoolCodeGenerator { @@ -10,8 +12,8 @@ public class PoolCodeGenerator private string poolNameSpaceName; private CodeTypeDeclaration targetClass; private string outputFilePath; - - public PoolCodeGenerator(string outputFilePath, string targetClassName, string poolNameSpaceName, string pooledObjectClassName) + public Type generatedClassType { get; private set; } + public PoolCodeGenerator(string outputFilePath, string targetClassName, string poolNameSpaceName, string pooledObjectClassName,Type pooledObjectClassType) { this.targetClassName = targetClassName; @@ -25,9 +27,32 @@ public class PoolCodeGenerator targetClass.Name = this.targetClassName; targetClass.TypeAttributes = TypeAttributes.Public| TypeAttributes.Sealed; + Type t = Type.GetType(pooledObjectClassName); + + //Assembly assem = poolingObjectType.Assembly; + //string poolName = $"{target.name}Pool"; + //Type poolType = assem.GetType($"{targetClassName}"); + var typeHierarchy = pooledObjectClassType.GetClassHierarchy(); + var linkedTypeHierarchy = new LinkedList(typeHierarchy); + Type baseClass = null; + Type baseClassChild = null; + foreach (var type in typeHierarchy) + { + if (type.ToString() == "UnityEngine.MonoBehaviour") + { + var baseNode = linkedTypeHierarchy.Find(type); + baseClass = baseNode.Previous.Value; + var baseNodeChild = linkedTypeHierarchy.Find(baseClass); + baseClassChild = baseNodeChild.Previous.Value; + } + } + //poolNamespace.Types.Add(targetClass); + targetClass.Name = baseClassChild.ToString() + "Pool"; + this.outputFilePath = outputFilePath + targetClass.Name + ".cs"; poolNamespace.Types.Add(targetClass); targetUnit.Namespaces.Add(poolNamespace); - targetClass.BaseTypes.Add(new CodeTypeReference("BasePool",new CodeTypeReference(pooledObjectClassName)));//Add("BasePool"); + targetClass.BaseTypes.Add(new CodeTypeReference("BasePool",new CodeTypeReference(baseClassChild.ToString())));//Add("BasePool"); + generatedClassType = baseClassChild; } diff --git a/Assets/Scripts/Editor/PoolCreator.cs b/Assets/Scripts/Editor/PoolCreator.cs deleted file mode 100644 index ef58915..0000000 --- a/Assets/Scripts/Editor/PoolCreator.cs +++ /dev/null @@ -1,93 +0,0 @@ -using System; -using System.Collections; -using System.IO; -using System.Reflection; -using UnityEditor; -using UnityEngine; - -public class PoolCreator -{ - private string targetClassName; - private string poolNamespaceName; - //private bool pendingToGeneration = false; - private int poolCapacity = 10; - private GameObject poolingObject; - //private void OnEnable() - //{ - // AssemblyReloadEvents.afterAssemblyReload += GeneratePoolPrefab; - //} - //private void OnDisable() - //{ - // AssemblyReloadEvents.afterAssemblyReload -= GeneratePoolPrefab; - //} - public PoolCreator(GameObject poolingObject,int poolCapacity, string poolNamespaceName) - { - this.poolingObject = poolingObject; - this.poolCapacity = poolCapacity; - this.poolNamespaceName = poolNamespaceName; - GeneratePoolScript(); - } - public void GeneratePoolScript() - { - string poolObjectName = poolingObject.GetType().Name; - string targetClassName = poolObjectName + "Pool"; - this.targetClassName = targetClassName; - PoolCodeGenerator generator = new PoolCodeGenerator($"{Application.dataPath}/Scripts/Road/Pools/{targetClassName}.cs", targetClassName, poolNamespaceName, poolObjectName); //$"{targetClassName}.cs" - var relativePath = $"Assets/Scripts/Road/Pools/{targetClassName}.cs"; - generator.GenerateCSharpCode(); - AssetDatabase.ImportAsset(relativePath); - AssetDatabase.Refresh(); - EditorUtility.RequestScriptReload(); - AssetDatabase.SaveAssets(); - // pendingToGeneration = true; - } - - public void GeneratePoolPrefab() - { - GameObject poolObject = new GameObject(targetClassName); - Type poolingObjectType = poolingObject.GetType(); - Assembly assem = poolingObjectType.Assembly; - string poolName = $"{poolingObject.name}Pool"; - Type poolType = assem.GetType($"{poolNamespaceName}.{targetClassName}"); - //Type genericClass = typeof(BasePool<>); - //Type constructedClass = genericClass.MakeGenericType(poolingObjectType); - poolObject.AddComponent(poolType); - poolObject.name = poolName; - - Type typeOfField = poolType; - FieldInfo fieldInfo = null; - while (fieldInfo == null && typeOfField != null) - { - fieldInfo = typeOfField.GetField("prefab", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); - typeOfField = typeOfField.BaseType; - } - if (fieldInfo == null) throw new ArgumentOutOfRangeException("Prefab", string.Format("Field {0} was not found in Type {1}", "prefab", typeOfField.FullName)); - - var poolingObjectComponent = poolObject.GetComponent(poolType); - fieldInfo.SetValue(poolingObjectComponent, poolingObject); - Type capacityType = poolType; - //if (capacityType.GetProperty("Capacity", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance) == null) - // throw new ArgumentOutOfRangeException("Capacity", string.Format("Property {0} was not found in Type {1}", "Capacity", obj.GetType().FullName)); - //capacityType.InvokeMember("Capacity", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.SetProperty | BindingFlags.Instance, null, obj, new object[] { 10 }); - - PropertyInfo propertyInfo = capacityType.BaseType.GetProperty("Capacity", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); - propertyInfo.SetValue(poolingObjectComponent, poolCapacity, BindingFlags.NonPublic | BindingFlags.Instance, null, null, null); - - if (!Directory.Exists("Assets/Prefabs/Pools")) - AssetDatabase.CreateFolder("Assets/Prefabs", "Pools"); - - string localPath = "Assets/Prefabs/Pools/" + poolName + ".prefab"; - - localPath = AssetDatabase.GenerateUniqueAssetPath(localPath); - - bool prefabSuccess; - PrefabUtility.SaveAsPrefabAssetAndConnect(poolObject, localPath, InteractionMode.UserAction, out prefabSuccess); - - if (prefabSuccess == true) - Debug.Log("Prefab was saved successfully"); - else - Debug.Log("Prefab failed to save" + prefabSuccess); - Debug.Log("Done"); - } - -} diff --git a/Assets/Scripts/Editor/PoolCreatorInspector.cs b/Assets/Scripts/Editor/PoolCreatorInspector.cs index 3e84cf1..5134537 100644 --- a/Assets/Scripts/Editor/PoolCreatorInspector.cs +++ b/Assets/Scripts/Editor/PoolCreatorInspector.cs @@ -20,6 +20,9 @@ public class PoolCreatorInspector : Editor private const string defaultScriptPath = "Scripts/Pools"; private string generatedScriptPath = "Scripts/Pools"; private const string assetsString = "Assets/"; + private string generatedClassTypeString; + private Type generatedClassType; + PoolCodeGenerator generator; private void OnEnable() { AssemblyReloadEvents.afterAssemblyReload += GeneratePoolPrefab; @@ -83,8 +86,9 @@ public class PoolCreatorInspector : Editor } generatedScriptPath = TrimFilePathBeforeSeparator(generatedScriptPath, assetsString); if (!Directory.Exists($"{Application.dataPath}/{generatedScriptPath}")) - Directory.CreateDirectory($"{Application.dataPath}/{generatedScriptPath}"); - PoolCodeGenerator generator = new PoolCodeGenerator($"{Application.dataPath}/{generatedScriptPath}/{targetClassName}.cs", targetClassName, poolNamespaceName, poolObjectName); + Directory.CreateDirectory($"{Application.dataPath}/{generatedScriptPath}");//{targetClassName}.cs + generator = new PoolCodeGenerator($"{Application.dataPath}/{generatedScriptPath}/", targetClassName, poolNamespaceName, poolObjectName,target.GetType()); + //var relativePath = $"{Application.dataPath}/{generatedScriptPath}/{targetClassName}.cs"; generator.GenerateCSharpCode(); // AssetDatabase.ImportAsset(relativePath); @@ -92,6 +96,7 @@ public class PoolCreatorInspector : Editor EditorUtility.RequestScriptReload(); AssetDatabase.SaveAssets(); pendingToGeneration = true; + generatedClassTypeString = generator.generatedClassType.ToString(); GUIUtility.ExitGUI(); } EditorGUILayout.EndToggleGroup(); @@ -103,24 +108,31 @@ public class PoolCreatorInspector : Editor if (pendingToGeneration == false) return; pendingToGeneration = false; - + targetClassName = generatedClassTypeString; GameObject poolingObject = new GameObject(targetClassName); - Type poolingObjectType = target.GetType(); + Type poolingObjectType = target.GetType().BaseType;//generatedClassType;// Assembly assem = poolingObjectType.Assembly; - string poolName = $"{target.name}Pool"; - Type poolType = assem.GetType($"{poolNamespaceName}.{targetClassName}"); + + targetClassName = poolingObjectType.ToString(); + string poolName = $"{targetClassName}Pool"; + + Type poolType = assem.GetType($"{poolNamespaceName}.{poolName}"); poolingObject.AddComponent(poolType); poolingObject.name = poolName; Type typeOfField = poolType; + FieldInfo fieldInfo = null; + while (fieldInfo == null && typeOfField != null) { fieldInfo = typeOfField.GetField("prefab", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); typeOfField = typeOfField.BaseType; } - if (fieldInfo == null) throw new ArgumentOutOfRangeException("Prefab", string.Format("Field {0} was not found in Type {1}", "prefab", typeOfField.FullName)); + + if (fieldInfo == null) + throw new ArgumentOutOfRangeException("Prefab", string.Format("Field {0} was not found in Type {1}", "prefab", typeOfField.FullName)); var poolingObjectComponent = poolingObject.GetComponent(poolType); fieldInfo.SetValue(poolingObjectComponent, target); diff --git a/Assets/Scripts/Editor/PoolCreatorWindow.cs b/Assets/Scripts/Editor/PoolCreatorWindow.cs deleted file mode 100644 index 927964c..0000000 --- a/Assets/Scripts/Editor/PoolCreatorWindow.cs +++ /dev/null @@ -1,64 +0,0 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Reflection; -using UnityEditor; -using UnityEngine; - -public class PoolCreatorWindow : EditorWindow -{ - private int poolCapacity = 10; - private GameObject poolingObject; - private PoolCreator creator; - private void OnEnable() - { - AssemblyReloadEvents.afterAssemblyReload += CreatePoolPrefab; - } - private void OnDisable() - { - AssemblyReloadEvents.afterAssemblyReload -= CreatePoolPrefab; - } - - [MenuItem("Pooling/PoolCreatorWindow")] - public static void ShowWindow() - { - EditorWindow.GetWindow(typeof(PoolCreatorWindow)); - } - - void OnGUI() - { - // The actual window code goes here - EditorGUILayout.IntField("Pool Capacity: ", poolCapacity); - //GameObject pObj = EditorGUI.ObjectField(new Rect(3, 3, position.width - 6, 20), - // "Blablabla", - // obj, - // typeof(GameObject)); - - //poolingObject = EditorGUILayout.ObjectField(poolingObject, typeof(PoolingObject<>), true) as PoolingObject<>; - //Type type; - // foreach (var component in poolingObject.GetComponents(typeof(PoolingObject<>))) - // { - // type = component.GetType(); - - - //Type poolingObjectType = poolingObject.GetType(); - - // Assembly assem = poolingObjectType.Assembly; - //string poolName = $"{poolingObject.name}Pool"; - // Type poolType = assem.GetType("Turret"); - - //var poolingObjectComponent = poolingObject.GetComponent(poolingObjectType); - if (GUILayout.Button("Create Pool From This Object")) - { - // creator = new PoolCreator(component, poolCapacity, "Pools"); - } - // } - } - private void CreatePoolPrefab() - { - if (creator == null) - return; - creator.GeneratePoolPrefab(); - } - -} \ No newline at end of file diff --git a/Assets/Scripts/Editor/PoolCreatorWindow.cs.meta b/Assets/Scripts/Editor/PoolCreatorWindow.cs.meta deleted file mode 100644 index 9ec0c03..0000000 --- a/Assets/Scripts/Editor/PoolCreatorWindow.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f0bfc4b29502d834fb03d076136c3d34 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Editor/ReflectionExtentions.cs b/Assets/Scripts/Editor/ReflectionExtentions.cs new file mode 100644 index 0000000..6b38a60 --- /dev/null +++ b/Assets/Scripts/Editor/ReflectionExtentions.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + + +public static class ReflectionExtentions +{ + public static IEnumerable GetClassHierarchy(this Type type) + { + while (type != null) + { + yield return type; + type = type.BaseType; + } + } +} \ No newline at end of file diff --git a/Assets/Scripts/Editor/PoolCreator.cs.meta b/Assets/Scripts/Editor/ReflectionExtentions.cs.meta similarity index 83% rename from Assets/Scripts/Editor/PoolCreator.cs.meta rename to Assets/Scripts/Editor/ReflectionExtentions.cs.meta index 45828fb..2d55423 100644 --- a/Assets/Scripts/Editor/PoolCreator.cs.meta +++ b/Assets/Scripts/Editor/ReflectionExtentions.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5cdbd5dce7522f649bda974218e1e500 +guid: 0024fbc4c0a21754188b1b6e01d38b08 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Scripts/Pools/ChunkPool.cs b/Assets/Scripts/Pools/ChunkPool.cs index 9e78833..93335ae 100644 --- a/Assets/Scripts/Pools/ChunkPool.cs +++ b/Assets/Scripts/Pools/ChunkPool.cs @@ -1,14 +1,14 @@ -using UnityEngine; +using UnityEngine; public class ChunkPool : BasePool -{ +{ [SerializeField] private ChunkSpawner spawner; - protected override Chunk CreateAction() + protected override Chunk CreateAction() { Chunk chunk = base.CreateAction(); chunk.Init(spawner); - chunk.transform.position = new Vector3(0,0,0); + chunk.transform.position = new Vector3(0, 0, 0); return chunk; } @@ -23,4 +23,4 @@ public class ChunkPool : BasePool } chunk.Obstacles.Clear(); } -} +} \ No newline at end of file diff --git a/Assets/Scripts/Road/ChunkSpawner.cs b/Assets/Scripts/Road/ChunkSpawner.cs index b136c4e..f056f8b 100644 --- a/Assets/Scripts/Road/ChunkSpawner.cs +++ b/Assets/Scripts/Road/ChunkSpawner.cs @@ -1,6 +1,6 @@ using System.Collections; using UnityEngine; - +using Pools; public class ChunkSpawner : MonoBehaviour // TODO: ISpawner { [SerializeField] private float spawnDelay; diff --git a/Assets/Skyboxes/Skybox 1.mat b/Assets/Skyboxes/Skybox 1.mat index 5b1c3df..dbace4b 100644 --- a/Assets/Skyboxes/Skybox 1.mat +++ b/Assets/Skyboxes/Skybox 1.mat @@ -8,7 +8,7 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Skybox 1 - m_Shader: {fileID: 104, guid: 0000000000000000f000000000000000, type: 0} + m_Shader: {fileID: 103, guid: 0000000000000000f000000000000000, type: 0} m_ValidKeywords: [] m_InvalidKeywords: [] m_LightmapFlags: 4 @@ -76,6 +76,10 @@ Material: m_Texture: {fileID: 2800000, guid: 09752448d50082e41bcacbacbe0209fc, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _Tex: + m_Texture: {fileID: 8900000, guid: 73353a1df0cbbda4eb65a7f51fff31e6, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _UpTex: m_Texture: {fileID: 2800000, guid: 94b80d922d15ad141b3c9376cdf885e6, type: 3} m_Scale: {x: 1, y: 1} @@ -86,7 +90,7 @@ Material: - _Cutoff: 0.5 - _DetailNormalMapScale: 1 - _DstBlend: 0 - - _Exposure: 1 + - _Exposure: 1.59 - _GlossMapScale: 1 - _Glossiness: 0.5 - _GlossyReflections: 1 @@ -94,7 +98,7 @@ Material: - _Mode: 0 - _OcclusionStrength: 1 - _Parallax: 0.02 - - _Rotation: 0 + - _Rotation: 179 - _SmoothnessTextureChannel: 0 - _SpecularHighlights: 1 - _SrcBlend: 1