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