private void ReloadCharacters() { TppCameraManagerHandler cameraHandler = _tppCameraManager.GetComponent <TppCameraManagerHandler>(); PlayerPositionMarkHandler positionMarkHandler = _playerPositionMark.GetComponent <PlayerPositionMarkHandler>(); cameraHandler.SetAnchor(null); positionMarkHandler.SetPlayerCharacter(null); _playerCharacter = null; for (int i = _localCharacterObjectList.Count - 1; i >= 0; i--) { Destroy(_localCharacterObjectList[i]); _localCharacterObjectList.RemoveAt(i); } List <LocalCharacterDetails> detailsList = _gameStateDetails.GetLocalCharacterDetails(); LocalCharacterHandler characterHandler; foreach (LocalCharacterDetails details in detailsList) { GameObject createdObject = LocalCharacterCreator.CreateLocalCharacter(this, new StandardLocalCharacterBuilder(details, _gameStateDetails, _mainCamera)); characterHandler = createdObject.GetComponent <LocalCharacterHandler>(); if (characterHandler.IsPlayerMainCharacter) { cameraHandler.SetAnchor(createdObject.transform); _playerCharacter = createdObject; _playerPositionMark.transform.position = _playerCharacter.transform.position; positionMarkHandler.SetPlayerCharacter(createdObject); } _localCharacterObjectList.Add(createdObject); } }
private void AddNewNonPlayerCharacter(LocalCharacterDetails details) { GameObject createdObject = LocalCharacterCreator.CreateLocalCharacter(this, new StandardLocalCharacterBuilder(details, _gameStateDetails, _mainCamera)); _localCharacterObjectList.Add(createdObject); }