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_MOVE packet = (GC_MOVE )ipacket; if (null == packet) { return((uint)PACKET_EXE.PACKET_EXE_ERROR); } //enter your logic return((uint)PACKET_EXE.PACKET_EXE_CONTINUE); }
//根据服务器GC_MOVE包插入新的路经点 public void InsertAutoMovePoint(GC_MOVE packet) { if (Cutscene.CutsceneManager.Instance.IsPlayingCutscene) { return; } //if (null == m_posList || null == m_BindObj) //{ // return; //} if (null == m_BindObj) { return; } //校验ServerID if (packet.Serverid != m_BindObj.ServerID) { return; } bool isChange = false; for (int i = 0; i < packet.posserialCount; ++i) { AutoMovePos pos = new AutoMovePos(); pos.m_nPosSerial = packet.posserialList[i]; pos.m_fDstPosX = ((float)packet.posxList[i]) / 100; pos.m_fDstPosZ = ((float)packet.poszList[i]) / 100; //措施,当发现堆积点过多的时候,清空一下,只插入头一个点 //if (m_posList.Count >= 32) //{ // ResetAutoMove(); //} //m_posList.Add(pos); if (IsRightPosSerial(pos.m_nPosSerial)) { m_nCurPosSerial = pos.m_nPosSerial; m_AutoMovePos = pos; isChange = true; } } if (isChange && m_AutoMovePos.m_nPosSerial >= 0) { BeginMove(m_AutoMovePos); } }
public uint Execute(PacketDistributed ipacket) { GC_MOVE packet = (GC_MOVE)ipacket; if (null == packet) { return((uint)PACKET_EXE.PACKET_EXE_ERROR); } //临时代码,先返回,调试的时候打开 //return (uint)PACKET_EXE.PACKET_EXE_CONTINUE; //判断ServerID if (packet.Serverid == GlobeVar.INVALID_ID) { return((uint)PACKET_EXE.PACKET_EXE_CONTINUE); } //查找该NPC Obj_Character obj = Singleton <ObjManager> .GetInstance().FindObjCharacterInScene(packet.Serverid); if (null == obj) { return((uint)PACKET_EXE.PACKET_EXE_CONTINUE); } //主玩家,消息包无效 if (obj.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_MAIN_PLAYER) { return((uint)PACKET_EXE.PACKET_EXE_CONTINUE); } //主玩家伙伴,消息包无效 if (obj.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_FELLOW) { Obj_Fellow objFellow = obj as Obj_Fellow; if (objFellow.OwnerObjId == Singleton <ObjManager> .GetInstance().MainPlayer.ServerID) { return((uint)PACKET_EXE.PACKET_EXE_CONTINUE); } } if (obj.ObjType == Games.GlobeDefine.GameDefine_Globe.OBJ_TYPE.OBJ_OTHER_PLAYER) { Obj_OtherPlayer objOther = obj as Obj_OtherPlayer; if (null != objOther) { if (objOther.QingGongState == true || objOther.IsLightState == true || objOther.BindParent > 0) { return((uint)PACKET_EXE.PACKET_EXE_CONTINUE); } if (objOther.AnimLogic != null && objOther.AnimLogic.CurAnimData != null) { if (objOther.AnimLogic.CurAnimData.AnimID == (int)CharacterDefine.CharacterAnimId.Hit) { objOther.AnimLogic.Stop(); } else if (objOther.SkillCore != null && objOther.SkillCore.UsingSkillBaseInfo != null && objOther.SkillCore.UsingSkillBaseInfo.IsMove != 1) { int nAnimationId = objOther.SkillCore.UsingSkillStartAni; while (nAnimationId != GlobeVar.INVALID_ID) { if (nAnimationId == objOther.AnimLogic.CurAnimData.AnimID) { objOther.AnimLogic.Stop(); break; } Tab_Animation tabAnimation = TableManager.GetAnimationByID(nAnimationId, 0); if (tabAnimation == null) { break; } nAnimationId = tabAnimation.NextAnimId; } } } if (objOther.SkillCore.UsingSkillStartAni != GlobeVar.INVALID_ID && objOther.SkillCore.UsingSkillBaseInfo == null) { objOther.SkillCore.UsingSkillStartAni = GlobeVar.INVALID_ID; } } } //查找Obj是否绑定AutoMove组件 AutoMove autoMove = obj.AutoMoveComponent; if (null != autoMove) { autoMove.InsertAutoMovePoint(packet); } 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 static PacketDistributed CreatePacket(MessageID packetID) { PacketDistributed packet = null; switch (packetID) { case MessageID.PACKET_CG_ABANDONMISSION: { packet = new CG_ABANDONMISSION(); } break; case MessageID.PACKET_CG_ACCEPTMISSION: { packet = new CG_ACCEPTMISSION(); } break; case MessageID.PACKET_CG_ASK_SETCOMMONFLAG: { packet = new CG_ASK_SETCOMMONFLAG(); } break; case MessageID.PACKET_CG_COMPLETEMISSION: { packet = new CG_COMPLETEMISSION(); } 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_ENTER_SCENE_OK: { packet = new CG_ENTER_SCENE_OK(); } 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_PING: { packet = new CG_PING(); } break; case MessageID.PACKET_CG_REQ_CHANGE_SCENE: { packet = new CG_REQ_CHANGE_SCENE(); } break; case MessageID.PACKET_CG_REQ_RANDOMNAME: { packet = new CG_REQ_RANDOMNAME(); } break; case MessageID.PACKET_CG_SELECTROLE: { packet = new CG_SELECTROLE(); } break; case MessageID.PACKET_CG_SYNC_POS: { packet = new CG_SYNC_POS(); } break; case MessageID.PACKET_GC_ABANDONMISSION_RET: { packet = new GC_ABANDONMISSION_RET(); } break; case MessageID.PACKET_GC_ACCEPTMISSION_RET: { packet = new GC_ACCEPTMISSION_RET(); } break; case MessageID.PACKET_GC_ASK_COMMONFLAG_RET: { packet = new GC_ASK_COMMONFLAG_RET(); } break; case MessageID.PACKET_GC_BROADCAST_ATTR: { packet = new GC_BROADCAST_ATTR(); } break; case MessageID.PACKET_GC_COMPLETEMISSION_RET: { packet = new GC_COMPLETEMISSION_RET(); } 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_CREATE_PLAYER: { packet = new GC_CREATE_PLAYER(); } break; case MessageID.PACKET_GC_DELETE_OBJ: { packet = new GC_DELETE_OBJ(); } break; case MessageID.PACKET_GC_ENTER_SCENE: { packet = new GC_ENTER_SCENE(); } 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_MISSION_PARAM: { packet = new GC_MISSION_PARAM(); } break; case MessageID.PACKET_GC_MISSION_STATE: { packet = new GC_MISSION_STATE(); } break; case MessageID.PACKET_GC_MISSION_SYNC_MISSIONLIST: { packet = new GC_MISSION_SYNC_MISSIONLIST(); } break; case MessageID.PACKET_GC_MOVE: { packet = new GC_MOVE(); } break; case MessageID.PACKET_GC_NOTICE: { packet = new GC_NOTICE(); } break; case MessageID.PACKET_GC_RET_PING: { packet = new GC_RET_PING(); } break; case MessageID.PACKET_GC_RET_RANDOMNAME: { packet = new GC_RET_RANDOMNAME(); } break; case MessageID.PACKET_GC_SELECTROLE_RET: { packet = new GC_SELECTROLE_RET(); } break; case MessageID.PACKET_GC_STOP: { packet = new GC_STOP(); } break; case MessageID.PACKET_GC_SYNC_COMMONDATA: { packet = new GC_SYNC_COMMONDATA(); } break; case MessageID.PACKET_GC_SYNC_COMMONFLAG: { packet = new GC_SYNC_COMMONFLAG(); } break; case MessageID.PACKET_GC_SYNC_POS: { packet = new GC_SYNC_POS(); } break; case MessageID.PACKET_GC_SYN_ATTR: { packet = new GC_SYN_ATTR(); } break; } if (null != packet) { packet.packetID = packetID; } return(packet); }