Esempio n. 1
0
    // 填充队伍中当前玩家的详细信息
    public void FillMyInfo()
    {
        if (!HasTeam())
        { // 没有队伍不进行操作
            return;
        }

        TeamMemberInfo pMyTMInfo = null;

        uint guid = (uint)CObjectManager.Instance.getPlayerMySelf().GetServerGUID();

        pMyTMInfo = GetMember(guid);

        if (pMyTMInfo == null)
        {
            return;
        }

        FillMyInfo(pMyTMInfo);
    }
Esempio n. 2
0
        public ManageTeamViewModel CreateManageTeamViewModel(int teamId)
        {
            var team = db.Teams.Find(teamId);

            var teamMembers = team.Users;

            var viewModel = new ManageTeamViewModel()
            {
                Team        = team,
                TeamMembers = new List <TeamMemberInfo>()
            };

            foreach (var teamMember in teamMembers)
            {
                if (teamMember.Id == team.OwnerId)
                {
                    continue;
                }

                var teamRole = team.UserPermissions
                               .Where(permission => permission.User == teamMember && permission.TeamId == team.Id)
                               .FirstOrDefault().TeamRole;

                var availableTeamRoles = db.TeamRoles
                                         .Where(role => role.Name != TEAM_OWNER_ROLE_NAME).
                                         ToList();

                var selectListForAvailableTeamRoles
                    = new SelectList(availableTeamRoles, "Id", "Name", teamRole.Id);

                var memberInfo = new TeamMemberInfo()
                {
                    TeamMember         = teamMember,
                    TeamRole           = teamRole,
                    AvailableTeamRoles = selectListForAvailableTeamRoles
                };

                viewModel.TeamMembers.Add(memberInfo);
            }
            return(viewModel);
        }
Esempio n. 3
0
    void RefreshUI()
    {
        foreach (var dic in CopyDataManager.m_dicTeammateStatus)
        {
            if (!dic.Value)
            {
                HideSelf();
                return;
            }
        }
        if (m_trans_Member == null)
        {
            Log.Error("m_trans_Member is null");
            return;
        }
        Transform childTrans = m_trans_Member.Find("GameObject");

        if (childTrans == null)
        {
            Log.Error("childTrans is null");
            return;
        }
        for (int i = 0; i < childTrans.childCount; i++)
        {
            string    childName = "Member_" + (i + 1);
            Transform memItem   = m_trans_Member.Find("GameObject/" + childName);
            if (memItem != null)
            {
                if (i < m_teamMemberList.Count)
                {
                    TeamMemberInfo info = m_teamMemberList[i];
                    RefeshMemInfo(info, memItem);
                }
                else
                {
                    RefeshMemInfo(null, memItem);
                }
            }
        }
    }
Esempio n. 4
0
    // 得到自己的队伍信息(从自己的数据池获取)
    void FillMyInfo(TeamMemberInfo member)
    {
        if (member == null)
        {
            throw new NullReferenceException("team member in FillMyInfo(member)");
        }

        CObject_PlayerMySelf pMe = CObjectManager.Instance.getPlayerMySelf();

        CCharacterData pMyData = pMe.GetCharacterData();

        if (null == pMyData)
        {
            return;
        }
        member.m_szNick        = pMyData.Get_Name();
        member.m_uFamily       = pMyData.Get_MenPai();
        member.m_uDataID       = pMyData.Get_RaceID();
        member.m_uLevel        = pMyData.Get_Level();
        member.m_nPortrait     = pMyData.Get_PortraitID();
        member.m_WorldPos.m_fX = pMe.GetPosition().x;
        member.m_WorldPos.m_fZ = pMe.GetPosition().z;
        member.m_nHP           = pMyData.Get_HP();
        member.m_dwMaxHP       = pMyData.Get_MaxHP();
        member.m_nMP           = pMyData.Get_MP();
        member.m_dwMaxMP       = pMyData.Get_MaxMP();
        member.m_nAnger        = 100; // 客户端没有
        member.m_WeaponID      = pMyData.Get_Equip(HUMAN_EQUIP.HEQUIP_WEAPON);
        member.m_CapID         = pMyData.Get_Equip(HUMAN_EQUIP.HEQUIP_CAP);
        member.m_ArmourID      = pMyData.Get_Equip(HUMAN_EQUIP.HEQUIP_ARMOR);
        member.m_CuffID        = pMyData.Get_Equip(HUMAN_EQUIP.HEQUIP_CUFF);
        member.m_FootID        = pMyData.Get_Equip(HUMAN_EQUIP.HEQUIP_BOOT);
        member.m_uBackID       = pMyData.Get_Equip(HUMAN_EQUIP.HEQUIP_BACK);//  [8/30/2010 Sun]
        member.m_bDead         = (pMe.CharacterLogic_Get() == ENUM_CHARACTER_LOGIC.CHARACTER_LOGIC_DEAD);

        member.m_uFaceMeshID = pMyData.Get_FaceMesh();
        member.m_uHairMeshID = pMyData.Get_HairMesh();
        member.m_uHairColor  = pMyData.Get_HairColor();
    }
Esempio n. 5
0
    /// <summary>
    /// 同步队员状态
    /// </summary>
    /// <param name="cmd"></param>
    //TeamMemberStatus_Died		= 0;	// Died
    //TeamMemberStatus_Offline	= 1;	// Offline
    //TeamMemberStatus_Online		= 2;	// Online
    //TeamMemberStatus_FarAway	= 3;	// Far away (default)
    //TeamMemberStatus_Normal		= 4;	// Among 9 screen
    //TeamMemberStatus_Max		= 5;
    public void OnTeamMemberState(GameCmd.stRefreshStateTeamRelationUserCmd_S cmd)
    {
        TeamMemberInfo teamMemberInfo = m_listTeamMember.Find((data) => { return(data.id == cmd.dwUserID); });

        if (teamMemberInfo != null)
        {
            switch ((TeamMemberStatus)cmd.byState)
            {
            //在线  下线
            case TeamMemberStatus.TeamMemberStatus_Online:
            {
                teamMemberInfo.onLine = true;
            }
            break;

            case TeamMemberStatus.TeamMemberStatus_Offline:
            {
                teamMemberInfo.onLine = false;
            }
            break;

            //不跟随  跟随
            case TeamMemberStatus.TeamMemberStatus_Normal:
            {
                teamMemberInfo.isFollow = false;
            }
            break;

            case TeamMemberStatus.TeamMemberStatus_Follow:
            {
                teamMemberInfo.isFollow = true;
            }
            break;
            }

            Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.TEAM_MEMBERSTATE, teamMemberInfo);
        }
    }
Esempio n. 6
0
    /// <summary>
    ///队长给其他人队长位置,所有人都接收
    /// </summary>
    public void OnChangeLeader(GameCmd.stChangeLeaderTeamRelationUserCmd_CS cmd)
    {
        m_leaderId = cmd.dwNewLeader;

        if (DataManager.Manager <UIPanelManager>().IsShowPanel(PanelID.TeamPanel))
        {
            DataManager.Manager <UIPanelManager>().SendMsg(PanelID.TeamPanel, UIMsgID.eUpdateMyTeamList, null);
        }

        if (DataManager.Manager <UIPanelManager>().IsShowPanel(PanelID.MissionAndTeamPanel))
        {
            DataManager.Manager <UIPanelManager>().SendMsg(PanelID.MissionAndTeamPanel, UIMsgID.eUpdateMyTeamList, null);
        }

        TeamMemberInfo leader = m_listTeamMember.Find((TeamMemberInfo data) => { return(data.id == m_leaderId); });

        if (leader == null)
        {
            return;
        }

        TipsManager.Instance.ShowLocalFormatTips(LocalTextType.Team_Leader_Xchengweiliaoxindedongchang, leader.name);//{0}成为了新的队长
    }
Esempio n. 7
0
    /// <summary>
    /// 收到申请列表
    /// </summary>
    public void OnApplyList(GameCmd.stRequestTeamListRelationUserCmd_S cmd)
    {
        int needCount = TeamMemberMax - m_listTeamMember.Count;  //我的队伍里面还差几个人

        this.m_listApplyMember.Clear();
        for (int i = 0; i < cmd.data.Count; i++)
        {
            TeamMemberInfo teamMemberInfo = new TeamMemberInfo(cmd.data[i].userid, cmd.data[i].username, cmd.data[i].byLevel, cmd.data[i].byProfession, cmd.data[i].byOnline, cmd.data[i].wdFace, cmd.data[i].suit_data);
            if (m_leaderAutoAgreeTeamApply && i < needCount)  //自动同意入队
            {
                ReqLeaderAnswerJoin(teamMemberInfo.id, true);
            }
            else
            {
                this.m_listApplyMember.Add(teamMemberInfo);
            }
        }

        if (DataManager.Manager <UIPanelManager>().IsShowPanel(PanelID.TeamPanel))
        {
            DataManager.Manager <UIPanelManager>().SendMsg(PanelID.TeamPanel, UIMsgID.eUpdateApplyList, null);
        }
    }
Esempio n. 8
0
    //-----------------------------------------------------------------------------------------------
    public void AddTransmitMsg(GameCmd.stInviteGoMapRequestUserCmd_CS cmd)
    {
        PushMsg msg = new PushMsg();

        if (cmd.type == (int)GameCmd.FeiLeiType.FeiLeiType_Clan)
        {
            msg.msgType = PushMsg.MsgType.ClanTransmit;
            msg.cd      = (float)GameTableManager.Instance.GetGlobalConfig <int>("ClanTransmitMsgCD");
        }
        else if (cmd.type == (int)GameCmd.FeiLeiType.FeiLeiType_Couple)
        {
            msg.msgType = PushMsg.MsgType.CoupleTransmit;
            msg.cd      = (float)GameTableManager.Instance.GetGlobalConfig <int>("CoupleTransmitMsgCD");
        }
        else if (cmd.type == (int)GameCmd.FeiLeiType.FeiLeiType_Team)
        {
            msg.msgType = PushMsg.MsgType.TeamTransmit;
            msg.cd      = (float)GameTableManager.Instance.GetGlobalConfig <int>("TeamTransmitMsgCD");
        }
        else if (cmd.type == (int)GameCmd.FeiLeiType.CallUp_CityWarClan)
        {
            msg.msgType = PushMsg.MsgType.CityWarClan;
            msg.cd      = (float)GameTableManager.Instance.GetGlobalConfig <int>("ClanTransmitMsgCD");
        }
        else if (cmd.type == (int)GameCmd.FeiLeiType.CallUp_CityWarTeam)
        {
            msg.msgType = PushMsg.MsgType.CityWarTeam;
            msg.cd      = (float)GameTableManager.Instance.GetGlobalConfig <int>("ClanTransmitMsgCD");
        }

        msg.senderId = cmd.userid;
        msg.sendName = cmd.username;
        msg.sendTime = UnityEngine.Time.realtimeSinceStartup;
        msg.vector   = cmd.pos;
        table.MapDataBase mdb = GameTableManager.Instance.GetTableItem <table.MapDataBase>(cmd.mapid);
        if (mdb != null)
        {
            msg.map   = mdb.strName;
            msg.mapId = cmd.mapid;
        }
        if (DataManager.Manager <ClanManger>().ClanInfo != null)
        {
            GameCmd.stClanMemberInfo clanInfo = DataManager.Manager <ClanManger>().ClanInfo.GetMemberInfo(cmd.userid);
            if (clanInfo != null)
            {
                msg.level = (int)clanInfo.level;
                SelectRoleDataBase data = table.SelectRoleDataBase.Where((GameCmd.enumProfession)clanInfo.job, (GameCmd.enmCharSex) 1);
                if (data != null)
                {
                    msg.profession = data.professionName;
                }
            }
        }
        TeamMemberInfo info = DataManager.Manager <TeamDataManager>().GetTeamMember(cmd.userid);

        if (info != null)
        {
            msg.level = (int)info.lv;
            SelectRoleDataBase data = table.SelectRoleDataBase.Where((GameCmd.enumProfession)info.job, (GameCmd.enmCharSex) 1);
            if (data != null)
            {
                msg.profession = data.professionName;
            }
        }
        AddSysMsg(msg);
        if (DataManager.Manager <UIPanelManager>().IsShowPanel(PanelID.MessagePushPanel) == false)
        {
            if (!DataManager.Manager <ComBatCopyDataManager>().IsEnterCopy)
            {
                DataManager.Manager <UIPanelManager>().ShowPanel(PanelID.MessagePushPanel);
            }
        }
        Engine.Utility.EventEngine.Instance().DispatchEvent((int)Client.GameEventID.REFRESHTRANSMITPUSHMSGSTATUS, null);
    }
Esempio n. 9
0
 public override void SetGridData(object data)
 {
     base.SetGridData(data);
     this.teamMemberInfo = data as TeamMemberInfo;
 }
Esempio n. 10
0
        public override NET_RESULT_DEFINE.PACKET_EXE Execute(PacketBase pPacket, ref Peer pPlayer)
        {
            if (GameProcedure.GetActiveProcedure() == (GameProcedure)GameProcedure.s_ProcMain)
            {
                GCTeamMemberInfo packet    = pPacket as GCTeamMemberInfo;
                CUIDataPool      pDataPool = (GameProcedure.s_pUIDataPool);
                CTeamOrGroup     team      = pDataPool.GetTeamOrGroup();
                TeamMemberInfo   pTMInfo   = team.GetMember(packet.GUID);

                if (pTMInfo == null)
                { // 组队切换场景时会遇到这个问题
                    // TDAssert(FALSE);
                    return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE);
                }

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_FAMILY))
                {
                    pTMInfo.m_uFamily = (int)packet.Family;
                }

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_LEVEL))
                {
                    pTMInfo.m_uLevel = (int)packet.Level;
                }

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_POSITION))
                {
                    GameProcedure.m_bWaitNeedFreshMinimap = true;
                    pTMInfo.m_WorldPos.m_fX = packet.WorldPos.m_fX;
                    pTMInfo.m_WorldPos.m_fZ = packet.WorldPos.m_fZ;
                }

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_HP))
                {
                    pTMInfo.m_nHP = packet.HP;
                }

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_MAX_HP))
                {
                    pTMInfo.m_dwMaxHP = (int)packet.MaxHP;
                }

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_MP))
                {
                    pTMInfo.m_nMP = packet.MP;
                }

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_MAX_MP))
                {
                    pTMInfo.m_dwMaxMP = (int)packet.MaxMP;
                }

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_ANGER))
                {
                    pTMInfo.m_nAnger = packet.Anger;
                }

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_WEAPON))
                {
                    // 武器id
                    pTMInfo.m_WeaponID = (int)packet.WeaponID;

                    // 设置ui模型
                    pTMInfo.m_UIModel.SetUIModelInfo(HUMAN_EQUIP.HEQUIP_WEAPON, pTMInfo.m_WeaponID);
                }

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_CAP))
                {
                    // 帽子id
                    pTMInfo.m_CapID = (int)packet.CapID;

                    // 设置ui模型
                    pTMInfo.m_UIModel.SetUIModelInfo(HUMAN_EQUIP.HEQUIP_CAP, pTMInfo.m_CapID);
                }

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_ARMOR))
                {
                    // 身体
                    pTMInfo.m_ArmourID = (int)packet.ArmourID;

                    // 设置ui模型
                    pTMInfo.m_UIModel.SetUIModelInfo(HUMAN_EQUIP.HEQUIP_ARMOR, pTMInfo.m_ArmourID);
                }

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_CUFF))
                {
                    // 腕
                    pTMInfo.m_CuffID = (int)packet.CuffID;

                    // 设置ui模型
                    pTMInfo.m_UIModel.SetUIModelInfo(HUMAN_EQUIP.HEQUIP_CUFF, pTMInfo.m_CuffID);
                }

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_BOOT))
                {
                    // 脚
                    pTMInfo.m_FootID = (int)packet.FootID;

                    // 设置ui模型
                    pTMInfo.m_UIModel.SetUIModelInfo(HUMAN_EQUIP.HEQUIP_BOOT, pTMInfo.m_FootID);
                }

                /*
                 * if( pPacket.IsUpdateAttrib(TEAM_MEMBER_ATT_BUFF) )
                 * {
                 * }
                 */

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_DEADLINK))
                {
                    pTMInfo.m_bDeadLink = packet.DeadLinkFlag > 0;
                }

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_DEAD))
                {
                    pTMInfo.m_bDead = packet.DeadFlag > 0;
                }

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_FACEMESH))
                {
                    pTMInfo.m_uFaceMeshID = (int)packet.FaceMeshID;
                    if (pTMInfo.m_uFaceMeshID < 255)
                    {
                        // 设置脸形
                        pTMInfo.m_UIModel.SetFaceMeshId(pTMInfo.m_uFaceMeshID);
                    }
                }

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_HAIRMESH))
                {
                    pTMInfo.m_uHairMeshID = (int)packet.HairMeshID;

                    if (pTMInfo.m_uHairMeshID < 255)
                    {
                        // 设置发型
                        pTMInfo.m_UIModel.SetFaceHairId(pTMInfo.m_uHairMeshID);
                    }
                }

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_HAIRCOLOR))
                {
                    pTMInfo.m_uHairColor = packet.HairColor;

                    //if(pTMInfo.m_uHairColor < 255)
                    //{
                    //	// 设置颜色
                    //	pTMInfo.m_UIModel.SetHairColor(pTMInfo.m_uHairColor);
                    //}
                    //else
                    //{
                    //	// 设置颜色
                    //	pTMInfo.m_UIModel.SetHairColor(0);
                    //}//

                    // 设置颜色
                    pTMInfo.m_UIModel.SetHairColor(pTMInfo.m_uHairColor);
                }

                if (packet.IsUpdateAttrib((int)ENUM_TEAM_MEMBER_ATT.TEAM_MEMBER_ATT_BACK))
                {
                    // 背饰
                    pTMInfo.m_uBackID = (int)packet.BackID;

                    // 设置ui模型
                    pTMInfo.m_UIModel.SetUIModelInfo(HUMAN_EQUIP.HEQUIP_BACK, pTMInfo.m_uBackID);
                }

                int idx = team.GetMemberUIIndex(pTMInfo.m_GUID);
                GameProcedure.s_pEventSystem.PushEvent(GAME_EVENT_ID.GE_TEAM_UPTEDATA_MEMBER_INFO, idx);
                for (idx = 0; idx < team.GetTeamMemberCount(); ++idx)
                {
                    if (team.GetMemberByIndex(idx).m_GUID == pTMInfo.m_GUID)
                    {
                        GameProcedure.s_pEventSystem.PushEvent(GAME_EVENT_ID.GE_TEAM_REFRESH_MEMBER, idx);
                    }
                }
            }
            return(NET_RESULT_DEFINE.PACKET_EXE.PACKET_EXE_CONTINUE);
        }
Esempio n. 11
0
 // 更新队员信息(暂时没有用到)
 public void UpdateMemberInfo(TeamMemberInfo member, uint guid)
 {
 }
Esempio n. 12
0
    // 增加一个组员,如果是团队的话,需要传入团队所在的小组号
    public void AddMember(TeamMemberInfo member, short TeamID, byte TeamIndex)
    {
        TeamMemberInfo pTMInfo = new TeamMemberInfo();

        pTMInfo.m_GUID      = member.m_GUID;
        pTMInfo.m_OjbID     = member.m_OjbID;                                   //
        pTMInfo.m_SceneID   = member.m_SceneID;
        pTMInfo.m_uFamily   = member.m_uFamily;                                 // 2.五行属性
        pTMInfo.m_uDataID   = member.m_uDataID;                                 // 3.性别
        pTMInfo.m_nPortrait = member.m_nPortrait;                               // 5.头像
        pTMInfo.m_szNick    = member.m_szNick;

        CObject_PlayerMySelf pObj = CObjectManager.Instance.getPlayerMySelf();

        switch (m_Type)
        {
        case TEAM_OR_GROUP_TYPE.INVAILD_TYPE:
        {
            if (CreateTeam(pTMInfo, TeamID) == false)
            {
                pTMInfo = null;
            }
        }
        break;

        case TEAM_OR_GROUP_TYPE.TEAM_TYPE:
        {         // 队伍加人的情况
            if (m_TeamMembers.Count >= GAMEDEFINE.MAX_TEAM_MEMBER)
            {
                pTMInfo = null;
                CEventSystem.Instance.PushEvent(GAME_EVENT_ID.GE_INFO_SELF, "队伍已满,无法加人");
                return;
            }

            m_TeamMembers.Add(pTMInfo);
            // 队伍满人标记 [6/14/2011 edit by ZL]
            if (m_TeamMembers.Count == GAMEDEFINE.MAX_TEAM_MEMBER)
            {
                CObjectManager.Instance.getPlayerMySelf().GetCharacterData().Set_TeamFullFlag(true);
            }
            // 更新队伍信息 [9/26/2011 Ivan edit]
            CObject_Character player = CObjectManager.Instance.FindServerObject((int)pTMInfo.m_OjbID) as CObject_Character;
            if (player != null)
            {
                player.GetCharacterData().RefreshName();
            }
        }
        break;

        case TEAM_OR_GROUP_TYPE.GROUP_TYPE:
        {         // 团队加人的情况
            if (TeamIndex < 0 || TeamIndex >= GAMEDEFINE.MAX_TEAMS_IN_GROUP)
            {
                pTMInfo = null;
                return;
            }

            ++TeamIndex;         // 默认传入的数字为 0 ~ MAX_TEAMS_IN_GROUP-1

            TeamInfo pTeamInfo = GetTeam(TeamIndex);

            if (pTeamInfo != null)
            {
                if (pTeamInfo.m_TeamMembers.Count >= GAMEDEFINE.MAX_TEAM_MEMBER)
                {
                    pTMInfo = null;
                    return;
                }
            }
            else
            {         // 如果该小组不存在,则创建,并添加入团队
                pTeamInfo          = new TeamInfo();
                pTeamInfo.m_TeamID = TeamIndex;
                m_TeamInfo.Add(pTeamInfo);

                //队伍满
                if (pTeamInfo.m_TeamMembers.Count >= GAMEDEFINE.MAX_TEAM_MEMBER)
                {
                    CObjectManager.Instance.getPlayerMySelf().GetCharacterData().Set_TeamFullFlag(true);
                }
            }

            pTeamInfo.m_TeamMembers.Add(pTMInfo);

            if (pTMInfo.m_GUID == pObj.GetServerGUID())
            {
                m_MyTeamID = TeamIndex;
            }
        }
        break;

        default:
            return;
        }

        if (pTMInfo.m_GUID != pObj.GetServerGUID())
        { // 需要加载队友的头像窗口
            // 请求该队友的数据
            CGAskTeamMemberInfo Msg = new CGAskTeamMemberInfo();
            Msg.SceneID = pTMInfo.m_SceneID;
            Msg.ObjID   = (uint)pTMInfo.m_OjbID;
            Msg.GUID    = pTMInfo.m_GUID;

            NetManager.GetNetManager().SendPacket(Msg);
        }
        else
        {
            FillMyInfo(pTMInfo);
        }

        //// 创建一个界面的模型.
        //pTMInfo.m_UIModel.CreateNewUIModel();
        //// 设置ui模型
        //// 设置性别
        //pTMInfo.m_UIModel.m_pAvatar.GetCharacterData().Set_RaceID(pTMInfo.m_uDataID);
    }
Esempio n. 13
0
    // 设置模型信息
    public void SetModelLook()
    {
        if (!HasTeam())
        { // 没有队伍不进行操作
            return;
        }

        TeamMemberInfo pMyTMInfo = null;

        uint guid = (uint)CObjectManager.Instance.getPlayerMySelf().GetServerGUID();

        pMyTMInfo = GetMember(guid);
        if (pMyTMInfo == null)
        {
            return;
        }

        // 设置ui模型
        pMyTMInfo.m_UIModel.SetUIModelInfo(HUMAN_EQUIP.HEQUIP_WEAPON, pMyTMInfo.m_WeaponID);

        // 设置ui模型
        pMyTMInfo.m_UIModel.SetUIModelInfo(HUMAN_EQUIP.HEQUIP_CAP, pMyTMInfo.m_CapID);

        // 设置ui模型
        pMyTMInfo.m_UIModel.SetUIModelInfo(HUMAN_EQUIP.HEQUIP_ARMOR, pMyTMInfo.m_ArmourID);

        // 设置ui模型
        pMyTMInfo.m_UIModel.SetUIModelInfo(HUMAN_EQUIP.HEQUIP_CUFF, pMyTMInfo.m_CuffID);

        // 设置ui模型
        pMyTMInfo.m_UIModel.SetUIModelInfo(HUMAN_EQUIP.HEQUIP_BOOT, pMyTMInfo.m_FootID);

        pMyTMInfo.m_UIModel.SetUIModelInfo(HUMAN_EQUIP.HEQUIP_BACK, pMyTMInfo.m_uBackID);


        if (pMyTMInfo.m_uFaceMeshID < 255)
        {
            // 设置脸形
            pMyTMInfo.m_UIModel.SetFaceMeshId(pMyTMInfo.m_uFaceMeshID);
        }

        if (pMyTMInfo.m_uHairMeshID < 255)
        {
            // 设置发型
            pMyTMInfo.m_UIModel.SetFaceHairId(pMyTMInfo.m_uHairMeshID);
        }

        //if(pMyTMInfo->m_uHairColor < 255)
        //{
        //	// 设置颜色
        //	pMyTMInfo->m_UIModel.SetHairColor(pMyTMInfo->m_uHairColor);
        //}
        //else
        //{
        //	// 设置颜色
        //	pMyTMInfo->m_UIModel.SetHairColor(0);
        //}//

        // 设置颜色
        pMyTMInfo.m_UIModel.SetHairColor(pMyTMInfo.m_uHairColor);
    }
Esempio n. 14
0
    public void Refresh(TeamMemberInfo info)
    {
        Transform nameTrans = this.transform.Find("name");

        if (nameTrans == null)
        {
            return;
        }
        Transform iconTrans = this.transform.Find("icon");

        if (iconTrans == null)
        {
            return;
        }
        Transform statusConf = this.transform.Find("status_Confirm");

        if (statusConf == null)
        {
            return;
        }
        Transform statusRefuse = this.transform.Find("status_Refuse");

        if (statusRefuse == null)
        {
            return;
        }
        Transform Label = this.transform.Find("Label");

        if (Label == null)
        {
            return;
        }
        bool bShow = false;

        if (info != null)
        {
            bShow = true;
        }
        nameTrans.gameObject.SetActive(bShow);
        iconTrans.gameObject.SetActive(bShow);
        statusConf.gameObject.SetActive(bShow);
        statusRefuse.gameObject.SetActive(bShow);
        if (info == null)
        {
            Label.gameObject.SetActive(true);
            return;
        }
        UILabel label = nameTrans.GetComponent <UILabel>();

        if (label != null)
        {
            label.text = info.name;
        }
        UITexture iconSpr = iconTrans.GetComponent <UITexture>();

        if (iconSpr != null)
        {
            List <SelectRoleDataBase> list = GameTableManager.Instance.GetTableList <SelectRoleDataBase>();
            SelectRoleDataBase        db   = list.Find((x) =>
            {
                return(x.sexID == 1 && x.professionID == info.job);
            });
            UIManager.GetTextureAsyn(db.strprofessionIcon, ref m_iconCASD, () =>
            {
                if (null != iconSpr)
                {
                    iconSpr.mainTexture = null;
                }
            }, iconSpr);
        }

        bool bConfirm = false;

        if (CopyDataManager.m_dicTeammateStatus.ContainsKey(info.id))
        {
            bConfirm = CopyDataManager.m_dicTeammateStatus[info.id];
        }
        Label.gameObject.SetActive(false);
        statusConf.gameObject.SetActive(false);
        statusRefuse.gameObject.SetActive(!bConfirm);
    }