public static PacketDistributed CreatePacket(MessageID packetID) { PacketDistributed packet = null; switch (packetID) { case MessageID.PACKET_CG_CHAT: { packet = new CG_CHAT(); } break; case MessageID.PACKET_CG_CONNECTED_HEARTBEAT: { packet = new CG_CONNECTED_HEARTBEAT(); } break; case MessageID.PACKET_CG_FIGHT: { packet = new CG_FIGHT(); } break; case MessageID.PACKET_CG_LEAVE_COPYSCENE: { packet = new CG_LEAVE_COPYSCENE(); } break; case MessageID.PACKET_CG_LOGIN: { packet = new CG_LOGIN(); } break; case MessageID.PACKET_CG_MOVE: { packet = new CG_MOVE(); } break; case MessageID.PACKET_CG_REQ_NEAR_LIST: { packet = new CG_REQ_NEAR_LIST(); } break; case MessageID.PACKET_GC_ATTACKFLY: { packet = new GC_ATTACKFLY(); } break; case MessageID.PACKET_GC_CHAT: { packet = new GC_CHAT(); } break; case MessageID.PACKET_GC_CONNECTED_HEARTBEAT: { packet = new GC_CONNECTED_HEARTBEAT(); } break; case MessageID.PACKET_GC_DELETE_OBJ: { packet = new GC_DELETE_OBJ(); } break; case MessageID.PACKET_GC_FORCE_SETPOS: { packet = new GC_FORCE_SETPOS(); } break; case MessageID.PACKET_GC_LOGIN_RET: { packet = new GC_LOGIN_RET(); } break; case MessageID.PACKET_GC_MOVE: { packet = new GC_MOVE(); } break; case MessageID.PACKET_GC_NEAR_MARCHLIST: { packet = new GC_NEAR_MARCHLIST(); } break; case MessageID.PACKET_GC_NOTICE: { packet = new GC_NOTICE(); } break; case MessageID.PACKET_GC_PLAY_EFFECT: { packet = new GC_PLAY_EFFECT(); } break; case MessageID.PACKET_GC_REMOVEEFFECT: { packet = new GC_REMOVEEFFECT(); } break; case MessageID.PACKET_GC_RET_USE_SKILL: { packet = new GC_RET_USE_SKILL(); } break; case MessageID.PACKET_GC_STOP: { packet = new GC_STOP(); } break; case MessageID.PACKET_GC_TELEMOVE: { packet = new GC_TELEMOVE(); } break; case MessageID.PACKET_GC_UPDATE_ANIMATION_STATE: { packet = new GC_UPDATE_ANIMATION_STATE(); } break; case MessageID.PACKET_GC_UPDATE_NEEDIMPACTINFO: { packet = new GC_UPDATE_NEEDIMPACTINFO(); } break; case MessageID.PACKET_GC_UPDATE_SCENE_INSTACTIVATION: { packet = new GC_UPDATE_SCENE_INSTACTIVATION(); } break; } if (null != packet) { packet.packetID = packetID; } return(packet); }
public uint Execute(PacketDistributed ipacket) { GC_UPDATE_NEEDIMPACTINFO packet = (GC_UPDATE_NEEDIMPACTINFO )ipacket; if (null == packet) { return((uint)PACKET_EXE.PACKET_EXE_ERROR); } //enter your logic return((uint)PACKET_EXE.PACKET_EXE_CONTINUE); }
public static PacketDistributed CreatePacket(MessageID packetID) { PacketDistributed packet = null; switch (packetID) { case MessageID.PACKET_CG_ASSIGN_HERO: { packet = new CG_ASSIGN_HERO(); } break; case MessageID.PACKET_CG_BATTLEINFOR: { packet = new CG_BATTLEINFOR(); } break; case MessageID.PACKET_CG_BATTLEPREPARE: { packet = new CG_BATTLEPREPARE(); } break; case MessageID.PACKET_CG_BUILDING_LEVELUP: { packet = new CG_Building_LevelUp(); } break; case MessageID.PACKET_CG_CHAT: { packet = new CG_CHAT(); } break; case MessageID.PACKET_CG_CONNECTED_HEARTBEAT: { packet = new CG_CONNECTED_HEARTBEAT(); } break; case MessageID.PACKET_CG_CREATEROLE: { packet = new CG_CREATEROLE(); } break; case MessageID.PACKET_CG_FIGHT: { packet = new CG_FIGHT(); } break; case MessageID.PACKET_CG_LEAVE_COPYSCENE: { packet = new CG_LEAVE_COPYSCENE(); } break; case MessageID.PACKET_CG_LOGIN: { packet = new CG_LOGIN(); } break; case MessageID.PACKET_CG_MARCH_MOVE: { packet = new CG_MARCH_MOVE(); } break; case MessageID.PACKET_CG_MOVE: { packet = new CG_MOVE(); } break; case MessageID.PACKET_CG_OBJPOSLIST: { packet = new CG_OBJPOSLIST(); } break; case MessageID.PACKET_CG_REQ_NEAR_LIST: { packet = new CG_REQ_NEAR_LIST(); } break; case MessageID.PACKET_CG_ROBOT_OPEN: { packet = new CG_ROBOT_OPEN(); } break; case MessageID.PACKET_CG_SEND_MARCH: { packet = new CG_SEND_MARCH(); } break; case MessageID.PACKET_CG_SKILL_USE: { packet = new CG_SKILL_USE(); } break; case MessageID.PACKET_CG_TROOP_TRAIN: { packet = new CG_Troop_Train(); } break; case MessageID.PACKET_GC_ASSIGN_HERO: { packet = new GC_ASSIGN_HERO(); } break; case MessageID.PACKET_GC_ATTACKFLY: { packet = new GC_ATTACKFLY(); } break; case MessageID.PACKET_GC_BATTLEEND: { packet = new GC_BATTLEEND(); } break; case MessageID.PACKET_GC_BATTLEINFOR: { packet = new GC_BATTLEINFOR(); } break; case MessageID.PACKET_GC_BATTLEPREPARE: { packet = new GC_BATTLEPREPARE(); } break; case MessageID.PACKET_GC_BATTLESTART: { packet = new GC_BattleStart(); } break; case MessageID.PACKET_GC_BUILDING_LEVELUP: { packet = new GC_Building_LevelUp(); } break; case MessageID.PACKET_GC_CHAT: { packet = new GC_CHAT(); } break; case MessageID.PACKET_GC_CONNECTED_HEARTBEAT: { packet = new GC_CONNECTED_HEARTBEAT(); } break; case MessageID.PACKET_GC_CREATEROLE_RET: { packet = new GC_CREATEROLE_RET(); } break; case MessageID.PACKET_GC_DELETE_OBJ: { packet = new GC_DELETE_OBJ(); } break; case MessageID.PACKET_GC_FIGHT: { packet = new GC_FIGHT(); } break; case MessageID.PACKET_GC_FORCE_SETPOS: { packet = new GC_FORCE_SETPOS(); } break; case MessageID.PACKET_GC_LOGIN_QUEUE_STATUS: { packet = new GC_LOGIN_QUEUE_STATUS(); } break; case MessageID.PACKET_GC_LOGIN_RET: { packet = new GC_LOGIN_RET(); } break; case MessageID.PACKET_GC_MARCH_MOVE: { packet = new GC_MARCH_MOVE(); } break; case MessageID.PACKET_GC_MOVE: { packet = new GC_MOVE(); } break; case MessageID.PACKET_GC_NEAR_MARCHLIST: { packet = new GC_NEAR_MARCHLIST(); } break; case MessageID.PACKET_GC_NOTICE: { packet = new GC_NOTICE(); } break; case MessageID.PACKET_GC_OBJCOMMANDPURSUE: { packet = new GC_OBJCOMMANDPURSUE(); } break; case MessageID.PACKET_GC_OBJGETHURT: { packet = new GC_OBJGETHURT(); } break; case MessageID.PACKET_GC_OBJPOSLIST: { packet = new GC_OBJPOSLIST(); } break; case MessageID.PACKET_GC_OBJPREPAREFORATTACK: { packet = new GC_OBJPREPAREFORATTACK(); } break; case MessageID.PACKET_GC_PLAY_EFFECT: { packet = new GC_PLAY_EFFECT(); } break; case MessageID.PACKET_GC_REMOVEEFFECT: { packet = new GC_REMOVEEFFECT(); } break; case MessageID.PACKET_GC_RET_USE_SKILL: { packet = new GC_RET_USE_SKILL(); } break; case MessageID.PACKET_GC_ROBOT_OPEN: { packet = new GC_ROBOT_OPEN(); } break; case MessageID.PACKET_GC_SEND_MARCH: { packet = new GC_SEND_MARCH(); } break; case MessageID.PACKET_GC_STOP: { packet = new GC_STOP(); } break; case MessageID.PACKET_GC_TELEMOVE: { packet = new GC_TELEMOVE(); } break; case MessageID.PACKET_GC_TROOPTRAIN_OVER: { packet = new GC_TroopTrain_Over(); } break; case MessageID.PACKET_GC_TROOP_TRAIN: { packet = new GC_Troop_Train(); } break; case MessageID.PACKET_GC_UPDATE_ANIMATION_STATE: { packet = new GC_UPDATE_ANIMATION_STATE(); } break; case MessageID.PACKET_GC_UPDATE_MARCH: { packet = new GC_Update_March(); } break; case MessageID.PACKET_GC_UPDATE_NEEDIMPACTINFO: { packet = new GC_UPDATE_NEEDIMPACTINFO(); } break; case MessageID.PACKET_GC_UPDATE_SCENE_INSTACTIVATION: { packet = new GC_UPDATE_SCENE_INSTACTIVATION(); } break; } if (null != packet) { packet.packetID = packetID; } return(packet); }
public uint Execute(PacketDistributed ipacket) { GC_UPDATE_NEEDIMPACTINFO packet = (GC_UPDATE_NEEDIMPACTINFO)ipacket; if (null == packet) { return((uint)PACKET_EXE.PACKET_EXE_ERROR); } //enter your logic bool bHasRemoveOP = false; for (int nImpactIndex = 0; nImpactIndex < packet.impactIdCount; nImpactIndex++) { if (packet.GetImpactId(nImpactIndex) == -1) { continue; } //添加 if (nImpactIndex < packet.isAddCount && packet.GetIsAdd(nImpactIndex) == 1) { ClientImpactInfo _impactInfo = new ClientImpactInfo(); _impactInfo.CleanUp(); _impactInfo.ImpactId = packet.GetImpactId(nImpactIndex); if (nImpactIndex < packet.impactLogicIdCount) { _impactInfo.ImpactLogicId = packet.GetImpactLogicId(nImpactIndex); } if (nImpactIndex < packet.isForeverCount) { _impactInfo.IsForever = (packet.GetIsForever(nImpactIndex) == 1 ? true : false); } if (nImpactIndex < packet.remainTimeCount) { _impactInfo.RemainTime = packet.GetRemainTime(nImpactIndex) / 1.0f; } GameManager.gameManager.PlayerDataPool.ClientImpactInfo.Add(_impactInfo); if (_impactInfo.ImpactId == GlobeVar.MOUNTCRASH_IMPACTID) { if (BackCamerControll.Instance() != null) { BackCamerControll.Instance().PlaySceneEffect(434); } } } else //移除 { for (int i = 0; i < GameManager.gameManager.PlayerDataPool.ClientImpactInfo.Count; i++) { if (GameManager.gameManager.PlayerDataPool.ClientImpactInfo[i].ImpactId == packet.GetImpactId(nImpactIndex)) { if (GameManager.gameManager.PlayerDataPool.ClientImpactInfo[i].ImpactId == GlobeVar.MOUNTCRASH_IMPACTID) { if (BackCamerControll.Instance() != null) { BackCamerControll.Instance().StopSceneEffect(434, false); } } if (GameManager.gameManager.PlayerDataPool.ClientImpactInfo[i].ImpactId >= GlobeVar.XP_IMPACT_MIN_ID && GameManager.gameManager.PlayerDataPool.ClientImpactInfo[i].ImpactId <= GlobeVar.XP_IMPACT_MAX_ID) { bHasRemoveOP = true; } ClientImpactInfo _TmpInfo = new ClientImpactInfo(); _TmpInfo.CleanUp(); GameManager.gameManager.PlayerDataPool.ClientImpactInfo[i] = _TmpInfo; } } } } //清除无效的 List <ClientImpactInfo> impactList = new List <ClientImpactInfo>(); for (int i = 0; i < GameManager.gameManager.PlayerDataPool.ClientImpactInfo.Count; ++i) { if (GameManager.gameManager.PlayerDataPool.ClientImpactInfo[i].IsVaild() == false) { impactList.Add(GameManager.gameManager.PlayerDataPool.ClientImpactInfo[i]); } } for (int i = 0; i < impactList.Count; ++i) { GameManager.gameManager.PlayerDataPool.ClientImpactInfo.Remove(impactList[i]); } //更新主角头像图标 if (PlayerFrameLogic.Instance() != null) { PlayerFrameLogic.Instance().UpdateBuffIcon(); } Obj_MainPlayer _mainPlayer = Singleton <ObjManager> .GetInstance().MainPlayer; if (_mainPlayer != null && _mainPlayer.GetCurrentChangeState() != _mainPlayer.CurChangeState) { _mainPlayer.CurChangeState = _mainPlayer.GetCurrentChangeState(); if (SkillBarLogic.Instance() != null) { SkillBarLogic.Instance().OnClickXpClose(); } if ((int)Games.GlobeDefine.GameDefine_Globe.ChangeModeState.CHANGE_2 == _mainPlayer.CurChangeState || (int)Games.GlobeDefine.GameDefine_Globe.ChangeModeState.CHANGE_1 == _mainPlayer.CurChangeState) { Singleton <ObjManager> .GetInstance().ChangeMainPlayer(); } else { if ((int)Games.GlobeDefine.GameDefine_Globe.ChangeModeState.NORMAL == _mainPlayer.CurChangeState) { Singleton <ObjManager> .GetInstance().ChangeMainPlayerToNormal(); } } if (SkillBarLogic.Instance() != null) { SkillBarLogic.Instance().CleanUpSkillBarInfo(); SkillBarLogic.Instance().UpdateSkillBarInfo(); SkillBarLogic.Instance().CleanUpAttackBarInfo(); SkillBarLogic.Instance().SetChangeModeAttackBtn(); SkillBarLogic.Instance().UpdateSkillActiveByChangeState(_mainPlayer.CurChangeState); } } // //当移除了变身之后,需要恢复原先的技能 // if ( bHasRemoveOP && _mainPlayer != null && SkillBarLogic.Instance() // && _mainPlayer.CurChangeState == (int)Games.GlobeDefine.GameDefine_Globe.ChangeModeState.NORMAL) // { // SkillBarLogic.Instance().ShowAfterChangeSkill(false); // SkillBarLogic.Instance().CleanUpSkillBarInfo(); // SkillBarLogic.Instance().SaveNotChangeModeSkillBarInfo(); // SkillBarLogic.Instance().OnClickXpClose(); // } return((uint)PACKET_EXE.PACKET_EXE_CONTINUE); }