public PlayerInitialization(IPlayerFactory playerFactory, GamePoolContext gamePoolContext) { _playerFactory = playerFactory; _player = _playerFactory.CreatePlayer(); var _playerStruct = _playerFactory.GivePlayerData().PlayerStruct; _player.transform.position = _playerStruct.StartPosition; _playerStruct.Player = _player; var _playerComponents = _playerFactory.GivePlayerData().PlayerComponents; _playerComponents.Rigitbody = _playerStruct.Player.GetComponent <Rigidbody>(); var playerModel = new PlayerModel(_playerStruct, _playerComponents); gamePoolContext.AddPlayerModel(playerModel); }