コード例 #1
0
        public uint Execute(PacketDistributed ipacket)
        {
            GC_HUASHAN_PVP_STATE packet = (GC_HUASHAN_PVP_STATE )ipacket;

            if (null == packet)
            {
                return((uint)PACKET_EXE.PACKET_EXE_ERROR);
            }
            //enter your logic
            HuaShanPVPData.DealHuaShanPvPState(packet);
            return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
        }
コード例 #2
0
    public static void DealHuaShanPvPState(GC_HUASHAN_PVP_STATE msg)
    {
        HuaShanState = msg.State;
        int curPosition = -1;
        int curRounder  = 0;

        if (msg.HasPosition)
        {
            curPosition = msg.Position;
        }

        if (msg.HasRounder)
        {
            curRounder = msg.Rounder;
        }

        Rounder         = curRounder;
        HuaShanPosition = curPosition;


        switch ((GC_HUASHAN_PVP_STATE.HSPVPSTATE)msg.State)
        {
        case GC_HUASHAN_PVP_STATE.HSPVPSTATE.KICKED:
            //..增加通知
            ChangeToDefaultWindow();
            break;

        case GC_HUASHAN_PVP_STATE.HSPVPSTATE.CLOSED:
            //..增加通知
            ChangeToDefaultWindow();
            break;

        case GC_HUASHAN_PVP_STATE.HSPVPSTATE.REGISTER:
            //..增加通知
            ChangeToDefaultWindow();
            break;

        case GC_HUASHAN_PVP_STATE.HSPVPSTATE.REGOK:
            //..增加通知
            ChangeToDefaultWindow();
            break;

        case GC_HUASHAN_PVP_STATE.HSPVPSTATE.REGISTERED:
            //..增加通知
            ChangeToDefaultWindow();
            break;

        case GC_HUASHAN_PVP_STATE.HSPVPSTATE.MAKEEFF:
            //..增加通知
            ChangeToDefaultWindow();
            break;

        case GC_HUASHAN_PVP_STATE.HSPVPSTATE.WAITNEXTROUND:
            //..增加通知
            ChangeToDefaultWindow();
            break;

        case GC_HUASHAN_PVP_STATE.HSPVPSTATE.SEARCH:
            //..暂时不处理,使用通用的发送
            break;

        case GC_HUASHAN_PVP_STATE.HSPVPSTATE.OPPVIEW:
            //..暂时不处理,使用通用的发送
            break;

        case GC_HUASHAN_PVP_STATE.HSPVPSTATE.WIN:
        case GC_HUASHAN_PVP_STATE.HSPVPSTATE.LOSE:
        {
            Resultwin = ((int)GC_HUASHAN_PVP_STATE.HSPVPSTATE.WIN == msg.State) ?
                        1 : 0;
            Rounder = msg.Rounder;
            //if (Resultwin == 0) SelfHSPos = -1;
            ChallengeRewardLogic.ShowRewardUI((int)ChallegeRewardUIType.HuaShan);
        }
        break;

        case GC_HUASHAN_PVP_STATE.HSPVPSTATE.WAITFOR:
        {
            Rounder = msg.Rounder;
            GUIData.AddNotifyData2Client(false, "#{2344}");
            if (null != delegateShowWaitForOpponet)
            {
                delegateShowWaitForOpponet();
            }
        }
        break;

        case GC_HUASHAN_PVP_STATE.HSPVPSTATE.LUCKDOG:
        {
            Rounder = msg.Rounder;
            string roundTips = HSRoundTipPrefix();
            GUIData.AddNotifyData2Client(false, "#{1663}", roundTips);

            OppoViewInfo.Clean();
            if (null != delegateShowOpponentViewInfo)
            {
                delegateShowOpponentViewInfo();
            }
        }
        break;

        case GC_HUASHAN_PVP_STATE.HSPVPSTATE.FINISH:
            if (delegateShowDefaultWindowMySelf != null)
            {
                delegateShowDefaultWindowMySelf();
            }
            break;

        case GC_HUASHAN_PVP_STATE.HSPVPSTATE.START:
            //..增加通知
            if (delegateShowDefaultWindowMySelf != null)
            {
                delegateShowDefaultWindowMySelf();
            }
            break;
        }
    }