//-----------------------------------------以下为界面消息处理-------------------------------------- public void onEventPlay(object data) { if (!checkSelfTurn()) { //给予提示,不该自己操作 CommonUtil.Util.showDialog("温馨提示", "当前不是您的回合阶段哟~"); return; } if (Room.Room.getHasAbandon()) { //已经投降了,不能操作 CommonUtil.Util.showDialog("温馨提示", "您已经投降过了~"); return; } GameEvent.sV2C_Play play = (GameEvent.sV2C_Play)data; msgLianQiReqPlay rplay = new msgLianQiReqPlay(); rplay.direction = (LIANQI_DIRECTION_TYPE)play.direction; rplay.seat = Room.Room.selfSeat; rplay.x = play.x; rplay.y = play.y; ProtocolManager.getInstance().sendMsg(GameLianQiProtocol.P_GAME_LIANQI_REQ_PLAY, rplay, OnRespPlay); }
public override void ChannelRead(IChannelHandlerContext ctx, object msg) { ProtocolCode protocolCode = ctx.Channel.GetAttribute(Connection.PROTOCOL).Get(); Protocol protocol = ProtocolManager.getProtocol(protocolCode); protocol.CommandHandler.handleCommand(new RemotingContext(ctx, new InvokeContext(), serverSide, userProcessors), msg); }
public void onEventMove(object data) { if (!checkSelfTurn()) { //给予提示,不该自己操作 CommonUtil.Util.showDialog("温馨提示", "当前不是您的回合阶段哟~"); return; } if (Room.Room.getHasAbandon()) { //已经投降了,不能操作 return; } GameEvent.sV2C_Move move = (GameEvent.sV2C_Move)data; msgLianQiReqMove rmove = new msgLianQiReqMove(); rmove.direction = (LIANQI_DIRECTION_TYPE)move.direction; rmove.seat = Room.Room.selfSeat; rmove.x = move.x; rmove.y = move.y; ProtocolManager.getInstance().sendMsg(GameLianQiProtocol.P_GAME_LIANQI_REQ_MOVE, rmove, OnRespMove); }
public void removeAllEvent() { //注册界面消息 GameEvent.EM().RemoveEvent(GameEvent.EVENT.PLAY); GameEvent.EM().RemoveEvent(GameEvent.EVENT.ABANDON); GameEvent.EM().RemoveEvent(GameEvent.EVENT.DRAW); GameEvent.EM().RemoveEvent(GameEvent.EVENT.MOVE); GameEvent.EM().RemoveEvent(GameEvent.EVENT.PASS); //注册网络消息 ProtocolManager.getInstance().removePushMsgEventListener(GameLianQiProtocol.P_GAME_LIANQI_START); //联棋游戏开始 -播放相关动画 ProtocolManager.getInstance().removePushMsgEventListener(GameLianQiProtocol.P_GAME_LIANQI_FLAG); //标志,诸如重连,特殊棋型出现 ProtocolManager.getInstance().removePushMsgEventListener(GameLianQiProtocol.P_GAME_LIANQI_QI); //联棋棋盘数据 ProtocolManager.getInstance().removePushMsgEventListener(GameLianQiProtocol.P_GAME_LIANQI_RESP_DRAW); //请和响应 ProtocolManager.getInstance().removePushMsgEventListener(GameLianQiProtocol.P_GAME_LIANQI_RESP_MOVE); //请求移动响应 ProtocolManager.getInstance().removePushMsgEventListener(GameLianQiProtocol.P_GAME_LIANQI_RESP_PASS); //请求过 ProtocolManager.getInstance().removePushMsgEventListener(GameLianQiProtocol.P_GAME_LIANQI_RESP_PLAY); //请求落子 ProtocolManager.getInstance().removePushMsgEventListener(GameLianQiProtocol.P_GAME_LIANQI_RESULT); //结算 ProtocolManager.getInstance().removePushMsgEventListener(GameLianQiProtocol.P_GAME_LIANQI_TURN); //该谁落子 ProtocolManager.getInstance().removePushMsgEventListener(GameLianQiProtocol.P_GAME_LIANQI_RESP_ABANDON); //联棋投降 ProtocolManager.getInstance().removePushMsgEventListener(GameLianQiProtocol.P_GAME_LIANQI_ABANDON_PASS); //投降玩家自动pass Game.Game.reset(); }
public override void Deserialize(IDataReader reader) { m_effect = ProtocolManager.GetTypeInstance <AbstractFightDispellableEffect>(reader.ReadUShort()); m_effect.Deserialize(reader); m_actionId = reader.ReadVarUhShort(); m_sourceId = reader.ReadDouble(); }
public override void Deserialize(IDataReader reader) { m_infos = ProtocolManager.GetTypeInstance <AllianceFactSheetInformations>(reader.ReadUShort()); m_infos.Deserialize(reader); int guildsCount = reader.ReadUShort(); int guildsIndex; m_guilds = new System.Collections.Generic.List <GuildInAllianceInformations>(); for (guildsIndex = 0; (guildsIndex < guildsCount); guildsIndex = (guildsIndex + 1)) { GuildInAllianceInformations objectToAdd = new GuildInAllianceInformations(); objectToAdd.Deserialize(reader); m_guilds.Add(objectToAdd); } int controlledSubareaIdsCount = reader.ReadUShort(); int controlledSubareaIdsIndex; m_controlledSubareaIds = new System.Collections.Generic.List <ushort>(); for (controlledSubareaIdsIndex = 0; (controlledSubareaIdsIndex < controlledSubareaIdsCount); controlledSubareaIdsIndex = (controlledSubareaIdsIndex + 1)) { m_controlledSubareaIds.Add(reader.ReadVarUhShort()); } m_leaderCharacterId = reader.ReadVarUhLong(); m_leaderCharacterName = reader.ReadUTF(); }
//三方登陆响应 public void onThirdPartyLoginResult(object data) { AccountEvent.ThirdPartyLoginResult ret = (AccountEvent.ThirdPartyLoginResult)data; //设置nowaccount的 third Account.thirdOpenID = ret.openId; Account.thirdToken = ret.token; //登陆 msgLogin msg = new msgLogin(); msg.userID = 0; msg.area = 1; //用户所选服务器 msg.appVersion = CommonUtil.Util.getAppVer(); msg.channelID = CommonUtil.Util.getChanelId(); msg.deviceID = SystemInfo.deviceUniqueIdentifier; msg.ipAddr = 1111; msg.loginType = (msgLogin.eLoginType)_loginType; msg.netWorkType = 1; msg.osVersion = 10000; msg.password = "******"; // msg.openID = ret.openId; msg.token = ret.token; msg.nickName = ret.name; msg.head = ret.head; msg.sex = ret.sex; msg.expireTime = ret.expireTime; //.. etc. ProtocolManager.getInstance().sendMsg(LobbyProtocol.P_LOBBY_REQ_LOGIN, msg, OnLoginSuccess); //显示加载,禁止点击 ViewManagerEvent.EM().InvokeEvent(ViewManagerEvent.EVENT.SHOW_LOADING_ANI, true); }
public override void Deserialize(IDataReader reader) { base.Deserialize(reader); m_humanoidInfo = ProtocolManager.GetTypeInstance <HumanInformations>(reader.ReadUShort()); m_humanoidInfo.Deserialize(reader); m_accountId = reader.ReadInt(); }
public MainViewModel() { _windowManager = new WindowManager(); TerminaFiles = new ObservableCollection <string>(); ImageFiles = new ObservableCollection <string>(); _protocol = new Protocol(this); _protocol.DateTimeChange += (sender, time) => { TerminalTime = time.ToString("T"); }; _protocol.InputChanged += OnInputChanged; _protocol.FileListChanged += OnFileListChanged; _protocol.TouchButton += OnTouchButton; _protocol.SystemInfoChanged += OnSystemInfoChanged; //_protocol.MediaRead += (sender, id, data) => ReadMedia = $"Id: {id} -> Card: {Encoding.UTF8.GetString(data)}"; _protocol.MediaRead += _protocol_MediaRead; _protocol.MediaReadSector += _protocol_MediaReadSector; _protocol.DeviceStateChanged += OnProtocol_DeviceStateChanged; TerminalTime = "--:--:--"; _protocolHelper = new ProtocolHelper(new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8 }); _connectionVm = new ConnectionViewModel(this); _protocolManager = new ProtocolManager(_protocolHelper, _protocol, this); _AutoIOTest = new AutoIOTest(_protocol, _protocolManager, this); _AutoReaderTest = new AutoReaderTest(_protocol, _protocolManager, this); _AutoCompleteTest = new AutoCompleteTest(_protocol, _protocolManager, this); _TimerAliveSignal = new System.Windows.Threading.DispatcherTimer(); _TimerAliveSignal.Tick += _TimerAliveSignal_Tick; _TimerAliveSignal.Interval = new TimeSpan(0, 0, 5); _TimerAliveSignal.Start(); }
public void onLogout(object data) { ProtocolManager.getInstance().Disconnect(); //断开,即退出的时候调用 //这个时候其实应该转到登陆界面 //to do }
void DestinationClient_DataReceived(object sender, Client.DataReceivedEventArgs e) { NetworkMessage message = ProtocolManager.GetPacket(e.Data.Data, (uint)e.Data.MessageId); Host.Dispatcher.DispatchMessage(message, Host); Logg.Log("From server :" + message.MessageId.ToString()); }
protected override void OnShown() { Trace.Call(); if (!IsPopulated) { IsPopulated = true; foreach (var chatView in ChatViewManager.Chats) { if (!(chatView is XmppGroupChatView)) { // only invite to group chats continue; } if (chatView == ChatViewManager.ActiveChat) { // don't need to add current chat to invite list continue; } if (chatView.ProtocolManager != ProtocolManager) { // only add chats from current server continue; } var groupChatView = (XmppGroupChatView)chatView; if (groupChatView.IsContactList) { // ignore our abused groupchatview continue; } var item = new Gtk.ImageMenuItem(chatView.Name); item.Image = new Gtk.Image(GroupChatView.IconPixbuf); var chatid = chatView.ID; item.Activated += delegate { var inviteFromChatModel = ChatViewManager.ActiveChat.ChatModel; ThreadPool.QueueUserWorkItem(delegate { try { for (int i = 0; i < Invitees.Count; i++) { ProtocolManager.CommandInvite( new CommandModel( Frontend.FrontendManager, inviteFromChatModel, chatid + " " + Invitees[i].ID ) ); } } catch (Exception ex) { Frontend.ShowException(ex); } }); }; item.Show(); Append(item); } } base.OnShown(); }
public override void Deserialize(IDataReader reader) { base.Deserialize(reader); m_status = ProtocolManager.GetTypeInstance <PlayerStatus>(reader.ReadUShort()); m_status.Deserialize(reader); int companionsCount = reader.ReadUShort(); int companionsIndex; m_companions = new System.Collections.Generic.List <PartyCompanionMemberInformations>(); for (companionsIndex = 0; (companionsIndex < companionsCount); companionsIndex = (companionsIndex + 1)) { PartyCompanionMemberInformations objectToAdd = new PartyCompanionMemberInformations(); objectToAdd.Deserialize(reader); m_companions.Add(objectToAdd); } m_lifePoints = reader.ReadVarUhInt(); m_maxLifePoints = reader.ReadVarUhInt(); m_prospecting = reader.ReadVarUhShort(); m_regenRate = reader.ReadSByte(); m_initiative = reader.ReadVarUhShort(); m_alignmentSide = reader.ReadByte(); m_worldX = reader.ReadShort(); m_worldY = reader.ReadShort(); m_mapId = reader.ReadInt(); m_subAreaId = reader.ReadVarUhShort(); }
/// <seealso cref= InvokeFuture#tryAsyncExecuteInvokeCallbackAbnormally() </seealso> public virtual void tryAsyncExecuteInvokeCallbackAbnormally() { try { Protocol protocol = ProtocolManager.getProtocol(Remoting.ProtocolCode.fromBytes(this.protocol)); if (null != protocol) { CommandHandler commandHandler = protocol.CommandHandler; if (null != commandHandler) { ExecutorService executor = commandHandler.DefaultExecutor; if (null != executor) { executor.execute(new TempRunnable(this)); } } else { logger.LogError("Executor null in commandHandler of protocolCode [{}].", this.protocol); } } else { logger.LogError("protocolCode [{}] not registered!", this.protocol); } } catch (System.Exception e) { logger.LogError("Exception caught when executing invoke callback abnormally.", e); } }
public override void Deserialize(IDataReader reader) { int enabledSkillsCount = reader.ReadUShort(); int enabledSkillsIndex; m_enabledSkills = new System.Collections.Generic.List <InteractiveElementSkill>(); for (enabledSkillsIndex = 0; (enabledSkillsIndex < enabledSkillsCount); enabledSkillsIndex = (enabledSkillsIndex + 1)) { InteractiveElementSkill objectToAdd = ProtocolManager.GetTypeInstance <InteractiveElementSkill>(reader.ReadUShort()); objectToAdd.Deserialize(reader); m_enabledSkills.Add(objectToAdd); } int disabledSkillsCount = reader.ReadUShort(); int disabledSkillsIndex; m_disabledSkills = new System.Collections.Generic.List <InteractiveElementSkill>(); for (disabledSkillsIndex = 0; (disabledSkillsIndex < disabledSkillsCount); disabledSkillsIndex = (disabledSkillsIndex + 1)) { InteractiveElementSkill objectToAdd = ProtocolManager.GetTypeInstance <InteractiveElementSkill>(reader.ReadUShort()); objectToAdd.Deserialize(reader); m_disabledSkills.Add(objectToAdd); } m_elementId = reader.ReadInt(); m_elementTypeId = reader.ReadInt(); m_onCurrentMap = reader.ReadBoolean(); }
public override void Deserialize(IDataReader reader) { int chosenIdolsCount = reader.ReadUShort(); int chosenIdolsIndex; m_chosenIdols = new System.Collections.Generic.List <ushort>(); for (chosenIdolsIndex = 0; (chosenIdolsIndex < chosenIdolsCount); chosenIdolsIndex = (chosenIdolsIndex + 1)) { m_chosenIdols.Add(reader.ReadVarUhShort()); } int partyChosenIdolsCount = reader.ReadUShort(); int partyChosenIdolsIndex; m_partyChosenIdols = new System.Collections.Generic.List <ushort>(); for (partyChosenIdolsIndex = 0; (partyChosenIdolsIndex < partyChosenIdolsCount); partyChosenIdolsIndex = (partyChosenIdolsIndex + 1)) { m_partyChosenIdols.Add(reader.ReadVarUhShort()); } int partyIdolsCount = reader.ReadUShort(); int partyIdolsIndex; m_partyIdols = new System.Collections.Generic.List <PartyIdol>(); for (partyIdolsIndex = 0; (partyIdolsIndex < partyIdolsCount); partyIdolsIndex = (partyIdolsIndex + 1)) { PartyIdol objectToAdd = ProtocolManager.GetTypeInstance <PartyIdol>(reader.ReadUShort()); objectToAdd.Deserialize(reader); m_partyIdols.Add(objectToAdd); } }
public override void Deserialize(IDataReader reader) { m_attacker = ProtocolManager.GetTypeInstance <CharacterMinimalPlusLookInformations>(reader.ReadUShort()); m_attacker.Deserialize(reader); m_subAreaId = reader.ReadVarUhShort(); m_fightId = reader.ReadVarUhShort(); }
private static void Cleanup() { Logger.WARN("Shutting down protocols manager"); ProtocolManager.Shutdown(); ProtocolManager.CleanupDeadProtocols(); Logger.WARN("Shutting down I/O handlers manager"); IOHandlerManager.ShutdownIOHandlers(); IOHandlerManager.DeleteDeadHandlers(); IOHandlerManager.Shutdown(); Logger.WARN("Unregister and delete default protocol handler"); ProtocolFactoryManager.UnRegisterProtocolFactory(_protocolFactory); Logger.WARN("Shutting down applications"); ClientApplicationManager.Shutdown(); Logger.WARN("Delete the configuration"); _configFile = null; //Logger.WARN("Doing final OpenSSL cleanup"); //CleanupSSL(); Logger.WARN("Shutting down the logger leaving you in the dark. Bye bye... :("); Console.ReadKey(); }
void onEventReportTalent(object data) { RoomEvent.sV2C_PlayerTalentList ptl = (RoomEvent.sV2C_PlayerTalentList)data; msgTalentList ot = new msgTalentList(); ot.seat = Room.Room.selfSeat; ot.talentList = ""; //ot.talentList = string.Join(",",ptl.talentList); for (int i = 0; i < ptl.talentList.Count; i++) { if (i < ptl.talentList.Count - 1) { ot.talentList += ptl.talentList [i] + ","; } else { ot.talentList += ptl.talentList [i]; } } if (ptl.talentList.Count == 0) { ot.talentList = "0,0,0,0"; } ProtocolManager.getInstance().sendMsg(GameProtocol.P_GAME_REPORT_TALENT_LIST, ot, OnTalentList); }
public static void Init(ProtocolManager protocolManager) { protocolManager.AddProtocolObjectToDict((ProtocolNo)1, new LoginProtocolData()); protocolManager.AddUnPackClassStructToDict(User.DATAID, new List <object> { DefaultVar.INT32, DefaultVar.STRING, DefaultVar.STRING, DefaultVar.STRING }); }
public override void Deserialize(IDataReader reader) { int resultsCount = reader.ReadUShort(); int resultsIndex; m_results = new System.Collections.Generic.List <FightResultListEntry>(); for (resultsIndex = 0; (resultsIndex < resultsCount); resultsIndex = (resultsIndex + 1)) { FightResultListEntry objectToAdd = ProtocolManager.GetTypeInstance <FightResultListEntry>(reader.ReadUShort()); objectToAdd.Deserialize(reader); m_results.Add(objectToAdd); } int namedPartyTeamsOutcomesCount = reader.ReadUShort(); int namedPartyTeamsOutcomesIndex; m_namedPartyTeamsOutcomes = new System.Collections.Generic.List <NamedPartyTeamWithOutcome>(); for (namedPartyTeamsOutcomesIndex = 0; (namedPartyTeamsOutcomesIndex < namedPartyTeamsOutcomesCount); namedPartyTeamsOutcomesIndex = (namedPartyTeamsOutcomesIndex + 1)) { NamedPartyTeamWithOutcome objectToAdd = new NamedPartyTeamWithOutcome(); objectToAdd.Deserialize(reader); m_namedPartyTeamsOutcomes.Add(objectToAdd); } m_duration = reader.ReadInt(); m_ageBonus = reader.ReadShort(); m_lootShareLimitMalus = reader.ReadShort(); }
private void Leave(IUserToken token) { string userId = this._userBiz.GetUser(token).id; List <string> kickedUsers = new List <string>(); this._roomBiz.GetUserRoom(userId, out Room room); PResult result = this._roomBiz.Leave(userId, kickedUsers, out int destroiedRoomId); if (result == PResult.SUCCESS) { int count = kickedUsers.Count; for (int i = 0; i < count; i++) { IUserToken mToken = this._userBiz.GetToken(kickedUsers[i]); mToken.CALL_ROOM_ACMD_LEAVE_ROOM(); } this.BrocastRoomInfo(room); } this.Reply(token, Module.ROOM, Command.QCMD_LEAVE_ROOM, result); if (result == PResult.SUCCESS && destroiedRoomId != -1) { this._hallBiz.Brocast(ProtocolManager.PACKET_HALL_ACMD_BRO_ROOM_DESTROIED(destroiedRoomId)); } }
public override void Deserialize(IDataReader reader) { m_waitingForHelpInfo = new ProtectedEntityWaitingForHelpInfo(); m_waitingForHelpInfo.Deserialize(reader); int allyCharactersInformationsCount = reader.ReadUShort(); int allyCharactersInformationsIndex; m_allyCharactersInformations = new System.Collections.Generic.List <CharacterMinimalPlusLookInformations>(); for (allyCharactersInformationsIndex = 0; (allyCharactersInformationsIndex < allyCharactersInformationsCount); allyCharactersInformationsIndex = (allyCharactersInformationsIndex + 1)) { CharacterMinimalPlusLookInformations objectToAdd = ProtocolManager.GetTypeInstance <CharacterMinimalPlusLookInformations>(reader.ReadUShort()); objectToAdd.Deserialize(reader); m_allyCharactersInformations.Add(objectToAdd); } int enemyCharactersInformationsCount = reader.ReadUShort(); int enemyCharactersInformationsIndex; m_enemyCharactersInformations = new System.Collections.Generic.List <CharacterMinimalPlusLookInformations>(); for (enemyCharactersInformationsIndex = 0; (enemyCharactersInformationsIndex < enemyCharactersInformationsCount); enemyCharactersInformationsIndex = (enemyCharactersInformationsIndex + 1)) { CharacterMinimalPlusLookInformations objectToAdd = ProtocolManager.GetTypeInstance <CharacterMinimalPlusLookInformations>(reader.ReadUShort()); objectToAdd.Deserialize(reader); m_enemyCharactersInformations.Add(objectToAdd); } m_subAreaId = reader.ReadVarUhShort(); }
public static void Init(BattleParams param) { _init = true; _shouldSendActions = false; string model = ModelFactory.GetBattleData(Utils.GetIDFromRID(param.id)).model; CAIBakedNavmesh navmeshData = AssetsManager.LoadAsset <CAIBakedNavmesh>("scene/" + model + "_navmesh", "CAIBakedNavmesh"); _framesPerKeyFrame = param.framesPerKeyFrame; _frameRate = param.frameRate; _nextKeyFrame = param.framesPerKeyFrame; cBattle = new VBattle(param); lBattle = new Battle(param, navmeshData.GetNavmesh(), Env.LUA_ENV); _logicThread = new Thread(LogicWorker); _logicThread.IsBackground = true; _logicThread.Start(); NetModule.instance.AddACMDListener(Module.BATTLE, Command.ACMD_BATTLE_START, HandleBattleStart); NetModule.instance.AddACMDListener(Module.BATTLE, Command.ACMD_FRAME, HandleFrame); NetModule.instance.AddACMDListener(Module.BATTLE, Command.ACMD_BATTLE_END, HandleBattleEnd); NetModule.instance.Send(ProtocolManager.PACKET_BATTLE_QCMD_BATTLE_CREATED()); }
public void SignalDetachedFromInStream() { var protocol = ProtocolManager.GetProtocol(_rtpClient.protocolId); protocol?.EnqueueForDelete(); _rtspProtocol = null; }
public override void Deserialize(IDataReader reader) { byte flag = reader.ReadByte(); m_self = BooleanByteWrapper.GetFlag(flag, 0); m_verbose = BooleanByteWrapper.GetFlag(flag, 1); int socialGroupsCount = reader.ReadUShort(); int socialGroupsIndex; m_socialGroups = new System.Collections.Generic.List <AbstractSocialGroupInfos>(); for (socialGroupsIndex = 0; (socialGroupsIndex < socialGroupsCount); socialGroupsIndex = (socialGroupsIndex + 1)) { AbstractSocialGroupInfos objectToAdd = ProtocolManager.GetTypeInstance <AbstractSocialGroupInfos>(reader.ReadUShort()); objectToAdd.Deserialize(reader); m_socialGroups.Add(objectToAdd); } m_position = reader.ReadByte(); m_accountNickname = reader.ReadUTF(); m_accountId = reader.ReadInt(); m_playerName = reader.ReadUTF(); m_playerId = reader.ReadVarUhLong(); m_areaId = reader.ReadShort(); m_serverId = reader.ReadShort(); m_originServerId = reader.ReadShort(); m_playerState = reader.ReadByte(); }
public override void Deserialize(IDataReader reader) { int knownStepsListCount = reader.ReadUShort(); int knownStepsListIndex; m_knownStepsList = new System.Collections.Generic.List <TreasureHuntStep>(); for (knownStepsListIndex = 0; (knownStepsListIndex < knownStepsListCount); knownStepsListIndex = (knownStepsListIndex + 1)) { TreasureHuntStep objectToAdd = ProtocolManager.GetTypeInstance <TreasureHuntStep>(reader.ReadUShort()); objectToAdd.Deserialize(reader); m_knownStepsList.Add(objectToAdd); } int flagsCount = reader.ReadUShort(); int flagsIndex; m_flags = new System.Collections.Generic.List <TreasureHuntFlag>(); for (flagsIndex = 0; (flagsIndex < flagsCount); flagsIndex = (flagsIndex + 1)) { TreasureHuntFlag objectToAdd = new TreasureHuntFlag(); objectToAdd.Deserialize(reader); m_flags.Add(objectToAdd); } m_questType = reader.ReadByte(); m_startMapId = reader.ReadInt(); m_totalStepCount = reader.ReadByte(); m_checkPointCurrent = reader.ReadVarUhInt(); m_checkPointTotal = reader.ReadVarUhInt(); m_availableRetryCount = reader.ReadInt(); }
public override void Deserialize(IDataReader reader) { base.Deserialize(reader); int membersCount = reader.ReadUShort(); int membersIndex; m_members = new System.Collections.Generic.List <PartyMemberInformations>(); for (membersIndex = 0; (membersIndex < membersCount); membersIndex = (membersIndex + 1)) { PartyMemberInformations objectToAdd = ProtocolManager.GetTypeInstance <PartyMemberInformations>(reader.ReadUShort()); objectToAdd.Deserialize(reader); m_members.Add(objectToAdd); } int guestsCount = reader.ReadUShort(); int guestsIndex; m_guests = new System.Collections.Generic.List <PartyGuestInformations>(); for (guestsIndex = 0; (guestsIndex < guestsCount); guestsIndex = (guestsIndex + 1)) { PartyGuestInformations objectToAdd = new PartyGuestInformations(); objectToAdd.Deserialize(reader); m_guests.Add(objectToAdd); } m_partyType = reader.ReadByte(); m_partyLeaderId = reader.ReadVarUhLong(); m_maxParticipants = reader.ReadByte(); m_restricted = reader.ReadBoolean(); m_partyName = reader.ReadUTF(); }
public void Enter(object param) { NetModule.instance.AddACMDListener(Module.HALL, Command.ACMD_BRO_ROOM_CREATED, this.OnRoomCreated); NetModule.instance.AddACMDListener(Module.HALL, Command.ACMD_BRO_ROOM_DESTROIED, this.OnRoomDestroy); NetModule.instance.AddACMDListener(Module.HALL, Command.ACMD_ROOM_LIST, this.OnRoomList); NetModule.instance.AddACMDListener(Module.HALL, Command.ACMD_JOIN_ROOM, this.OnEnterRoom); NetModule.instance.AddQCMDListener(Module.HALL, Command.QCMD_CREATE_ROOM, this.OnCreateRoomResult); NetModule.instance.AddQCMDListener(Module.HALL, Command.QCMD_JOIN_ROOM, this.OnJoinRoomResult); this._root = UIPackage.CreateObject("hall", "Main").asCom; GRoot.inst.AddChild(this._root); this._root.size = GRoot.inst.size; this._createWin = new CreateRoomWin(); this._joinPopup = UIPackage.CreateObject("hall", "弹出").asCom; this._joinPopup["n0"].asButton.onClick.Add(this.OnJoinRoomBtnClick); GButton createBtn = this._root["create"].asButton; createBtn.onClick.Add(this.OnCreateBtnClick); GList list = this._root["list"].asList; list.onClickItem.Add(this.OnClickItem); this._root.ShowModalWait(); NetModule.instance.Send(ProtocolManager.PACKET_HALL_QCMD_ROOM_LIST(255, 0)); }
public override void Deserialize(IDataReader reader) { int fightTeamsCount = reader.ReadUShort(); int fightTeamsIndex; m_fightTeams = new System.Collections.Generic.List <FightTeamInformations>(); for (fightTeamsIndex = 0; (fightTeamsIndex < fightTeamsCount); fightTeamsIndex = (fightTeamsIndex + 1)) { FightTeamInformations objectToAdd = ProtocolManager.GetTypeInstance <FightTeamInformations>(reader.ReadUShort()); objectToAdd.Deserialize(reader); m_fightTeams.Add(objectToAdd); } int fightTeamsPositionsCount = reader.ReadUShort(); int fightTeamsPositionsIndex; m_fightTeamsPositions = new System.Collections.Generic.List <ushort>(); for (fightTeamsPositionsIndex = 0; (fightTeamsPositionsIndex < fightTeamsPositionsCount); fightTeamsPositionsIndex = (fightTeamsPositionsIndex + 1)) { m_fightTeamsPositions.Add(reader.ReadVarUhShort()); } int fightTeamsOptionsCount = reader.ReadUShort(); int fightTeamsOptionsIndex; m_fightTeamsOptions = new System.Collections.Generic.List <FightOptionsInformations>(); for (fightTeamsOptionsIndex = 0; (fightTeamsOptionsIndex < fightTeamsOptionsCount); fightTeamsOptionsIndex = (fightTeamsOptionsIndex + 1)) { FightOptionsInformations objectToAdd = new FightOptionsInformations(); objectToAdd.Deserialize(reader); m_fightTeamsOptions.Add(objectToAdd); } m_fightId = reader.ReadInt(); m_fightType = reader.ReadByte(); }
public void IsProtocolNegotiationPositive() { var mgr = new ProtocolManager(0); var message = new Message { MessageType = ProtocolManager.NegotiationMessageTypeName }; Assert.True(mgr.IsProtocolNegotiation(message)); }
public void NegotiateMissingVersion() { var mgr = new ProtocolManager(5); var message = new Message { MessageType = ProtocolManager.NegotiationMessageTypeName }; Assert.Equal(1, mgr.CurrentVersion); }
public void CreateProtocolManagerWithVersion() { var version = 101; var mgr = new ProtocolManager(version); Assert.NotNull(mgr); Assert.Equal(version, mgr.MaxVersion); Assert.Equal(1, mgr.CurrentVersion); Assert.False(mgr.EnvironmentOverridden); }
public void NegotiateVersionZeroIsIgnored() { var mgr = new ProtocolManager(5); var message = new Message { MessageType = ProtocolManager.NegotiationMessageTypeName, Payload = JToken.FromObject(new { Version = 0 }) }; Assert.Equal(1, mgr.CurrentVersion); }
public void NegotiateVersion(int highestVersion, int requestVersion, int expectResult) { var mgr = new ProtocolManager(highestVersion); var message = new Message { ContextId = 0, HostId = Guid.NewGuid().ToString(), MessageType = ProtocolManager.NegotiationMessageTypeName, Sender = null, // send is allowed to be null Payload = JToken.FromObject(new { Version = requestVersion }) }; mgr.Negotiate(message); Assert.Equal(expectResult, mgr.CurrentVersion); }
static int Main(string[] args) { ProtocolManager protocol; TextWriter writer; try { if (args.Length < 3) { Console.WriteLine("Invalid arguments, need [message_template.msg] [template.cs] [_Packets_.cs]"); return -1; } writer = new StreamWriter(args[2]); protocol = new ProtocolManager(args[0]); TextReader reader = new StreamReader(args[1]); writer.WriteLine(reader.ReadToEnd()); reader.Close(); } catch (Exception e) { Console.WriteLine(e.ToString()); return -2; } // Write the PacketType enum writer.WriteLine(" /// <summary>Used to identify the type of a packet</summary>"); writer.WriteLine(" public enum PacketType\n {\n" + " /// <summary>A generic value, not an actual packet type</summary>\n" + " Default,"); foreach (MapPacket packet in protocol.LowMaps) { if (packet != null) { writer.WriteLine(" /// <summary>" + packet.Name + "</summary>"); writer.WriteLine(" " + packet.Name + ","); } } foreach (MapPacket packet in protocol.MediumMaps) { if (packet != null) { writer.WriteLine(" /// <summary>" + packet.Name + "</summary>"); writer.WriteLine(" " + packet.Name + ","); } } foreach (MapPacket packet in protocol.HighMaps) { if (packet != null) { writer.WriteLine(" /// <summary>" + packet.Name + "</summary>"); writer.WriteLine(" " + packet.Name + ","); } } writer.WriteLine(" }\n"); // Write the base Packet class writer.WriteLine(" /// <summary>Base class for all packet classes</summary>\n" + " public abstract class Packet\n {\n" + " /// <summary>Either a LowHeader, MediumHeader, or HighHeader representing the first bytes of the packet</summary>\n" + " public abstract Header Header { get; set; }\n" + " /// <summary>The type of this packet, identified by it's frequency and ID</summary>\n" + " public abstract PacketType Type { get; }\n" + " /// <summary>Used internally to track timeouts, do not use</summary>\n" + " public int TickCount;\n\n" + " /// <summary>Serializes the packet in to a byte array</summary>\n" + " /// <returns>A byte array containing the serialized packet payload, ready to be sent across the wire</returns>\n" + " public abstract byte[] ToBytes();\n\n" + " /// <summary>Get the PacketType for a given packet id and packet frequency</summary>\n" + " /// <param name=\"id\">The packet ID from the header</param>\n" + " /// <param name=\"frequency\">Frequency of this packet</param>\n" + " /// <returns>The packet type, or PacketType.Default</returns>\n" + " public static PacketType GetType(ushort id, PacketFrequency frequency)\n {\n" + " switch (frequency)\n {\n case PacketFrequency.Low:\n" + " switch (id)\n {"); foreach (MapPacket packet in protocol.LowMaps) { if (packet != null) { writer.WriteLine(" case " + packet.ID + ": return PacketType." + packet.Name + ";"); } } writer.WriteLine(" }\n break;\n" + " case PacketFrequency.Medium:\n switch (id)\n {"); foreach (MapPacket packet in protocol.MediumMaps) { if (packet != null) { writer.WriteLine(" case " + packet.ID + ": return PacketType." + packet.Name + ";"); } } writer.WriteLine(" }\n break;\n" + " case PacketFrequency.High:\n switch (id)\n {"); foreach (MapPacket packet in protocol.HighMaps) { if (packet != null) { writer.WriteLine(" case " + packet.ID + ": return PacketType." + packet.Name + ";"); } } writer.WriteLine(" }\n break;\n }\n\n" + " return PacketType.Default;\n }\n"); writer.WriteLine(" /// <summary>Construct a packet in it's native class from a byte array</summary>\n" + " /// <param name=\"bytes\">Byte array containing the packet, starting at position 0</param>\n" + " /// <param name=\"packetEnd\">The last byte of the packet. If the packet was 76 bytes long, packetEnd would be 75</param>\n" + " /// <returns>The native packet class for this type of packet, typecasted to the generic Packet</returns>\n" + " public static Packet BuildPacket(byte[] bytes, ref int packetEnd)\n" + " {\n ushort id;\n int i = 0;\n" + " Header header = Header.BuildHeader(bytes, ref i, ref packetEnd);\n" + " if (header.Zerocoded)\n {\n" + " byte[] zeroBuffer = new byte[8192];\n" + " packetEnd = Helpers.ZeroDecode(bytes, packetEnd + 1, zeroBuffer) - 1;\n" + " bytes = zeroBuffer;\n }\n\n" + " if (bytes[4] == 0xFF)\n {\n" + " if (bytes[5] == 0xFF)\n {\n" + " id = (ushort)((bytes[6] << 8) + bytes[7]);\n" + " switch (id)\n {"); foreach (MapPacket packet in protocol.LowMaps) { if (packet != null) { writer.WriteLine(" case " + packet.ID + ": return new " + packet.Name + "Packet(header, bytes, ref i);"); } } writer.WriteLine(" }\n }\n else\n" + " {\n id = (ushort)bytes[5];\n" + " switch (id)\n {"); foreach (MapPacket packet in protocol.MediumMaps) { if (packet != null) { writer.WriteLine(" case " + packet.ID + ": return new " + packet.Name + "Packet(header, bytes, ref i);"); } } writer.WriteLine(" }\n }\n }\n" + " else\n {\n" + " id = (ushort)bytes[4];\n" + " switch (id)\n {"); foreach (MapPacket packet in protocol.HighMaps) { if (packet != null) { writer.WriteLine(" case " + packet.ID + ": return new " + packet.Name + "Packet(header, bytes, ref i);"); } } writer.WriteLine(" }\n }\n\n" + " throw new MalformedDataException(\"Unknown packet ID\");\n" + " }\n }\n"); // Write the packet classes foreach (MapPacket packet in protocol.LowMaps) { if (packet != null) { WritePacketClass(writer, packet); } } foreach (MapPacket packet in protocol.MediumMaps) { if (packet != null) { WritePacketClass(writer, packet); } } foreach (MapPacket packet in protocol.HighMaps) { if (packet != null) { WritePacketClass(writer, packet); } } writer.WriteLine("}"); writer.Close(); return 0; }
//Initializes the player variables public void init(bool player1) { // get protocolManager from GameManager protocols = GameManager.protocols; deck = new ArrayList (); hand = new ArrayList (); GraveYard = new ArrayList (); cardsInPlay = new ArrayList (); treeID = new ArrayList (); //Set's player's coordinates of interest for p1 and p2 setPlayerNum (player1); //Creates the player's tree and mana displayer createTree (); createMana (); }
void Start() { // Needed to to fade into scene Game.StartEnterTransition (); showLoading = 300; //5 seconds popup = GameObject.Find ("Loading"); protocols = (ProtocolManager)gameObject.AddComponent ("ProtocolManager"); protocols.init (); enabled = true; player1 = (BattlePlayer)gameObject.AddComponent ("BattlePlayer"); player1.init (true); player1.playerID = GameState.player.GetID (); Debug.Log ("player1 ID : " + player1.playerID); player1.playerName = GameState.player.GetName (); // initialize match here if (Constants.SINGLE_PLAYER) { player2 = (BattlePlayer)gameObject.AddComponent ("BattlePlayer"); player2.init (false); player2.playerName = "Player 2"; } else { // TODO: Need different logic here to make player 2 // not have cards dealt face up, etx. player2 = (BattlePlayer)gameObject.AddComponent ("BattlePlayer"); player2.init (false); player2.playerName = "Player 2"; } // Send MatchStatus protocol initMatch (); curPlayer = player1; GameManager.manager = this; // Poll for turn updates //StartCoroutine(PollAction(Constants.UPDATE_RATE)); }
static int Main(string[] args) { ProtocolManager protocol; List<string> unused = new List<string>(); TextWriter writer; try { if (args.Length != 4) { Console.WriteLine("Usage: [message_template.msg] [template.cs] [unusedpackets.txt] [_Packets_.cs]"); return -1; } writer = new StreamWriter(args[3]); protocol = new ProtocolManager(args[0]); // Build a list of unused packets using (StreamReader unusedReader = new StreamReader(args[2])) { while (unusedReader.Peek() >= 0) { unused.Add(unusedReader.ReadLine().Trim()); } } // Read in the template.cs file and write it to our output TextReader reader = new StreamReader(args[1]); writer.WriteLine(reader.ReadToEnd()); reader.Close(); } catch (Exception e) { Console.WriteLine(e.ToString()); return -2; } // Prune all of the unused packets out of the protocol int i = 0; foreach (MapPacket packet in protocol.LowMaps) { if (packet != null && unused.Contains(packet.Name)) protocol.LowMaps[i] = null; i++; } i = 0; foreach (MapPacket packet in protocol.MediumMaps) { if (packet != null && unused.Contains(packet.Name)) protocol.MediumMaps[i] = null; i++; } i = 0; foreach (MapPacket packet in protocol.HighMaps) { if (packet != null && unused.Contains(packet.Name)) protocol.HighMaps[i] = null; i++; } // Write the PacketType enum writer.WriteLine(" public enum PacketType" + Environment.NewLine + " {" + Environment.NewLine + " /// <summary>A generic value, not an actual packet type</summary>" + Environment.NewLine + " Default,"); foreach (MapPacket packet in protocol.LowMaps) if (packet != null) writer.WriteLine(" " + packet.Name + " = " + (0x10000 | packet.ID) + ","); foreach (MapPacket packet in protocol.MediumMaps) if (packet != null) writer.WriteLine(" " + packet.Name + " = " + (0x20000 | packet.ID) + ","); foreach (MapPacket packet in protocol.HighMaps) if (packet != null) writer.WriteLine(" " + packet.Name + " = " + (0x30000 | packet.ID) + ","); writer.WriteLine(" }" + Environment.NewLine); // Write all of the XmlInclude statements for the Packet class to allow packet serialization writer.WriteLine("#if PACKETSERIALIZE"); foreach (MapPacket packet in protocol.LowMaps) if (packet != null) writer.WriteLine(" [XmlInclude(typeof(" + packet.Name + "Packet))]"); foreach (MapPacket packet in protocol.MediumMaps) if (packet != null) writer.WriteLine(" [XmlInclude(typeof(" + packet.Name + "Packet))]"); foreach (MapPacket packet in protocol.HighMaps) if (packet != null) writer.WriteLine(" [XmlInclude(typeof(" + packet.Name + "Packet))]"); writer.WriteLine("#endif"); // Write the base Packet class writer.WriteLine( " public abstract class Packet" + Environment.NewLine + " {" + Environment.NewLine + " public abstract Header Header { get; set; }" + Environment.NewLine + " public abstract PacketType Type { get; }" + Environment.NewLine + " public int TickCount;" + Environment.NewLine + Environment.NewLine + " public abstract byte[] ToBytes();" + Environment.NewLine + Environment.NewLine + " public void ToXml(XmlWriter xmlWriter)" + Environment.NewLine + " {" + Environment.NewLine + " XmlSerializer serializer = new XmlSerializer(typeof(Packet));" + Environment.NewLine + " serializer.Serialize(xmlWriter, this);" + Environment.NewLine + " }"); // Write the Packet.GetType() function writer.WriteLine( " public static PacketType GetType(ushort id, PacketFrequency frequency)" + Environment.NewLine + " {" + Environment.NewLine + " switch (frequency)" + Environment.NewLine + " {" + Environment.NewLine + " case PacketFrequency.Low:" + Environment.NewLine + " switch (id)" + Environment.NewLine + " {"); foreach (MapPacket packet in protocol.LowMaps) if (packet != null) writer.WriteLine(" case " + packet.ID + ": return PacketType." + packet.Name + ";"); writer.WriteLine(" }" + Environment.NewLine + " break;" + Environment.NewLine + " case PacketFrequency.Medium:" + Environment.NewLine + " switch (id)" + Environment.NewLine + " {"); foreach (MapPacket packet in protocol.MediumMaps) if (packet != null) writer.WriteLine(" case " + packet.ID + ": return PacketType." + packet.Name + ";"); writer.WriteLine(" }" + Environment.NewLine + " break;" + Environment.NewLine + " case PacketFrequency.High:" + Environment.NewLine + " switch (id)" + Environment.NewLine + " {"); foreach (MapPacket packet in protocol.HighMaps) if (packet != null) writer.WriteLine(" case " + packet.ID + ": return PacketType." + packet.Name + ";"); writer.WriteLine(" }" + Environment.NewLine + " break;" + Environment.NewLine + " }" + Environment.NewLine + Environment.NewLine + " return PacketType.Default;" + Environment.NewLine + " }" + Environment.NewLine); // Write the Packet.BuildPacket() function writer.WriteLine( " public static Packet BuildPacket(byte[] bytes, ref int packetEnd, byte[] zeroBuffer)" + Environment.NewLine + " {" + Environment.NewLine + " ushort id; PacketFrequency freq;" + Environment.NewLine + " int i = 0;" + Environment.NewLine + " Header header = Header.BuildHeader(bytes, ref i, ref packetEnd);" + Environment.NewLine + " if (header.Zerocoded)" + Environment.NewLine + " {" + Environment.NewLine + " packetEnd = Helpers.ZeroDecode(bytes, packetEnd + 1, zeroBuffer) - 1;" + Environment.NewLine + " bytes = zeroBuffer;" + Environment.NewLine + " }" + Environment.NewLine + Environment.NewLine + " if (bytes[6] == 0xFF)" + Environment.NewLine + " {" + Environment.NewLine + " if (bytes[7] == 0xFF)" + Environment.NewLine + " {" + Environment.NewLine + " id = (ushort)((bytes[8] << 8) + bytes[9]); freq = PacketFrequency.Low;" + Environment.NewLine + " switch (id)" + Environment.NewLine + " {"); foreach (MapPacket packet in protocol.LowMaps) if (packet != null) writer.WriteLine(" case " + packet.ID + ": return new " + packet.Name + "Packet(header, bytes, ref i);"); writer.WriteLine(" }" + Environment.NewLine + " }" + Environment.NewLine + " else" + Environment.NewLine + " {" + Environment.NewLine + " id = (ushort)bytes[7]; freq = PacketFrequency.Medium;" + Environment.NewLine + " switch (id)" + Environment.NewLine + " {"); foreach (MapPacket packet in protocol.MediumMaps) if (packet != null) writer.WriteLine(" case " + packet.ID + ": return new " + packet.Name + "Packet(header, bytes, ref i);"); writer.WriteLine(" }" + Environment.NewLine + " }" + Environment.NewLine + " }" + Environment.NewLine + " else" + Environment.NewLine + " {" + Environment.NewLine + " id = (ushort)bytes[6]; freq = PacketFrequency.High;" + Environment.NewLine + " switch (id)" + Environment.NewLine + " {"); foreach (MapPacket packet in protocol.HighMaps) if (packet != null) writer.WriteLine(" case " + packet.ID + ": return new " + packet.Name + "Packet(header, bytes, ref i);"); writer.WriteLine(" }" + Environment.NewLine + " }" + Environment.NewLine + Environment.NewLine + " throw new MalformedDataException(\"Unknown packet ID \"+freq+\" \"+id);" + Environment.NewLine + " }" + Environment.NewLine + " }" + Environment.NewLine); // Write the packet classes foreach (MapPacket packet in protocol.LowMaps) if (packet != null) { WritePacketClass(writer, packet); } foreach (MapPacket packet in protocol.MediumMaps) if (packet != null) { WritePacketClass(writer, packet); } foreach (MapPacket packet in protocol.HighMaps) if (packet != null) { WritePacketClass(writer, packet); } // Finish up writer.WriteLine("}"); writer.Close(); return 0; }
public void IsProtocolNegotiationNullMessage() { var mgr = new ProtocolManager(4); Assert.False(mgr.IsProtocolNegotiation(null)); }
/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { // TODO: Add your initialization logic here InitalizeSerialCommunication(); lowerLeftBumper = new Bumper(); upperLeftBumper = new Bumper(); upperRightBumper = new Bumper(); lowerRightBumper = new Bumper(); wheels = new CoupledWheels(); wheels.ClicksPerTurn = 3900; wheels.WheelDistance = 0.345f; wheels.WheelRadius = 0.0467f; wheels.Updated += new EventHandler(wheels_Updated); sonar0 = new MaxbotixSonar(); sonar1 = new MaxbotixSonar(); sonar2 = new MaxbotixSonar(); sonar3 = new MaxbotixSonar(); sonar4 = new MaxbotixSonar(); groundSensor0 = new InfraredSensor(); groundSensor1 = new InfraredSensor(); groundSensor2 = new InfraredSensor(); redLed = new LedPwm(); greenLed = new LedPwm(); blueLed = new LedPwm(); drive = new DifferentialDrive(wheels); odometry = new DifferentialOdometry(wheels); proximity = new ProximityArray { { new Transform(0.15f, 0.14f, MathHelper.ToRadians(45)), sonar0 }, { new Transform(0.165f, 0.07f, MathHelper.ToRadians(20)), sonar1 }, { new Transform(0.18f, 0.0f, MathHelper.ToRadians(0)), sonar2 }, { new Transform(0.165f, -0.07f, MathHelper.ToRadians(-20)), sonar3 }, { new Transform(0.15f, -0.14f, MathHelper.ToRadians(-45)), sonar4 }, }; protocol = new ProtocolManager(); protocol.SubscribeComponent(lowerLeftBumper); protocol.SubscribeComponent(upperLeftBumper); protocol.SubscribeComponent(upperRightBumper); protocol.SubscribeComponent(lowerRightBumper); protocol.SubscribeComponent(wheels); protocol.SubscribeComponent(sonar0); protocol.SubscribeComponent(sonar1); protocol.SubscribeComponent(sonar2); protocol.SubscribeComponent(sonar3); protocol.SubscribeComponent(sonar4); protocol.SubscribeComponent(groundSensor0); protocol.SubscribeComponent(groundSensor1); protocol.SubscribeComponent(groundSensor2); protocol.SubscribeComponent(greenLed); protocol.SubscribeComponent(redLed); protocol.SubscribeComponent(blueLed); transport.Protocol = protocol; renderer = new SpriteRenderer(this); renderer.PixelsPerMeter = 100; Components.Add(renderer); // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); Services.AddService(typeof(SpriteBatch), spriteBatch); base.Initialize(); }
public void IsProtocolNegotiationWrongMessageTypeName() { var mgr = new ProtocolManager(4); var message = new Message { MessageType = "Initialization" }; Assert.False(mgr.IsProtocolNegotiation(message)); }