Beispiel #1
0
    private void PlayerDisplayAll()
    {
        int _playerNums = PhotonNetwork.PlayerList.Length;

        // 모든 플레이어에 대해 설정 시작
        for (int i = 0; i < PlayerNumbers; i++)
        {
            // 존재하는 플레이어의 모델을 초기화
            GameObject _player = OManager.GetPlayerModels(i);
            _player.GetComponent <PhotonView>().TransferOwnership(PhotonNetwork.PlayerList[i]);
            _player.GetComponent <PlayerAttribute>().PlayerName =
                PhotonNetwork.PlayerList[i].NickName.Split('_')[0];
            PlayerAttribute _pa = _player.GetComponent <PlayerAttribute>();
            _pa.PlayerHealthMax = 100;
            _pa.PlayerHealth    = 0;
            _pa.PlayerNumber    = i;

            // 마스터 플레이어가 사용할 공 오브젝트 및 효과 오브젝트 생성
            OManager.GenAttackSnowBall(i);
            OManager.GenAttackEffect(i);
            // 마스터 플레이어의 캐릭터 스크립트 활성화
            _player.GetComponent <PlayerController>().enabled = true;
            _player.GetComponent <AttackController>().enabled = true;
            _player.GetComponent <PlayerAttribute>().enabled  = true;
            _player.GetComponent <UIController>().enabled     = true;
        }
    }
    private void SendPlayerAttacked(int _player, int _attackPlayer)
    {
        // 각 플레이어 모델에 피해 적용
        GameObject AttackedPlayer = OManager.GetPlayerModels(_player);

        AttackedPlayer.GetComponent <PlayerAttribute>().PlayerHealth =
            PManager.GetPlayerDamage(_attackPlayer);
        AttackedPlayer.GetComponent <UIController>().SetPlayerHealthBar();

        if (_player != StaticObjects.MasterPlayerNum)
        {
            AttackedPlayer.GetComponent <UIController>().VisibleHealthBar();
        }

        // 공격 당한 플레이어의 체력이 0보다 작을 경우, 해당 플레이어 사망
        if (AttackedPlayer.GetComponent <PlayerAttribute>().PlayerHealth <= 0)
        {
            PManager.PlayerDead(_player, _attackPlayer);
        }
    }