예제 #1
0
    public void RebuildRelationList(GC_SYC_FULL_HATE_LIST packet)
    {
        if (null == m_RelationDataList || null == packet)
        {
            return;
        }

        m_RelationDataList.Clear();
        for (int i = 0; i < packet.GuidCount; ++i)
        {
            Relation _relation = new Relation();
            _relation.Guid       = packet.GetGuid(i);
            _relation.Level      = packet.GetLevel(i);
            _relation.Name       = packet.GetName(i);
            _relation.Profession = packet.GetProf(i);
            _relation.CombatNum  = packet.GetCombat(i);
            _relation.State      = packet.GetState(i);
            _relation.TimeInfo   = packet.GetTimeInfo(i);

            if (_relation.IsValid())
            {
                m_RelationDataList.Add(_relation.Guid, _relation);
            }
        }

//		SortByRelationState ((int)CharacterDefine.RELATION_TYPE.ONLINE);
    }
예제 #2
0
        public uint Execute(PacketDistributed ipacket)
        {
            GC_SYC_FULL_HATE_LIST packet = (GC_SYC_FULL_HATE_LIST)ipacket;

            if (null == packet)
            {
                return((uint)PACKET_EXE.PACKET_EXE_ERROR);
            }
            //enter your logic

            if (null != GameManager.gameManager.PlayerDataPool.HateList)
            {
                GameManager.gameManager.PlayerDataPool.HateList.RebuildRelationList(packet);
            }

            return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
        }