/// <summary> /// 成员退出 /// </summary> protected void S2C_TeammateOut(Pt _info) { pt_team_member_leave_d029 msg = _info as pt_team_member_leave_d029; if (msg != null) { int _teammateId = (int)msg.leave_uid; if (teammatesDic.ContainsKey(_teammateId)) { string[] str = new string[1]; TeamMenberInfo info = teammatesDic[_teammateId] as TeamMenberInfo; str[0] = info.baseInfo.name; GameCenter.messageMng.AddClientMsg(96, str); teammatesDic.Remove(_teammateId); //移除多人准备数据 //GameCenter.endLessTrialsMng.TeammateOut(_teammateId); GameCenter.duplicateMng.TeammateOut(_teammateId); } if (onTeammateUpdateEvent != null) { onTeammateUpdateEvent(); } UpdateTeammateColor(_teammateId, false);//修改颜色 } }
/// <summary> /// 获取队伍成员 /// </summary> protected void S2C_TeamMemberResult(Pt _info) { //Debug.Log("S2C_TeamMemberResult"); pt_team_info_d022 msg = _info as pt_team_info_d022; if (msg != null) { if (!isInTeam && OpenTeamWndEvent != null) { OpenTeamWndEvent();//不在队伍中,获得队伍信息 则为新建了队伍 } TeamId = (int)msg.team_id; LeaderId = (int)msg.leader_id; TeamTargetID = (int)msg.target; for (int i = 0; i < msg.team_member_list.Count; i++) { TeamMenberInfo info = new TeamMenberInfo(msg.team_member_list[i]); // if((int)info.baseInfo.uid == GameCenter.mainPlayerMng.MainPlayerInfo.ServerInstanceID) // continue;//排除自己 teammatesDic[(int)info.baseInfo.uid] = info; UpdateTeammateColor((int)info.baseInfo.uid, true);//修改颜色 } if (onTeammateUpdateEvent != null) { onTeammateUpdateEvent(); } } }
/// <summary> /// 队伍成员信息改变 /// </summary> protected void S2C_TeamMemberUpdate(Pt _info) { //Debug.Log("S2C_TeamMemberUpdate"); pt_team_member_chg_d023 msg = _info as pt_team_member_chg_d023; if (msg != null) { for (int i = 0; i < msg.team_member_list.Count; i++) { int id = (int)msg.team_member_list[i].uid; if (teammatesDic.ContainsKey(id)) { TeamMenberInfo info = teammatesDic[id] as TeamMenberInfo; if (info != null) { info.SetBaseInfo(msg.team_member_list[i]); } } else { TeamMenberInfo info = new TeamMenberInfo(msg.team_member_list[i]); // if((int)info.baseInfo.uid == GameCenter.mainPlayerMng.MainPlayerInfo.ServerInstanceID) // continue;//排除自己 teammatesDic[(int)info.baseInfo.uid] = info; UpdateTeammateColor((int)info.baseInfo.uid, true);//修改颜色 if (onTeammateUpdateEvent != null) { onTeammateUpdateEvent(); } } } } }
protected void OnClickTeamMemBtn(GameObject _obj) { if (teamBtnParent != null) { teamBtnParent.SetActive(true); } CurTeamMenberInfo = UIEventListener.Get(_obj).parameter as TeamMenberInfo; }
public void TeamData(CopySceneTeamPlayerInfo player, CopyInItemDataInfo _data) //int _copyGroupID) { data = _data; if (player == null) { teamData = null; if (isAvatar != null) { isAvatar.SetActive(false); } } else { OtherPlayerInfo info = GameCenter.duplicateMng.GetInvitationPlayerData(player.pId); if (info != null) { st.net.NetBase.team_member_list baseInfo = new st.net.NetBase.team_member_list(); baseInfo.uid = (uint)info.ServerInstanceID; baseInfo.name = info.Name; baseInfo.prof = (uint)info.Prof; baseInfo.fighting = (uint)info.FightValue; baseInfo.lev = (uint)info.Level; teamData = new TeamMenberInfo(baseInfo); if (isAvatar != null) { isAvatar.SetActive(player.isAvatar); } } else { if (player.pId == GameCenter.teamMng.LeaderId && GameCenter.teamMng.isLeader) { st.net.NetBase.team_member_list mPlayer = new st.net.NetBase.team_member_list(); mPlayer.uid = (uint)GameCenter.mainPlayerMng.MainPlayerInfo.ServerInstanceID; mPlayer.prof = (uint)GameCenter.mainPlayerMng.MainPlayerInfo.Prof; mPlayer.fighting = (uint)GameCenter.mainPlayerMng.MainPlayerInfo.FightValue; mPlayer.lev = (uint)GameCenter.mainPlayerMng.MainPlayerInfo.CurLevel; mPlayer.name = GameCenter.mainPlayerMng.MainPlayerInfo.Name; teamData = new TeamMenberInfo(mPlayer); } else { if (GameCenter.teamMng.TeammatesDic.ContainsKey(player.pId)) { teamData = GameCenter.teamMng.TeammatesDic[player.pId] as TeamMenberInfo; } } if (isAvatar != null) { isAvatar.SetActive(false); } } } ShowData(); }
public void SetInfo(TeamMenberInfo _info) { if (info != null) { info.OnBaseInfoUpdate -= Refresh; } info = _info; info.OnBaseInfoUpdate += Refresh; Refresh(); }
protected void OnClickMember(GameObject _obj) { TeamMemberSingle m = _obj.GetComponent <TeamMemberSingle>(); UIToggle t = _obj.GetComponent <UIToggle>(); if (m != null) { curTargetInfo = m.GetInfo(); if (t != null) { kickMemberBtn.gameObject.SetActive(GameCenter.teamMng.isLeader && curTargetInfo != null && t.value == true); } } }
protected void Refresh() { //数据 int curID = 0; if (curTargetInfo != null) { curID = (int)curTargetInfo.baseInfo.uid; } FDictionary memberDic = GameCenter.teamMng.TeammatesDic; if (!memberDic.ContainsKey(curID)) { curTargetInfo = null; } else { curTargetInfo = (TeamMenberInfo)memberDic[curID]; } //实例化出的小部件 for (int i = 0; i < memberList.Count; i++) { memberList[i].gameObject.SetActive(false); UIToggle tog = memberList[i].GetComponent <UIToggle>(); if (tog != null) { tog.value = false; } } int index = 0; int fightvalue = 0; foreach (TeamMenberInfo item in memberDic.Values) { if (memberList.Count < index + 1) { memberList.Add(memberInstance.CreateNew(memberParent, index)); UIEventListener.Get(memberList[index].gameObject).onClick -= OnClickMember; UIEventListener.Get(memberList[index].gameObject).onClick += OnClickMember; } memberList[index].gameObject.SetActive(true); memberList[index].SetInfo(item); UIToggle tog = memberList[index].GetComponent <UIToggle>(); if (curTargetInfo != null && curTargetInfo.baseInfo.uid == item.baseInfo.uid) { if (tog != null) { tog.value = true; } } fightvalue += (int)item.baseInfo.fighting; index++; } //页面其他显示 if (curFightValue != null) { curFightValue.text = fightvalue.ToString(); } kickMemberBtn.gameObject.SetActive(GameCenter.teamMng.isLeader && curTargetInfo != null); settingBtn.gameObject.SetActive(GameCenter.teamMng.isLeader); }