コード例 #1
0
    private void RemoveForcePlayerItem(int playerID)
    {
        ForcePlayerItem_N forcePlayerItem_N = null;

        if (this.m_CurForcePlayerItems != null)
        {
            forcePlayerItem_N = this.m_CurForcePlayerItems.FirstOrDefault(a => a.GetPlayerID() == playerID);
        }
        if (forcePlayerItem_N != null)
        {
            if (forcePlayerItem_N.GetRoleID() == -1)
            {
                forcePlayerItem_N.ResetAll();
                forcePlayerItem_N.gameObject.SetActive(false);
                this.m_CurForcePlayerItems.Remove(forcePlayerItem_N);
                this.m_ForcePlayerItemPool.Enqueue(forcePlayerItem_N);
            }
            else
            {
                forcePlayerItem_N.ResetPlayer();
            }
            this.RenameAllItem();
            ForcePlayerItem_N nullItem = this.GetNullJoinableItem();
            if (null == nullItem)
            {
                TryAddNullItem();
            }
            else
            {
                nullItem.UpdateCanJoinCount(this.GetCurJoinableCount(), this.m_ForceDesc.JoinablePlayerCount);
            }
            this.UpdateForcePlayerCount();
            this.RepostionForce();
        }
    }
コード例 #2
0
    public void ChangePlayerState(int playerID, int state)
    {
        ForcePlayerItem_N forcePlayerItem = this.GetForcePlayerItemByPlayerID(playerID);

        if (forcePlayerItem != null)
        {
            forcePlayerItem.SetState(state);
        }
    }
コード例 #3
0
    public void ChangePlayerDelay(int playerID, int delay)
    {
        ForcePlayerItem_N forcePlayerItem = this.GetForcePlayerItemByPlayerID(playerID);

        if (forcePlayerItem != null)
        {
            forcePlayerItem.SetDelay(delay);
        }
    }
コード例 #4
0
 private void TryAddNullItem()
 {
     if (null == this.GetNullJoinableItem() && this.GetCurJoinableCount() < this.m_ForceDesc.JoinablePlayerCount)
     {
         ForcePlayerItem_N forcePlayerItem_N_null = this.GetNewForcePlayerItem();
         forcePlayerItem_N_null.SetFixRole(null);
         forcePlayerItem_N_null.UpdateCanJoinCount(this.GetCurJoinableCount(), this.m_ForceDesc.JoinablePlayerCount);
     }
 }
コード例 #5
0
 private void InitRoleInfo(List <PlayerDesc> roleInfos)
 {
     if (roleInfos != null && roleInfos.Count > 0)
     {
         this.m_FixRoleCount = roleInfos.Count;
         for (int i = 0; i < roleInfos.Count; i++)
         {
             ForcePlayerItem_N forcePlayerItem_N = this.GetNewForcePlayerItem();
             forcePlayerItem_N.SetFixRole(roleInfos[i]);
         }
     }
     this.TryAddNullItem();
     this.RepostionForce();
 }
コード例 #6
0
    private void AddForcePlayerItem(RoomPlayerInfo playerInfo)
    {
        ForcePlayerItem_N forcePlayerItem_N = null;

        if (this.m_CurForcePlayerItems != null)
        {
            forcePlayerItem_N = this.m_CurForcePlayerItems.FirstOrDefault(a => a.GetRoleID() == playerInfo.mRoleID && a.GetPlayerID() == -1);
        }
        if (null == forcePlayerItem_N)
        {
            forcePlayerItem_N = this.GetNewForcePlayerItem();
        }
        forcePlayerItem_N.SetPlayer(playerInfo, this.m_IsRoomMaster);
        this.TryAddNullItem();
        this.UpdateForcePlayerCount();
        this.RepostionForce();
    }
コード例 #7
0
    private ForcePlayerItem_N GetNewForcePlayerItem()
    {
        ForcePlayerItem_N forcePlayerItem_N = null;

        if (this.m_ForcePlayerItemPool.Count() > 0)
        {
            forcePlayerItem_N = this.m_ForcePlayerItemPool.Dequeue();
            forcePlayerItem_N.gameObject.SetActive(true);
        }
        else
        {
            GameObject forcePlayerItem = GameObject.Instantiate(this.ForcePlayerItemPrefab);
            forcePlayerItem.transform.parent        = this.ForceGrid.transform;
            forcePlayerItem.transform.localPosition = Vector3.zero;
            forcePlayerItem.transform.localScale    = Vector3.one;
            forcePlayerItem_N = forcePlayerItem.GetComponent <ForcePlayerItem_N>();
        }
        forcePlayerItem_N.gameObject.name        = this.GetNewItemName();
        forcePlayerItem_N.KickPlayerEvent        = this.KickPlayerToNet;
        forcePlayerItem_N.ChangePlayerForceEvent = this.ChangeForceToNet;
        this.m_CurForcePlayerItems.Add(forcePlayerItem_N);
        return(forcePlayerItem_N);
    }