예제 #1
0
파일: TeamMng.cs 프로젝트: atom-chen/tianyu
    /// <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);//修改颜色
        }
    }
예제 #2
0
파일: TeamMng.cs 프로젝트: atom-chen/tianyu
    /// <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();
            }
        }
    }
예제 #3
0
파일: TeamMng.cs 프로젝트: atom-chen/tianyu
    /// <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();
                    }
                }
            }
        }
    }
예제 #4
0
 protected void OnClickTeamMemBtn(GameObject _obj)
 {
     if (teamBtnParent != null)
     {
         teamBtnParent.SetActive(true);
     }
     CurTeamMenberInfo = UIEventListener.Get(_obj).parameter as TeamMenberInfo;
 }
예제 #5
0
    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();
    }
예제 #6
0
 public void SetInfo(TeamMenberInfo _info)
 {
     if (info != null)
     {
         info.OnBaseInfoUpdate -= Refresh;
     }
     info = _info;
     info.OnBaseInfoUpdate += Refresh;
     Refresh();
 }
예제 #7
0
    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);
            }
        }
    }
예제 #8
0
    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);
    }