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(); } }
public void ChangePlayerState(int playerID, int state) { ForcePlayerItem_N forcePlayerItem = this.GetForcePlayerItemByPlayerID(playerID); if (forcePlayerItem != null) { forcePlayerItem.SetState(state); } }
public void ChangePlayerDelay(int playerID, int delay) { ForcePlayerItem_N forcePlayerItem = this.GetForcePlayerItemByPlayerID(playerID); if (forcePlayerItem != null) { forcePlayerItem.SetDelay(delay); } }
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); } }
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(); }
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(); }
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); }