public static PlayerWaitingInManager Create(EPlayerController player, UIGrid parent, EGPViewManager grandParent)
    {
        GameObject gobj = (GameObject)GameObject.Instantiate(Resources.Load("Prefabs/Gameplay/PlayerWaiting/PlayerWaitingInManager"));

        gobj.transform.parent        = parent.transform;
        gobj.transform.localPosition = Vector3.zero;
        gobj.transform.localScale    = Vector3.one;
        PlayerWaitingInManager item = gobj.GetComponent <PlayerWaitingInManager>();

        item.grandParent = grandParent;
        item.SetData(player);
        return(item);
    }
Beispiel #2
0
    public override void OnPlayerListChanged(EPlayerController p, bool isRemove)
    {
        if (isRemove)
        {
            if (p.mSide == ESide.None)
            {
                PlayerWaitingInManager playerView = waitingPlayers.Find(plc => plc.player.username == p.username);
                if (playerView != null)
                {
                    GameObject.Destroy(playerView.gameObject);
                    waitingPlayers.Remove(playerView);
                }
                GameManager.Instance.FunctionDelay(delegate() { gridWaitingPlayer.Reposition(); }, 0.01f);
            }
            else
            {
                if (GameModelChan.CurrentState == GameModelChan.EGameState.waitingForPlayer || GameModelChan.CurrentState == GameModelChan.EGameState.waitingForReady)
                {
                    int i = ((int)p.mSide - 1);
                    kickAvatar[i].mainTexture = swappedAvatar[i].mainTexture = null;
                    kickAvatar[i].color       = swappedAvatar[i].color = Color.black;
                    kickUsername[i].text      = swappedUsername[i].text = "";
                    kickButton[i].gameObject.SetActive(false);
                }
            }
        }
        else
        {
            if (p.mSide == ESide.None)
            {
                waitingPlayers.Add(PlayerWaitingInManager.Create(p, gridWaitingPlayer, this));
                gridWaitingPlayer.Reposition();
            }
            else
            {
                int i = 0;
                if (p.mSide != ESide.Slot_0)
                {
                    i = ((int)p.mSide - 1);
                }

                SetDataPlayer(p, i);
            }
        }
    }
Beispiel #3
0
    IEnumerator _DrawListWaitingPlayer()
    {
        while (waitingPlayers.Count > 0)
        {
            GameObject.Destroy(waitingPlayers[0].gameObject);
            waitingPlayers.RemoveAt(0);
        }
        yield return(new WaitForEndOfFrame());

        int i = 0;

        foreach (PlayerControllerChan player in GameModelChan.ListWaitingPlayer)
        {
            PlayerWaitingInManager playerWaiting = PlayerWaitingInManager.Create(player, gridWaitingPlayer, this);
            playerWaiting.gameObject.name = i + " " + player.username;
            waitingPlayers.Add(playerWaiting);
            i++;
        }
        gridWaitingPlayer.Reposition();
    }