Exemple #1
0
    public IEnumerator Start()
    {
        yield return(new WaitUntil(() => GameManager.Instance != null));

        yield return(new WaitUntil(GameManager.Instance.GetAllPlayersReady));

        if (NetworkServer.connections.Count == 1 && m_playerNumber == PlayerEntity.Player.Player2)
        {
            yield return(new WaitWhile(() => null == FindObjectOfType <AIControl>()));

            m_playerNumber = PlayerEntity.Player.Bot;
            m_player       = FindObjectOfType <AIControl>();
            yield return(new WaitUntil(() =>
                                       NetworkServer.SpawnWithClientAuthority(m_player.gameObject, GameManager.Instance.GetPlayer(PlayerEntity.Player.Player1).GetComponent <NetworkIdentity>().connectionToClient)));
        }
        else
        {
            m_player = NetworkServer.connections[(int)m_playerNumber].playerControllers[0].gameObject.GetComponent <PlayerEntity>();
        }

        m_player.TakeControl(GetComponent <NetworkIdentity>());

        foreach (GameObject item in m_objectToControl)
        {
            m_player.TakeControl(item.GetComponent <NetworkIdentity>());
            if (item.GetComponent <SpawnUnits>())
            {
                SpawnUnits spawnUnits = item.GetComponent <SpawnUnits>();
                spawnUnits.RpcInitPlayerNumber(m_playerNumber);
                spawnUnits.SetTarget(GetNearestNexus().gameObject);
            }
        }
    }
Exemple #2
0
    public override void SetPlayerOwner(PlayerEntity.Player player)
    {
        base.SetPlayerOwner(player);
        SpawnUnits spawnUnitsComponent = GetComponent <SpawnUnits>();

        spawnUnitsComponent.SetPlayerNumber(m_playerOwner);
        spawnUnitsComponent.SetTarget(GetNearestEnemyNexus().gameObject);
        spawnUnitsComponent.GetUISelectSpawnUnit().SetIcons();
    }