public AGSRendererLoop(Resolver resolver, IGame game, IImageRenderer renderer, IAGSRoomTransitions roomTransitions, IGLUtils glUtils, IGameWindow gameWindow, IBlockingEvent <DisplayListEventArgs> onBeforeRenderingDisplayList, IDisplayList displayList, IInput input, IMatrixUpdater matrixUpdater) { _input = input; _displayList = displayList; _glUtils = glUtils; _gameWindow = gameWindow; _resolver = resolver; _game = game; _gameState = game.State; _renderer = renderer; _roomTransitions = roomTransitions; _displayListEventArgs = new DisplayListEventArgs(null); _matrixUpdater = matrixUpdater; OnBeforeRenderingDisplayList = onBeforeRenderingDisplayList; _roomTransitions.Transition = new RoomTransitionInstant(); }
// Обработчик события от выпадающего списка private void m_OnDisplayListEvent( object sender, DisplayListEventArgs e) { switch (e.EventID) { case DisplayListEventID.ViewChanged: m_Viewers[e.ControlID].ViewID = e.ListItemID; m_UpdateView(e.ControlID); break; case DisplayListEventID.ZoomChanged: m_Viewers[e.ControlID].ZoomID = e.ListItemID; m_UpdateView(e.ControlID); break; } DisplayUpdate(m_GeneralViewMode, m_IsTraceSelected, m_SelectedTraceID, m_SelectedViewMode); }
// Обработчик события от пользовательского элемента управления private void OnDisplayListEvent( object sender, DisplayListEventArgs e) { string eventName; switch (e.EventID) { case DisplayListEventID.ViewChanged: default: eventName = "View Changed"; break; case DisplayListEventID.ZoomChanged: eventName = "Zoom Changed"; break; } string eventArgs = "Selected Item Index = " + e.ListItemID.ToString(); string messageText = eventName + ": " + eventArgs; MessageBox.Show(messageText, "Viewer " + e.ControlID.ToString() + " raised an event!"); }
private void onBeforeProcessingDisplayList(DisplayListEventArgs args) { SortDebugger.DebugIfNeeded(args.DisplayList); _lastDisplayList = args.DisplayList; }
private void OnViewerListEvent(object sender, DisplayListEventArgs e) { RunListEvent(sender, e); }