private void OnEvent(EventData evt) { byte event_code = evt.Code; if (event_code == LOAD_SAVE_DATA_ID) { Debug.Log("LoadSaveData!"); var content = (object[])evt.CustomData; var save_data = (byte[])content[0]; Game.Instance.LoadCompressedSaveFileBytes(save_data); MainMenu.Instance.m_join_island_screen.OnIslandStartLoading(); } else if (event_code == COMMAND_BUFFER_FROM_CLIENT_ID) { var raise_event_options = new RaiseEventOptions { Receivers = ReceiverGroup.All }; PhotonNetwork.RaiseEvent(COMMAND_BUFFER_FROM_SERVER_ID, (object[])evt.CustomData, raise_event_options, SendOptions.SendReliable); } else if (event_code == COMMAND_BUFFER_FROM_SERVER_ID) { var content = (object[])evt.CustomData; var command_buffer = (byte[])content[0]; CommandHandlerManager.RunCommands(command_buffer, 0, command_buffer.Length); } }
public CommandForm() { InitializeComponent(); originalWindowSize = this.Size; originalPanelSize = panelCalendar.Size; painter = new SelectorCalendarPainter(); painter.PainterNeeded += new CalendarPainterNeededHandler(painter_PainterNeeded); systemCallback = this; systemCommandHandler = new SystemCommandHandler(systemCallback); timerCommandHandler = new TimerCommandHandler(systemCallback); scriptingCommandHandler = new ScriptingCommandHandler(systemCallback); shellCommandHandler = new ShellCommandHandler(); expressionCommandHandler = new ExpressionCommandHandler(systemCallback); timerCommandHandler.TimersChanged += new EventHandler(timerCommandHandler_TimersChanged); commandHandlerManager = new CommandHandlerManager(systemCallback); commandHandlerManager.AddCommandHandler(systemCommandHandler); commandHandlerManager.AddCommandHandler(timerCommandHandler); commandHandlerManager.AddCommandHandler(scriptingCommandHandler); commandHandlerManager.AddCommandHandler(shellCommandHandler); commandHandlerManager.AddCommandHandler(expressionCommandHandler); settingPath = Application.ExecutablePath + ".Settings.xml"; systemCallback.LoadSettings(); foreach (ICommandHandler handler in commandHandlerManager.Handlers) { handler.SuggestedCommandsChanged += new EventHandler(handler_SuggestedCommandsChanged); } handler_SuggestedCommandsChanged(null, new EventArgs()); }
public void WriteCommand <T>(T command) where T : struct, ICommand { CommandHandlerManager.WriteCommand(command, m_buffer, ref m_position); }