예제 #1
0
    void Awake()
    {
        instance = this;
        PV       = GetComponent <PhotonView>();

        loadFieldData = GameData.data.loadFieldData;
        playersReadyToChangingCells = 0;

        if (loadFieldData)
        {
            PV.RPC("RPC_LoadFieldData", RpcTarget.All);
            GenerateGameField(fieldGridSize);

            //Найти своего локального игрока
            foreach (var player in playersQueue)
            {
                if (player.IsLocal)
                {
                    myPlayer = player;
                    Debug.Log("MyPlayer: " + myPlayer.NickName);
                }
            }

            if (PhotonNetwork.IsMasterClient)
            {
                for (int i = 0; i < PhotonRoom.room.playersInRoom; i++)
                {
                    PV.RPC("RPC_ListPlayersToQueue", RpcTarget.All, i, playersQueue[i].NickName);
                }
                canCount = true;
                PV.RPC("RPC_ChangeColor", RpcTarget.All, playersQueue.IndexOf(currentPlayerTurn));
            }
        }
    }
예제 #2
0
        public void Start()
        {
            foreach (var model in waveModels)
            {
                waveList.Add(model.Clone());
            }

            uiManager      = GameObject.Find("GameScreenUI").GetComponent <UIManager>();
            powerupManager = GameObject.Find(transform.parent.name + "/FieldManager").GetComponent <FieldGameManager>();
        }
예제 #3
0
 private void Awake()
 {
     if (instance == null)
     {
         instance = gameObject.GetComponent <FieldGameManager>();
     }
     else
     {
         Destroy(gameObject);
     }
 }
예제 #4
0
    void Die()
    {
        if (type == VType.Hostile)
        {
            Squad.GetInstance().tires += (int)((startHealth / 3) + Random.Range(0, 5) * 10);
            FieldGameManager.GetInstance().enemyCount--;
        }

        if (GetComponent <MotherMovement>() != null)
        {
            FieldGameManager.GetInstance().GameOver();
        }
        Destroy(gameObject);
    }