@@ -8,7 +8,7 @@ namespace Elympics
88{
99 internal class ElympicsFactoryPart
1010 {
11- private readonly Func < ElympicsPlayer , GameObject , GameObject > _instantiate ;
11+ private readonly Func < ElympicsPlayer , GameObject , InstantiatedTransformConfig ? , GameObject > _instantiate ;
1212 private readonly Action < ElympicsPlayer , GameObject > _destroy ;
1313 private readonly Action < ElympicsBehaviour > _addBehaviour ;
1414 private readonly Action < int > _removeBehaviour ;
@@ -21,7 +21,7 @@ internal class ElympicsFactoryPart
2121 private readonly Dictionary < int , CreatedInstanceWrapper > _createdInstanceWrappersCache ;
2222 private readonly Dictionary < GameObject , int > _createdGameObjectsIds ;
2323
24- internal ElympicsFactoryPart ( ElympicsPlayer player , Func < ElympicsPlayer , GameObject , GameObject > instantiate , Action < ElympicsPlayer , GameObject > destroy , Action < ElympicsBehaviour > addBehaviour , Action < int > removeBehaviour )
24+ internal ElympicsFactoryPart ( ElympicsPlayer player , Func < ElympicsPlayer , GameObject , InstantiatedTransformConfig ? , GameObject > instantiate , Action < ElympicsPlayer , GameObject > destroy , Action < ElympicsBehaviour > addBehaviour , Action < int > removeBehaviour )
2525 {
2626 _player = player ;
2727
@@ -70,7 +70,7 @@ private void OnPostDataDeserialize()
7070 foreach ( var instanceData in instancesToAdd )
7171 {
7272 _currentNetworkId . MoveTo ( instanceData . PrecedingNetworkIdEnumeratorValue ) ;
73- _ = CreateInstanceInternal ( instanceData . ID , instanceData . InstanceType ) ;
73+ _ = CreateInstanceInternal ( instanceData . ID , instanceData . InstanceType , null ) ;
7474 }
7575
7676 _instancesData . ApplyIncomingInstances ( ) ;
@@ -79,18 +79,18 @@ private void OnPostDataDeserialize()
7979 _currentNetworkId . MoveTo ( cachedNetworkIdEnumerator ) ;
8080 }
8181
82- internal GameObject CreateInstance ( string pathInResources )
82+ internal GameObject CreateInstance ( string pathInResources , InstantiatedTransformConfig ? transformConfig )
8383 {
8484 var instanceId = _instancesData . Add ( _currentNetworkId . GetCurrent ( ) , pathInResources ) ;
85- var instanceWrapper = CreateInstanceInternal ( instanceId , pathInResources ) ;
85+ var instanceWrapper = CreateInstanceInternal ( instanceId , pathInResources , transformConfig ) ;
8686 return instanceWrapper . GameObject ;
8787 }
8888
89- private CreatedInstanceWrapper CreateInstanceInternal ( int instanceId , string pathInResources )
89+ private CreatedInstanceWrapper CreateInstanceInternal ( int instanceId , string pathInResources , InstantiatedTransformConfig ? transformConfig )
9090 {
9191 var createdPrefab = Resources . Load < GameObject > ( pathInResources )
9292 ?? throw new ArgumentException ( $ "Prefab you want to instantiate ({ pathInResources } ) does not exist") ;
93- var createdGameObject = _instantiate ( _player , createdPrefab ) ;
93+ var createdGameObject = _instantiate ( _player , createdPrefab , transformConfig ) ;
9494 var elympicsBehaviours = createdGameObject . GetComponentsInChildren < ElympicsBehaviour > ( true ) ;
9595 foreach ( var behaviour in elympicsBehaviours )
9696 {
0 commit comments