Пример #1
0
        public uint Execute(PacketDistributed ipacket)
        {
            GC_WULIN_STATE packet = (GC_WULIN_STATE )ipacket;

            if (null == packet)
            {
                return((uint)PACKET_EXE.PACKET_EXE_ERROR);
            }
            //enter your logic
            WuLinData.DealWuLinState(packet);
            return((uint)PACKET_EXE.PACKET_EXE_CONTINUE);
        }
Пример #2
0
    public static void DealWuLinState(GC_WULIN_STATE msg)
    {
        WuLinState = msg.State;
        int curPosition = -1;
        int curRounder  = 0;

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

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

        Rounder       = curRounder;
        WuLinPosition = curPosition;


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

        case GC_WULIN_STATE.WULINSTATE.CLOSED:
            //..增加通知
            ChangeToDefaultWindow();
            break;

        case GC_WULIN_STATE.WULINSTATE.REGISTER:
            //..增加通知
            ChangeToDefaultWindow();
            break;

        case GC_WULIN_STATE.WULINSTATE.REGOK:
            //..增加通知
            ChangeToDefaultWindow();
            break;

        case GC_WULIN_STATE.WULINSTATE.REGISTERED:
            //..增加通知
            ChangeToDefaultWindow();
            break;

        case GC_WULIN_STATE.WULINSTATE.MAKEEFF:
            //..增加通知
            ChangeToDefaultWindow();
            break;

        case GC_WULIN_STATE.WULINSTATE.WAITNEXTROUND:
            //..增加通知
            ChangeToDefaultWindow();
            break;

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

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

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

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

        case GC_WULIN_STATE.WULINSTATE.LUCKDOG:
        {
            Rounder = msg.Rounder;
            string roundTips = WuLinRoundTipPrefix();
            GUIData.AddNotifyData2Client(false, "#{4814}", roundTips);

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

        case GC_WULIN_STATE.WULINSTATE.FINISH:
            ChangeToDefaultWindow();
            break;

        case GC_WULIN_STATE.WULINSTATE.START:
            //..增加通知
            ChangeToDefaultWindow();
            break;
        }
    }