Esempio n. 1
0
    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);
        }
    }
Esempio n. 2
0
    private void AddNewNonPlayerCharacter(LocalCharacterDetails details)
    {
        GameObject createdObject = LocalCharacterCreator.CreateLocalCharacter(this, new StandardLocalCharacterBuilder(details, _gameStateDetails, _mainCamera));

        _localCharacterObjectList.Add(createdObject);
    }