public VoxelRTSWindow(GameEngine engine) : base(1280, 720, new GraphicsMode(32, 24, 0, 1), "ORTS.Test") { VSync = VSyncMode.Off; Views= new ConcurrentDictionary<Type,IGameObjectView>(); Engine = engine; Engine.Bus.OfType<GraphicsDirtyMessage>().Subscribe(m => _graphicsDirty = true); var map = new KeyMap(); Keyboard.KeyDown += (sender, e) => Engine.Bus.Add(new KeyDownMessage(Engine.Timer.LastTickTime, map.Match(e.Key))); Keyboard.KeyUp += (sender, e) => Engine.Bus.Add(new KeyUpMessage(Engine.Timer.LastTickTime, map.Match(e.Key))); Mouse.WheelChanged += (sender, e) => Camera.Translate(new Vect3(0,0,-e.DeltaPrecise)); Camera = new Camera(); Camera.Translate(new Vect3(0, 0, 30)); engine.Bus.Add(new GraphicsLoadedMessage(engine.Timer.LastTickTime)); }
public VoxelRTSWindow(GameEngine engine) : base(1280, 720, new GraphicsMode(32, 24, 0, 1), "ORTS.Test") { VSync = VSyncMode.Off; Views = new ConcurrentDictionary <Type, IGameObjectView>(); Engine = engine; Engine.Bus.OfType <GraphicsDirtyMessage>().Subscribe(m => _graphicsDirty = true); var map = new KeyMap(); Keyboard.KeyDown += (sender, e) => Engine.Bus.Add(new KeyDownMessage(Engine.Timer.LastTickTime, map.Match(e.Key))); Keyboard.KeyUp += (sender, e) => Engine.Bus.Add(new KeyUpMessage(Engine.Timer.LastTickTime, map.Match(e.Key))); Mouse.WheelChanged += (sender, e) => Camera.Translate(new Vect3(0, 0, -e.DeltaPrecise)); Camera = new Camera(); Camera.Translate(new Vect3(0, 0, 30)); engine.Bus.Add(new GraphicsLoadedMessage(engine.Timer.LastTickTime)); }
public SpaceWindow(GameEngine engine) : base(1280, 720, new GraphicsMode(32, 0, 0, 4), "ORTS.Space") { _screen = new Rectangle(0, 0, 1280, 720); VSync = VSyncMode.Off; Views = new ConcurrentDictionary <Type, IGameObjectView>(); Engine = engine; Bus = Engine.Bus; var map = new KeyMap(); KeyPress += (sender, e) => Engine.CurrentState.KeyPress(new KeyPressMessage(Engine.Timer.LastTickTime, e.KeyChar)); Keyboard.KeyDown += (sender, e) => Engine.CurrentState.KeyDown(new KeyDownMessage(Engine.Timer.LastTickTime, map.Match(e.Key))); Keyboard.KeyUp += (sender, e) => Engine.CurrentState.KeyUp(new KeyUpMessage(Engine.Timer.LastTickTime, map.Match(e.Key))); Mouse.Move += (sender, e) => Engine.CurrentState.MouseMove(new MouseMoveMessage(Engine.Timer.LastTickTime, e.Position)); Mouse.ButtonDown += (sender, e) => Engine.CurrentState.MouseButtonDown(new MouseButtonDownMessage(Engine.Timer.LastTickTime, e.Position, MapMouseButton(e.Button))); Mouse.ButtonUp += (sender, e) => Engine.CurrentState.MouseButtonUp(new MouseButtonUpMessage(Engine.Timer.LastTickTime, e.Position, MapMouseButton(e.Button))); Mouse.WheelChanged += (sender, e) => Camera.Translate(new Vect3(0, 0, -e.DeltaPrecise)); Camera = new Camera(); Camera.Translate(new Vect3(0, 0, 30)); LoadViews(); }