@@ -11,23 +11,20 @@ public class ObjectPoolingManager : MonoBehaviour
1111 #region Fields
1212
1313 private readonly Dictionary < int , object > _recycledObjects = new Dictionary < int , object > ( ) ;
14- private readonly ServerObjectManager _serverObjectManager ;
15- internal readonly GameObject Parent ;
16- internal readonly Dictionary < Guid , NetworkIdentity > _objectsAssetIds = new Dictionary < Guid , NetworkIdentity > ( ) ;
14+ private ServerObjectManager _serverObjectManager ;
15+ private GameObject _parent ;
16+ private readonly Dictionary < Guid , NetworkIdentity > _objectsAssetIds = new Dictionary < Guid , NetworkIdentity > ( ) ;
1717
1818
1919 #endregion
2020
21- public ObjectPoolingManager ( ServerObjectManager serverObjectManager )
22- {
23- _serverObjectManager = serverObjectManager ;
24- Parent = new GameObject { name = nameof ( ObjectPoolingManager ) } ;
25- }
26-
2721 #region Unity Methods
2822
2923 private void Start ( )
3024 {
25+ _parent = new GameObject { name = nameof ( ObjectPoolingManager ) } ;
26+ _serverObjectManager = FindObjectOfType < ServerObjectManager > ( ) ;
27+
3128 ClientObjectManager clientObject = FindObjectOfType < ClientObjectManager > ( ) ;
3229
3330 if ( clientObject == null ) return ;
@@ -122,7 +119,7 @@ public NetworkIdentity NetworkSpawnPool(Vector3 position, Quaternion rotation, G
122119 ? ( ObjectPooling < NetworkIdentity > ) _recycledObjects [ prefabId ]
123120 : default ) . NetworkSpawn ( position , rotation ) ;
124121
125- var createParent = new GameObject ( _objectsAssetIds [ AssetId ] . name ) { transform = { parent = Parent . transform } } ;
122+ var createParent = new GameObject ( _objectsAssetIds [ AssetId ] . name ) { transform = { parent = _parent . transform } } ;
126123
127124 _recycledObjects [ prefabId ] = new ObjectPooling < NetworkIdentity > ( _objectsAssetIds [ AssetId ] , quantity , createParent ) ;
128125
@@ -173,7 +170,7 @@ public T LocalSpawnPool<T>(T gObject, Vector3 position, Quaternion rotation, boo
173170 ? ( ObjectPooling < T > ) _recycledObjects [ prefabId ]
174171 : default ) . Spawn ( position , rotation ) ;
175172
176- var createParent = new GameObject ( gObject . name ) { transform = { parent = Parent . transform } } ;
173+ var createParent = new GameObject ( gObject . name ) { transform = { parent = _parent . transform } } ;
177174
178175 _recycledObjects [ prefabId ] = new ObjectPooling < T > ( gObject , quantity , createParent ) ;
179176
@@ -200,7 +197,7 @@ internal T LocalSpawnPool<T>(T gObject, Transform parentTransform, bool worldSta
200197 ? ( ObjectPooling < T > ) _recycledObjects [ prefabId ]
201198 : default ) . Spawn ( parentTransform , worldStayPosition ) ;
202199
203- var createParent = new GameObject ( gObject . name ) { transform = { parent = Parent . transform } } ;
200+ var createParent = new GameObject ( gObject . name ) { transform = { parent = _parent . transform } } ;
204201
205202 _recycledObjects [ prefabId ] = new ObjectPooling < T > ( gObject , quantity , createParent ) ;
206203
0 commit comments