예제 #1
0
 // Update is called once per frame
 void Update()
 {
     try
     {
         if (player == null)
         {
             player = NetworkClient.connection.identity.GetComponent <OnlinePlayer>();
             staticPlayerReference = player;
             Debug.Log("Started as " + player.name);
         }
         if (manager.CheckNumberOfPlayers() && player.name.Equals("Under attack") && isWaiting)
         {
             Debug.Log("Second Player Joined");
             PlayerTeamController team = GameObject.Find("Player").GetComponent <PlayerTeamController>();
             try
             {
                 SerializableEncounter enc = new SerializableEncounter(team.GetMyTeamAsAnEncounter());
                 player.SendEncounterData(new SerializableEncounter(enemyEncounter), enc);
                 isWaiting = false;
             }
             catch
             { }
         }
     }
     catch { }
 }
예제 #2
0
    public void SelectTeamPlayerT(NetworkIdentity client)
    {
        if (teamT.Count == maxPlayerInTeam)
        {
            RpcMessageError(client);
            return;
        }

        PlayerTeamController player = client.GetComponent <PlayerTeamController>();

        if (player.team == PlayerTeamController.TypeTeam.T)
        {
            return;
        }
        else if (player.team == PlayerTeamController.TypeTeam.None)
        {
            player.team = PlayerTeamController.TypeTeam.T;
            teamT.Add(client);
        }
        else
        {
            teamCT.Remove(client);
            player.team = PlayerTeamController.TypeTeam.T;
        }

        //ВЫБОР СКИНА ДЛЯ ИГРОКА
        //int n = Random.Range(0, dataPlayerCombatT.Count);
        //client.GetComponent<PlayerCombatController>().SetDataPlayerCombat = dataPlayerCombatT[n];2;
        SelectDataPlayerCombat(client, 1);
        //КОНЕЦ ВЫБОРА СКИНА ДЛЯ ИГРОКА

        player.StatusSelectTeam(client.connectionToClient, true);
        player.transform.position = spawnPositionT[0].position; //Спавн игрока
        RpcNewPositionPlayer(client, spawnPositionT[0].position);
    }
예제 #3
0
    // Start is called before the first frame update
    void Awake()
    {
        manager         = GameObject.Find("NetworkManager").GetComponent <OnlineManager>();
        fightController = GameObject.Find("FightContainer(Clone)").GetComponent <FightController>();
        uIController    = GameObject.Find("PlayerUI").GetComponent <PlayerUIController>();
        team            = GetComponent <PlayerTeamController>();

        uIController.SubscribeFightController(fightController);

        fightController.FightFinished += OnFightEnd;
        enemyEncounter = FightController.Enemy;


        if (isHost)
        {
            manager.StartServer();
            OnlinePlayer.ReceivedAck += OnHostReceivedAck;
        }
        else
        {
            manager.JoinServer();
            OnlinePlayer.ReceivedEncounter += OnClientReceivedEncounter;
        }
        OnlinePlayer.CastedSkill += OnCastedSkill;


        //player = NetworkClient.connection.identity.GetComponent<OnlinePlayer>();
        //Debug.Log("Started as " + player.name);
    }
예제 #4
0
    public void RpcNewPositionPlayer(NetworkIdentity client, Vector3 newPos)
    {
        PlayerTeamController player = client.GetComponent <PlayerTeamController>();

        player.transform.position = newPos; //Спавн игрока
        player.GetComponent <PlayerCombatController>().OnDead(false);
    }
예제 #5
0
    public void SelectTeamPlayerCT(NetworkIdentity client)
    {
        if (teamCT.Count == maxPlayerInTeam)
        {
            RpcMessageError(client);
            return;
        }

        PlayerTeamController player = client.GetComponent <PlayerTeamController>();

        if (player.team == PlayerTeamController.TypeTeam.CT)
        {
            return;
        }
        else if (player.team == PlayerTeamController.TypeTeam.None)
        {
            player.team = PlayerTeamController.TypeTeam.CT;
            teamCT.Add(client);
        }
        else
        {
            teamT.Remove(client);
            player.team = PlayerTeamController.TypeTeam.CT;
        }

        SelectDataPlayerCombat(client, 0);

        client.GetComponent <PlayerCombatController>().idSkinNow = 0;
        client.GetComponent <PlayerCombatController>().idSkin    = 0;

        player.StatusSelectTeam(client.connectionToClient, true);
        player.transform.position = spawnPositionCT[0].position; //Спавн игрока
        RpcNewPositionPlayer(client, spawnPositionCT[0].position);
    }
예제 #6
0
 void Update()
 {
     if (Input.GetMouseButtonDown(1))
     {
         Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
         RaycastHit hit;
         if (Physics.Raycast(ray, out hit))
         {
             //Destroy(hit.transform.gameObject);
             PlayerTeamController Player     = GameObject.FindWithTag("PlayerManager").GetComponent <PlayerTeamController>();
             NodeController       targetNode = hit.transform.gameObject.GetComponent <NodeTrigger>().mainNode;
             PLT.playerCast(targetNode.x, targetNode.y);
         }
     }
 }
예제 #7
0
    public void RpcMessageError(NetworkIdentity client)
    {
        PlayerTeamController player = client.GetComponent <PlayerTeamController>();

        player.StatusSelectTeam(client.connectionToClient, false);
    }
예제 #8
0
 void Start()
 {
     Player = GameObject.FindWithTag("PlayerManager").GetComponent <PlayerTeamController>();
 }
예제 #9
0
 public void SetController(PlayerTeamController controller)
 {
     this.controller = controller;
 }
예제 #10
0
 void Start()
 {
     PlayerFloorController = GetComponent <PlayerFloorController>();
     PlayerTeamController  = GetComponent <PlayerTeamController>();
     PlayerCamera          = GetComponentInChildren <Camera>();
 }