void onCreateTeam(GameEvent e) { Variant data = e.data; uint teamId = data["teamid"]; if (!itemTeamInfoPrefabDic.ContainsKey(teamId)) { ItemTeamData itd = new ItemTeamData(); itd.name = PlayerModel.getInstance().name; itd.lvl = PlayerModel.getInstance().lvl; itd.knightage = PlayerModel.getInstance().clanid.ToString(); itd.mapId = PlayerModel.getInstance().mapid; itd.MembCount = 1; itd.cid = PlayerModel.getInstance().cid; itd.zhuan = PlayerModel.getInstance().up_lvl; itd.combpt = PlayerModel.getInstance().combpt; itd.teamId = teamId; itd.isCaptain = true; itemTeamInfoPrefab itip = new itemTeamInfoPrefab(transform); itip.Set(itd); itemTeamInfoPrefabDic[teamId] = itip; this.gameObject.SetActive(false); } }
void onGetTeamListInfo(GameEvent e) { ItemTeamMemberData itm = TeamProxy.getInstance().mapItemTeamData; List <uint> newTeams = new List <uint>(); newTeams.Clear(); for (int i = 0; i < itm.itemTeamDataList.Count; i++) { newTeams.Add(itm.itemTeamDataList[i].teamId); } Dictionary <uint, itemTeamInfoPrefab> needRemoveDic = new Dictionary <uint, itemTeamInfoPrefab>(); needRemoveDic.Clear(); foreach (KeyValuePair <uint, itemTeamInfoPrefab> itip in itemTeamInfoPrefabDic) { if (!newTeams.Contains(itip.Key)) { needRemoveDic[itip.Key] = itip.Value; } } foreach (KeyValuePair <uint, itemTeamInfoPrefab> itip in needRemoveDic) { if (itemTeamInfoPrefabDic[itip.Key].root != null) { GameObject.Destroy(itemTeamInfoPrefabDic[itip.Key].root.gameObject); } itemTeamInfoPrefabDic.Remove(itip.Key); } uint totalCount = itm.totalCount; uint indexBegin = itm.idxBegin; foreach (ItemTeamData tlid in itm.itemTeamDataList) { if (itemTeamInfoPrefabDic.ContainsKey(tlid.teamId)) { itemTeamInfoPrefabDic[tlid.teamId].Set(tlid); } else { itemTeamInfoPrefab itip = new itemTeamInfoPrefab(transform); itip.Set(tlid); itemTeamInfoPrefabDic[tlid.teamId] = itip; } } }