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); }
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; } }