public override bool HandleEvent(BlzEvent evt) { if (base.HandleEvent(evt)) { return true; } // Ici s'effectue la gestion d'events switch (evt.Type) { case EventType.KeyPressed: switch (evt.Key.Code) { case Keyboard.Key.Escape: Window.Close(); return true; } break; } return false; }
public override bool HandleEvent(BlzEvent evt) { if (base.HandleEvent(evt)) { return true; } // Ici s'effectue la gestion d'events switch (evt.Type) { case EventType.KeyPressed: if (Inputs.IsGameInput(InputType.Back, evt)) Window.Close(); switch (evt.Key.Code) { case Keyboard.Key.Space: effects.Add(InitParticle()); return true; } break; } return false; }
public override bool HandleEvent(BlzEvent evt) { if (base.HandleEvent(evt)) { return true; } // Ici s'effectue la gestion d'events switch (evt.Type) { case EventType.KeyPressed: if (Inputs.IsGameInput(InputType.Action)) { NextScreen = ScreenType.LoginScreen; return true; } break; } return false; }
public override Boolean OnEvent(BlzEvent evt) { if (evt.IsHandled) { return base.OnEvent(evt); } switch (evt.Type) { case EventType.MouseWheelMoved: if (Parent.ContainsMouse() && Mouse.GetPosition(Root.Window).Y > Parent.Center.Y - Parent.Dimension.Y * ((1F - MouseWheelVZone) - .5f)) { Scroll(-(Int32)(evt.MouseWheel.Delta * ScaleValue)); return true; } break; case EventType.MouseButtonPressed: if (evt.MouseButton.Button == Mouse.Button.Left && ScrollCursor.ContainsMouse()) { IsDragged = true; DraggingPoint = Mouse.GetPosition(Root.Window).X - ScrollCursor.Position.X; return true; } break; case EventType.MouseButtonReleased: if (IsDragged && evt.MouseButton.Button == Mouse.Button.Left) { IsDragged = false; return true; } break; case EventType.MouseMoved: if (IsDragged) { Scroll(-CursorPosition + (Int32)(evt.MouseMove.X - DraggingPoint - Position.X)); return true; } break; } return base.OnEvent(evt); }
public override Boolean OnEvent(BlzEvent evt) { switch (evt.Type) { case EventType.MouseButtonPressed: if (evt.MouseButton.Button != Mouse.Button.Left) break; if (!IsActive) break; Reduce(); return true; case EventType.MouseButtonReleased: if (evt.MouseButton.Button != Mouse.Button.Left) break; if (!IsActive) break; Reduce(); return true; case EventType.KeyPressed: switch (evt.Key.Code) { case Keyboard.Key.Escape: if (!IsActive) break; Reduce(); return true; } break; } return base.OnEvent(evt); }
public override bool HandleEvent(BlzEvent evt) { if (base.HandleEvent(evt)) return true; switch (evt.Type) { case SFML.Window.EventType.KeyPressed: if (Inputs.IsGameInput(InputType.Back, evt)) { Window.Close(); NextScreen = ScreenType.GameScreen; return true; } break; } return false; }
public Boolean HandleEvent(BlzEvent evt) { if (Gui.HandleEvent(evt)) { return true; } if (evt.IsHandled) { return true; } // Ici s'effectue la gestion d'events switch (evt.Type) { case EventType.KeyPressed: if (evt.Key.Code == Keyboard.Key.Escape) { Window.Close(); return true; } break; case EventType.Resized: Gui.Dimension = new Vector2f((float)Window.Width, (float)Window.Height); GuiView.Reset(new SFML.Graphics.FloatRect(0F, 0F, (float)Window.Width, (float)Window.Height)); GuiView.Viewport = new SFML.Graphics.FloatRect(0F, 0F, 1F, 1F); break; } return false; }
public Boolean UpdateState(BlzEvent evt) { foreach (GameInput gameInput in GameInputs.Values) if (gameInput.UpdateState(evt)) return true; return false; }
public bool IsActive(BlzEvent evt, bool releaseMode, double delay, bool resetTimer, bool handleEvent, bool checkEventIsHandled) { if (!Keys.Contains(evt.Key.Code)) return false; if (evt.Type != EventType.KeyPressed) { if (evt.Type != EventType.KeyReleased) return false; return true; } if (releaseMode && !WasReleased) return false; if (checkEventIsHandled && EventIsHandled) return false; if (!Timer.IsDelayCompleted(delay, resetTimer)) return false; if (handleEvent) { EventIsHandled = true; WasReleased = false; //EventWasReleased = false; } return true; }
public override Boolean OnEvent(BlzEvent evt) { if (evt.IsHandled) { if (!BackgroundContainsMouse(ClickOffset)) State = EState.Normal; return base.OnEvent(evt); } switch (evt.Type) { case EventType.MouseMoved: if (BackgroundContainsMouse(ClickOffset)) { State = EState.MouseOver; return true; } else State = EState.Normal; break; case EventType.MouseButtonReleased: if (!BackgroundContainsMouse(ClickOffset)) break; return CallClicked(new MouseButtonEventArgs(evt.MouseButton)); case EventType.MouseButtonPressed: if (evt.MouseButton.Button == Mouse.Button.Left) if (BackgroundContainsMouse(ClickOffset)) return true; break; case SFML.Window.EventType.KeyPressed: if (!ShortCutMode) break; if (evt.Key.Code == ShortCutKey) { CallShortCut(); return true; } break; } return base.OnEvent(evt); }
public static bool IsGameInput(InputType type, BlzEvent evt, bool releaseMode = false, double delay = DEFAULT_INPUT_DELAY, bool handle = true, bool checkIsHandled = true) { return Instance.GameInputs[type].IsActive(evt, releaseMode, delay, true, handle, checkIsHandled); }
public void Run(Time dt) { Window.SetView(GuiView); Gui.Update(dt); Gui.Draw(Window); while (WindowEvents.EventHappened()) { BlzEvent evt = new BlzEvent(WindowEvents.GetEvent()); GameScoring.EventCount++; if (HandleEvent(evt)) { GameScoring.EventHandled++; } } }
public override Boolean OnEvent(BlzEvent evt) { if (evt.IsHandled) return base.OnEvent(evt); switch (evt.Type) { case EventType.MouseButtonPressed: if (!BackgroundContainsMouse()) break; if (evt.MouseButton.Button != Mouse.Button.Right) return true; if (Mode != EMode.Scroll) break; if (!PictureSizeIsValid) break; if (!BackgroundContainsMouse()) break; InitDrag(GetLocalFromGlobal(new Vector2f(evt.MouseButton.X, evt.MouseButton.Y))); return true; case EventType.MouseButtonReleased: if (!BackgroundContainsMouse()) break; if (evt.MouseButton.Button != Mouse.Button.Right) return CallScreenClicked(new MouseButtonEventArgs(evt.MouseButton)); if (Mode != EMode.Scroll) return CallScreenClicked(new MouseButtonEventArgs(evt.MouseButton)); EndDrag(); return true; case EventType.MouseMoved: if (Mode != EMode.Scroll) break; if (!DragIsActive) break; if (!BackgroundContainsMouse()) { EndDrag(); break; } Drag(GetLocalFromGlobal(new Vector2f(evt.MouseMove.X, evt.MouseMove.Y))); return true; } return base.OnEvent(evt); }
public override Boolean OnEvent(BlzEvent evt) { if (evt.IsHandled) return base.OnEvent(evt); switch (evt.Type) { case EventType.MouseButtonPressed: if (evt.MouseButton.Button != Mouse.Button.Right) break; if (!Selector.HolderContains()) break; ClearSelection(); return true; case EventType.KeyPressed: switch (evt.Key.Code) { case Keyboard.Key.A: if (!Keyboard.IsKeyPressed(Keyboard.Key.LControl)) break; if (SelectedObjects.Count > 0) ClearSelection(); else AddAllObjectToSelection(); return true; case Keyboard.Key.Delete: if (SelectedObjects.Count == 0) break; RemoveSelectedObjectsFromMap(); return true; } break; } return base.OnEvent(evt); }
public override bool OnPredominantEvent(BlzEvent evt) { switch (evt.Type) { case SFML.Window.EventType.KeyPressed: if (!TextBox.IsActive) break; switch (evt.Key.Code) { case SFML.Window.Keyboard.Key.Up: Up(); return true; case SFML.Window.Keyboard.Key.Down: Down(); return true; } break; } return base.OnPredominantEvent(evt); }
public BlazeraProgramOnEventEventArgs(BlzEvent evt) { Event = evt; }
public override bool OnEvent(BlzEvent evt) { switch (evt.Type) { case EventType.KeyPressed: if (Inputs.IsGameInput(InputType.Back, evt, false, Inputs.DEFAULT_INPUT_DELAY, false)) { CallOnCancellation(); return true; } if (Inputs.IsGameInput(InputType.Action, evt, true)) CallOnValidation(); if (Inputs.IsGameInput(InputType.Action2, evt)) { if (Combat.State == Combat.EState.Placement) Combat.ChangeState(Combat.EState.Starting); } if (Inputs.IsGameInput(InputType.Special0, evt, true)) Combat.Map.SwitchGridVisibility(); if (Inputs.IsGameInput(InputType.Special1, evt, true)) Combat.Map.SwitchObjectAlphaMode(); return true; } return base.OnEvent(evt); }
bool CallOnEvent(BlzEvent evt) { if (OnEvent == null) return false; OnEvent(this, new BlazeraProgramOnEventEventArgs(evt)); return true; }
/// <summary> /// Starts the program and its main loop /// </summary> public void Launch() { IsRunning = true; CallOnLaunching(); Gui.Init(); GameTime.Instance.Init(); while (IsRunning) { Window.DispatchEvents(); Window.Clear(); CallOnRunning(); Gui.Update(GameTime.Dt); Gui.Draw(Window); while (WindowEvents.EventHappened()) { BlzEvent evt = new BlzEvent(WindowEvents.GetEvent()); if (evt.Type == EventType.KeyPressed || evt.Type == EventType.KeyReleased) Inputs.Instance.UpdateState(evt); if (!Gui.HandleEvent(evt)) { CallOnEvent(evt); } } Window.Display(); IsRunning = Window.IsOpened(); } CallOnClosing(); }
public override Boolean OnEvent(BlzEvent evt) { if (HandlePlayerEvent(evt)) return true; if (evt.IsHandled) return base.OnEvent(evt); switch (evt.Type) { case EventType.MouseButtonPressed: if (evt.MouseButton.Button != Mouse.Button.Left) break; if (!MapContainsMouse()) break; if (MapClicked == null) break; MouseButtonEvent e = new MouseButtonEvent(); Vector2f ePoint = GetMapLocalFromGlobal(new Vector2f(evt.MouseButton.X, evt.MouseButton.Y)); e.X = (Int32)ePoint.X; e.Y = (Int32)ePoint.Y; MapClicked(this, new MouseButtonEventArgs(e)); return true; } return base.OnEvent(evt); }
public Boolean UpdateState(BlzEvent evt) { EventIsHandled = false; if (evt.Type == EventType.KeyPressed && Keys.Contains(evt.Key.Code)) { if (IsDown) WasReleased = false; IsDown = true; return true; } if (evt.Type != EventType.KeyReleased || !Keys.Contains(evt.Key.Code)) return false; IsDown = false; WasReleased = true; return true; }
public override Boolean OnEvent(BlzEvent evt) { switch (evt.Type) { case SFML.Window.EventType.KeyReleased: if (!ShortCutMode) break; if (evt.Key.Code == ShortCutKey) { CallShortCut(); return true; } break; } return base.OnEvent(evt); }
public override Boolean OnEvent(BlzEvent evt) { if (Holder == null) return base.OnEvent(evt); if (evt.IsHandled) return base.OnEvent(evt); switch (evt.Type) { case EventType.MouseButtonPressed: if (evt.MouseButton.Button != Mouse.Button.Left) break; if (!HolderContains()) break; InitSelection(Holder.GetLocalFromGlobal(new Vector2f(evt.MouseButton.X, evt.MouseButton.Y))); return true; case EventType.MouseButtonReleased: if (evt.MouseButton.Button != Mouse.Button.Left) break; if (!IsActive) break; EndSelection(Holder.GetLocalFromGlobal(new Vector2f(evt.MouseButton.X, evt.MouseButton.Y))); return true; case EventType.MouseMoved: if (!IsActive) break; MoveCurrentPointTo(Holder.GetLocalFromGlobal(new Vector2f(evt.MouseMove.X, evt.MouseMove.Y))); return true; case EventType.LostFocus: case EventType.MouseLeft: if (!IsActive) break; EndSelection(Holder.GetLocalFromGlobal(CurrentPoint)); return true; case EventType.KeyPressed: if (!MoveIsEnabled) break; switch (evt.Key.Code) { case Keyboard.Key.Left: MoveSelection(new Vector2f(-MoveOffset, 0F)); return true; case Keyboard.Key.Up: MoveSelection(new Vector2f(0F, -MoveOffset)); return true; case Keyboard.Key.Right: MoveSelection(new Vector2f(MoveOffset, 0F)); return true; case Keyboard.Key.Down: MoveSelection(new Vector2f(0F, MoveOffset)); return true; } break; } return base.OnEvent(evt); }
public override Boolean OnEvent(BlzEvent evt) { switch (evt.Type) { case EventType.KeyPressed: /* if (Alignment == BlazeraLib.Alignment.Vertical) { if (Inputs.IsGameInput(DEFAULT_VERTICAL_MENU_DOWN_INPUT_TYPE, evt, SWITCHING_RELASED_MODE, SWITCHING_DEFAULT_DELAY)) { Down(); return true; } if (Inputs.IsGameInput(DEFAULT_VERTICAL_MENU_UP_INPUT_TYPE, evt, SWITCHING_RELASED_MODE, SWITCHING_DEFAULT_DELAY)) { Up(); return true; } } else { if (Inputs.IsGameInput(DEFAULT_HORIZONTAL_MENU_RIGHT_INPUT_TYPE, evt, SWITCHING_RELASED_MODE, SWITCHING_DEFAULT_DELAY)) { Down(); return true; } if (Inputs.IsGameInput(DEFAULT_HORIZONTAL_MENU_LEFT_INPUT_TYPE, evt, SWITCHING_RELASED_MODE, SWITCHING_DEFAULT_DELAY)) { Up(); return true; } } */ if (Inputs.IsGameInput(DEFAULT_VALIDATION_INPUT_TYPE, evt, true)) { GetCurrentItem().CallValidated(); return true; } if (Inputs.IsGameInput(DEFAULT_CANCELLATION_INPUT_TYPE, evt) && Closable) { Close(); return true; } return true; } return base.OnEvent(evt); }
public override Boolean OnEvent(BlzEvent evt) { if (evt.IsHandled) { return base.OnEvent(evt); } if (evt.Type == EventType.MouseButtonPressed) { if (Contains(Mouse.GetPosition(Root.Window).X, Mouse.GetPosition(Root.Window).Y)) { IsActive = true; return true; } else { if (IsActive) { IsActive = false; return true; } } } if (evt.Type == EventType.KeyPressed && IsActive) { if (evt.Key.Code == Keyboard.Key.Back) { RemoveLast(); BackHappened = true; return true; } if (evt.Key.Code == Keyboard.Key.Escape || evt.Key.Code == Keyboard.Key.Return) { IsActive = false; return true; } if (evt.Key.Code == Keyboard.Key.Delete) { Reset(); return true; } } if (evt.Type == EventType.TextEntered && IsActive) { if (!BackHappened && Add((char)evt.Text.Unicode)) return true; } return base.OnEvent(evt); }
public override Boolean HandleEvent(BlzEvent evt) { if (evt.Type == EventType.KeyPressed || evt.Type == EventType.KeyReleased) Inputs.Instance.UpdateState(evt); return base.HandleEvent(evt); }
public override bool OnEvent(BlzEvent evt) { if (evt.IsHandled) return base.OnEvent(evt); switch (evt.Type) { case EventType.KeyPressed: switch (evt.Key.Code) { case Keyboard.Key.Down: if (CursorMode && !Down()) break; return true; case Keyboard.Key.Up: if (CursorMode && !Up()) break; return true; } break; } return base.OnEvent(evt); }
Boolean HandlePlayerEvent(BlzEvent evt) { if (!MapIsUpdated) return false; switch (evt.Type) { #region player moves case EventType.KeyPressed: if (Keyboard.IsKeyPressed(Keyboard.Key.LControl)) break; if (Inputs.IsGameInput(InputType.Misc, evt)) { MainPlayer.SetRunning(); return true; } if (Inputs.IsGameInput(InputType.Up, evt)) { MainPlayer.EnableDirection(Direction.N); return true; } if (Inputs.IsGameInput(InputType.Right, evt)) { MainPlayer.EnableDirection(Direction.E); return true; } if (Inputs.IsGameInput(InputType.Down, evt)) { MainPlayer.EnableDirection(Direction.S); return true; } if (Inputs.IsGameInput(InputType.Left, evt)) { MainPlayer.EnableDirection(Direction.O); return true; } break; case EventType.KeyReleased: if (Inputs.IsGameInput(InputType.Misc, evt)) { MainPlayer.SetRunning(false); return true; } if (Inputs.IsGameInput(InputType.Up, evt)) { MainPlayer.DisableDirection(Direction.N); return true; } if (Inputs.IsGameInput(InputType.Right, evt)) { MainPlayer.DisableDirection(Direction.E); return true; } if (Inputs.IsGameInput(InputType.Down, evt)) { MainPlayer.DisableDirection(Direction.S); return true; } if (Inputs.IsGameInput(InputType.Left, evt)) { MainPlayer.DisableDirection(Direction.O); return true; } break; #endregion } return false; }
public override Boolean OnEvent(BlzEvent evt) { switch (evt.Type) { case EventType.KeyPressed: if (!ActionKeyPlayingMode) break; if (!IsPlaying) break; if (!Inputs.IsGameInput(InputType.Action, evt, true)) break; if (!MessageIsCompleted) break; NextMessage(); return true; } return base.OnEvent(evt); }
public override Boolean OnEvent(BlzEvent evt) { if (evt.IsHandled) { End(); ShowCursor(false); return base.OnEvent(evt); } switch (evt.Type) { case EventType.MouseButtonPressed: if (evt.MouseButton.Button == Mouse.Button.Right) { Empty(); if (!MapBox.MapContainsMouse()) break; return true; } if (evt.MouseButton.Button != Mouse.Button.Left) break; if (!MapBox.MapContainsMouse()) break; Init(); Vector2f clickPaintPoint = GetLocalMouseCenter(); if (!CanPaint(clickPaintPoint)) break; return Paint(clickPaintPoint); case EventType.MouseButtonReleased: if (evt.MouseButton.Button != Mouse.Button.Left) break; End(); if (!MapBox.MapContainsMouse()) break; return true; case EventType.MouseMoved: if (!MapBox.MapContainsMouse()) { ShowCursor(false); break; } Vector2f movePaintPoint = GetLocalMouseCenter(); Boolean canPaint = CanPaint(movePaintPoint); ShowCursor(); SetCursorEnability(canPaint); if (!IsPainting) break; if (!canPaint) break; return Paint(movePaintPoint); case EventType.KeyPressed: switch (evt.Key.Code) { case Keyboard.Key.P: Mode = EMode.Pot; return true; } break; case EventType.KeyReleased: switch (evt.Key.Code) { case Keyboard.Key.P: Mode = EMode.Normal; return true; } break; } return base.OnEvent(evt); }