public uint Execute(PacketDistributed ipacket)
        {
            GC_WULIN_HEROS_LIST packet = (GC_WULIN_HEROS_LIST )ipacket;

            if (null == packet)
            {
                return((uint)PACKET_EXE.PACKET_EXE_ERROR);
            }
            //enter your logic
            WuLinData.ShowWuLinHerosInHistory(packet);
            return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
        }
    public static void ShowWuLinHerosInHistory(GC_WULIN_HEROS_LIST msg)
    {
        HerosInHistoryList.Clear();

        // fill
        if (msg.guidCount > 0)
        {
            for (int i = 0; i < msg.guidCount; i++)
            {
                HerosInHistoryList.Add(new HistoryHeroMember(
                                           msg.GetGuid(i), msg.GetName(i), msg.GetPosition(i), msg.GetLevelGroup(i)));
            }
        }
        //
        if (null != delegateShowWuLinHeroesInHistory)
        {
            delegateShowWuLinHeroesInHistory();
        }
    }