From e2c8ed2399f9ddd43e8ffdcd676f187419efd7da Mon Sep 17 00:00:00 2001 From: VladimirPirozhenko Date: Tue, 13 Sep 2022 22:05:42 +0300 Subject: [PATCH] Fixed bug, then creating pool from derived class --- .../Pools/LaserBeamObstaclePool 1.prefab | 48 --- .../Pools/LaserBeamObstaclePool 1.prefab.meta | 7 - .../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 | 280 +----------------- Assets/Scripts/Editor/PoolCreatorInspector.cs | 33 ++- 16 files changed, 27 insertions(+), 671 deletions(-) delete mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 1.prefab delete mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 1.prefab.meta delete mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 2.prefab delete mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 2.prefab.meta delete mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 3.prefab delete mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 3.prefab.meta delete mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 4.prefab delete mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 4.prefab.meta delete mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 5.prefab delete mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 5.prefab.meta delete mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 6.prefab delete mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 6.prefab.meta delete mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 7.prefab delete mode 100644 Assets/Prefabs/Pools/LaserBeamObstaclePool 7.prefab.meta diff --git a/Assets/Prefabs/Pools/LaserBeamObstaclePool 1.prefab b/Assets/Prefabs/Pools/LaserBeamObstaclePool 1.prefab deleted file mode 100644 index a127638..0000000 --- a/Assets/Prefabs/Pools/LaserBeamObstaclePool 1.prefab +++ /dev/null @@ -1,48 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &585344636160116149 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3083513290491299677} - - component: {fileID: 6339711165433259600} - m_Layer: 0 - m_Name: LaserBeamObstaclePool 1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3083513290491299677 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - 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 &6339711165433259600 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 585344636160116149} - 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 1.prefab.meta b/Assets/Prefabs/Pools/LaserBeamObstaclePool 1.prefab.meta deleted file mode 100644 index 07146f1..0000000 --- a/Assets/Prefabs/Pools/LaserBeamObstaclePool 1.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: a0972b1f8d1a81746ad547a30b198f54 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Prefabs/Pools/LaserBeamObstaclePool 2.prefab b/Assets/Prefabs/Pools/LaserBeamObstaclePool 2.prefab deleted file mode 100644 index 0226124..0000000 --- a/Assets/Prefabs/Pools/LaserBeamObstaclePool 2.prefab +++ /dev/null @@ -1,48 +0,0 @@ -%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 deleted file mode 100644 index fcaec61..0000000 --- a/Assets/Prefabs/Pools/LaserBeamObstaclePool 2.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index 6daa4d9..0000000 --- a/Assets/Prefabs/Pools/LaserBeamObstaclePool 3.prefab +++ /dev/null @@ -1,48 +0,0 @@ -%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 deleted file mode 100644 index 26f6967..0000000 --- a/Assets/Prefabs/Pools/LaserBeamObstaclePool 3.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index 6c336b1..0000000 --- a/Assets/Prefabs/Pools/LaserBeamObstaclePool 4.prefab +++ /dev/null @@ -1,48 +0,0 @@ -%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 deleted file mode 100644 index 03a9602..0000000 --- a/Assets/Prefabs/Pools/LaserBeamObstaclePool 4.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index 9e3f7f0..0000000 --- a/Assets/Prefabs/Pools/LaserBeamObstaclePool 5.prefab +++ /dev/null @@ -1,48 +0,0 @@ -%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 deleted file mode 100644 index 04fe42d..0000000 --- a/Assets/Prefabs/Pools/LaserBeamObstaclePool 5.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index 420055b..0000000 --- a/Assets/Prefabs/Pools/LaserBeamObstaclePool 6.prefab +++ /dev/null @@ -1,48 +0,0 @@ -%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 deleted file mode 100644 index fd03397..0000000 --- a/Assets/Prefabs/Pools/LaserBeamObstaclePool 6.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index 5810b2a..0000000 --- a/Assets/Prefabs/Pools/LaserBeamObstaclePool 7.prefab +++ /dev/null @@ -1,48 +0,0 @@ -%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 deleted file mode 100644 index f526279..0000000 --- a/Assets/Prefabs/Pools/LaserBeamObstaclePool 7.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 87eb04d9e4423d64b983d41b8015f4fc -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scenes/GameScene.unity b/Assets/Scenes/GameScene.unity index 4af9784..1bd4a40 100644 --- a/Assets/Scenes/GameScene.unity +++ b/Assets/Scenes/GameScene.unity @@ -1010,37 +1010,6 @@ 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 @@ -1093,37 +1062,6 @@ 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 @@ -1280,37 +1218,6 @@ 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 @@ -1446,37 +1353,6 @@ 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 @@ -1703,37 +1579,6 @@ 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 @@ -2356,37 +2201,6 @@ 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 @@ -2422,37 +2236,6 @@ 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 @@ -3172,37 +2955,6 @@ 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 @@ -3476,37 +3228,6 @@ 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 @@ -4314,6 +4035,7 @@ MonoBehaviour: m_EditorClassIdentifier: capacity: 10 prefab: {fileID: 7423857566743054097, guid: 9b90fe6584244f945a5cf4bfffd577c7, type: 3} + spawner: {fileID: 0} --- !u!1001 &6634832997626976595 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/Editor/PoolCreatorInspector.cs b/Assets/Scripts/Editor/PoolCreatorInspector.cs index 5134537..1d843e2 100644 --- a/Assets/Scripts/Editor/PoolCreatorInspector.cs +++ b/Assets/Scripts/Editor/PoolCreatorInspector.cs @@ -6,6 +6,7 @@ using System; using System.IO; using static UnityEditor.EditorGUI; using System.Linq; +using System.Collections.Generic; [CustomEditor(typeof(PoolingObject<>),true)] public class PoolCreatorInspector : Editor @@ -23,6 +24,11 @@ public class PoolCreatorInspector : Editor private string generatedClassTypeString; private Type generatedClassType; PoolCodeGenerator generator; + private Dictionary nameTypeLookup = new Dictionary(); + private void Awake() + { + + } private void OnEnable() { AssemblyReloadEvents.afterAssemblyReload += GeneratePoolPrefab; @@ -110,16 +116,28 @@ public class PoolCreatorInspector : Editor pendingToGeneration = false; targetClassName = generatedClassTypeString; GameObject poolingObject = new GameObject(targetClassName); - Type poolingObjectType = target.GetType().BaseType;//generatedClassType;// - Assembly assem = poolingObjectType.Assembly; + Type poolingObjectType = null;//target.GetType().BaseType;//generatedClassType;// + // Assembly assem = poolingObjectType.Assembly; - targetClassName = poolingObjectType.ToString(); - string poolName = $"{targetClassName}Pool"; - - Type poolType = assem.GetType($"{poolNamespaceName}.{poolName}"); + + //poolingObjectType = AppDomain.CurrentDomain + //.GetAssemblies() + //.SelectMany(x => x.GetTypes()) + //.FirstOrDefault(t => t.Name == targetClassName).GetType(); + Type targetType = target.GetType(); + nameTypeLookup = targetType.Assembly + .DefinedTypes.Where(t => t.DeclaringType == null) + .ToDictionary(k => k.Name, v => v); + poolingObjectType = nameTypeLookup[targetClassName]; + Assembly assem = poolingObjectType.Assembly; + string poolName = $"{targetClassName}Pool"; + //string poolName = $"{target.name}Pool"; + Type poolType = assem.GetType($"{poolNamespaceName}.{poolName}"); + //string poolObjectName = target.GetType().Name; + // targetClassName = poolObjectName + "Pool"; poolingObject.AddComponent(poolType); - poolingObject.name = poolName; + poolingObject.name = $"{target.name}Pool"; ; Type typeOfField = poolType; @@ -145,6 +163,7 @@ public class PoolCreatorInspector : Editor { prefabPath = defaultPrefabPath; } + if (!Directory.Exists(prefabPath)) Directory.CreateDirectory(prefabPath);