public MainWindow() { InitializeComponent(); _model = DrawingManager.Instance; _model.SetCanvas(DrawingField); _model.ImageCurrentStatusLost += _model_ImageCurrentStatusLost; _model.ImageCurrentStatusLost += DeactivateAllButtons; _model.ImageCurrentStatusGot += _model_ImageCurrentStatusGot; _model.ImageCurrentStatusGot += ActivateAllButtons; _model.FigureCurrentStatusLost += _model_FigureCurrentStatusLost; _model.FigureCurrentStatusGot += _model_FigureCurrentStatusGot; _model.FireCurrentElementsEvents(); _statusBarOptions = new Dictionary <EditorMode, string>() { { EditorMode.SwitchElements, "Click on objects to focus them" }, { EditorMode.DrawImage, "Draw new Image by mouse" }, { EditorMode.DrawTriangle, "Draw new triangle by mouse" }, { EditorMode.DrawRegularTriangle, "Draw new regular triagnle by mouse" }, { EditorMode.DrawRectangularTriangle, "Draw new rectangular triangle by mouse" }, { EditorMode.MoveFigure, "Move focused figure using your mouse" }, { EditorMode.MoveImage, "Move focused Image using your mouse" }, { EditorMode.RotateFigure, "Rotate focused figure around arbitrary center" }, { EditorMode.ScaleFigure, "Scale focused image relatively to an center" }, { EditorMode.MergeImages, "Merge some other image into focused one" } }; _model.EditorModeChanged += _model_EditorModeChanged; }
public void Run() { sprite = new Sprite(pixel); EntityConstructor entityConstructor = new EntityConstructor(); EntityManager = entityConstructor.Instantiate("1", () => window.Close()); InputManager = new MouseClick(); IUpdateVisitor = new DefaultUpdateVisitor(InputManager, entityConstructor); IDrawingManager = new SFMLDrawingAdapter(window); IDrawVisitor = new DefaultDrawVisitor(IDrawingManager); //Database.Set_connection(); //Database.ExecuteData("create table if exists WinsLosses (ID INTEGER PRIMARY KEY, Wins INTEGER, Losses INTEGER)"); //Database.ExecuteData("insert into WinsLosses (ID, Wins, Losses) values (1,0,0)"); //Database.ReadData("select * from WinsLosses"); window.SetActive(); while (window.IsOpen) { window.Clear(); window.DispatchEvents(); Draw(); Update(); window.Display(); } }
/// <summary> /// Initializes a new instance of the <see cref="ScreenManager"/> class. /// </summary> /// <param name="game">The <see cref="IGameContainer"/>.</param> /// <param name="skinManager">The <see cref="ISkinManager"/> used to manage all the general skinning /// between all screens.</param> /// <param name="defaultFontName">The asset name of the default font.</param> /// <param name="defaultFontSize">The size of the default font.</param> /// <exception cref="ArgumentNullException"><paramref name="game"/> is null.</exception> /// <exception cref="ArgumentNullException"><paramref name="skinManager"/> is null.</exception> public ScreenManager(IGameContainer game, ISkinManager skinManager, string defaultFontName, int defaultFontSize) { if (game == null) { throw new ArgumentNullException("game"); } if (skinManager == null) { throw new ArgumentNullException("skinManager"); } _game = game; _game.RenderWindowChanged -= _game_RenderWindowChanged; _game.RenderWindowChanged += _game_RenderWindowChanged; _skinManager = skinManager; _content = ContentManager.Create(); _drawingManager = new DrawingManager(_game.RenderWindow); _audioManager = Audio.AudioManager.GetInstance(_content); // Add event listeners to the input-related events _game.KeyPressed -= _game_KeyPressed; _game.KeyPressed += _game_KeyPressed; _game.KeyReleased -= _game_KeyReleased; _game.KeyReleased += _game_KeyReleased; _game.TextEntered -= _game_TextEntered; _game.TextEntered += _game_TextEntered; _game.MouseButtonPressed -= _game_MouseButtonPressed; _game.MouseButtonPressed += _game_MouseButtonPressed; _game.MouseButtonReleased -= _game_MouseButtonReleased; _game.MouseButtonReleased += _game_MouseButtonReleased; _game.MouseMoved -= _game_MouseMoved; _game.MouseMoved += _game_MouseMoved; _game.GainedFocus -= _game_GainedFocus; _game.GainedFocus += _game_GainedFocus; _game.LostFocus -= _game_LostFocus; _game.LostFocus += _game_LostFocus; // Load the global content used between screens _defaultFont = _content.LoadFont(defaultFontName, defaultFontSize, ContentLevel.Global); // Tell the other screens to load their content, too foreach (var screen in _screens.Values) { screen.LoadContent(); } }
/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); IDrawingManager = new MonogameDrawingAdapter(spriteBatch, Content); IDrawVisitor = new DefaultDrawVisitor(IDrawingManager); // TODO: use this.Content to load your game content here }
private void ActivateAllButtons(IDrawingManager manager, Border image) { var buttons = DrawButtonsToolbar.Items; foreach (var button in buttons) { (button as UIElement).IsEnabled = true; } }
internal GameObjectFactory(IContentManager contentManager, IGraphicsFactory graphicsFactory, IGravitySimulator gravitySimulator, IDrawingManager drawingManager, IUniverse universe, IShipComponentFactory shipComponentFactory) { _contentManager = contentManager; _graphicsFactory = graphicsFactory; _gravitySimulator = gravitySimulator; _drawingManager = drawingManager; _universe = universe; _shipComponentFactory = shipComponentFactory; _gameObjects = new List<IGameObject>(); }
public StoryViewModel(IGraph sg, DataTable dt, StoryType storyType) { if (storyType == StoryType.TIMELINE) { _dm = new TimelineDrawingManager(sg.GetLayout(), dt, storyType); } else if (storyType == StoryType.STORYGRAPH || storyType == StoryType.STORYLINES || storyType == StoryType.STORYLINESWU) { _dm = new StoryDrawingManager(sg.GetLayout(), dt, storyType); } }
private void _model_FigureCurrentStatusGot(IDrawingManager manager, Shape figure) { if (!manager.IsOperationInProcess) { figure.Stroke = manager.Preferences.CurrentFigureStroke; figure.StrokeThickness = manager.Preferences.CurrentFigureStrokeThickness; } else { _model_FigureCurrentStatusLost(manager, figure); } }
private void DeactivateAllButtons(IDrawingManager manager, Border image) { var buttons = DrawButtonsToolbar.Items; foreach (var button in buttons) { if (!(button == NewImage || button == SwitchElements)) { (button as UIElement).IsEnabled = false; } } }
internal GameEngine(IUniverse universe, IGravitySimulator gravitySimulator, IGameObjectFactory gameObjectFactory, IKeyboardHandler keyboardHandler, IActionHandler actionHandler, IDrawingManager drawingManager) { _universe = universe; _drawingManager = drawingManager; _gravitySimulator = gravitySimulator; _gameObjectFactory = gameObjectFactory; _keyboardHandler = keyboardHandler; _actionHandler = actionHandler; _controllerFactory = new ControllerFactory(_keyboardHandler); actionHandler.RegisterTriggerAction(Keys.Space, () => _paused = !_paused); }
private void Window_Loaded(object sender, RoutedEventArgs e) { ; d = new ObjectDiagram(); host.Width = 100; host.Height = 100; deviceManager = new WinFormsDeviceManager(this.host.Handle); drawingManager = new DrawingManager(deviceManager, OnRender); drawingManager.Resize(new SharpDX.Size2(DoubleToInt(host.Width), DoubleToInt(host.Height))); t1 = new System.Timers.Timer(); t1.Interval = 100; t1.Elapsed += (c, q) => { i += 1; }; host.SizeChanged += (c, ex) => { drawingManager.Resize(new SharpDX.Size2(DoubleToInt(host.Width), DoubleToInt(host.Height))); }; t1.Start(); }
/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { // Create a new SpriteBatch, which can be used to draw textures. _spriteBatch = new SpriteBatch(GraphicsDevice); Font = Content.Load <SpriteFont>("font"); drawAdapter = new MonoGameDrawManager(_spriteBatch); _drawVisitor = new DrawVisitor(drawAdapter); _updateVisitor = new UpdateVisitor(drawAdapter); mainScreenElements = screenFactory.CreateHomeCollectionScreen(); labelScreenElements = screenFactory.CreateLabelCollectionScreen(); inputScreenElements = screenFactory.CreateInputCollectionScreen(); collection = screenFactory.CreateHomeCollectionScreen(); }
private void _model_ImageCurrentStatusGot(IDrawingManager manager, Border image) { if (!manager.IsOperationInProcess) { image.BorderBrush = manager.Preferences.CurrentImageBorderBrush; image.BorderThickness = manager.Preferences.CurrentImageBorderThickness; if (image.Child != null) { (image.Child as Canvas).Background = manager.Preferences.ImageCanvasBackground; } } else { _model_ImageCurrentStatusLost(manager, image); } }
public void Draw(IShape shape) { //тук проверката със "is" e проста затова е добра практикра IDrawingManager drawer = null; if (shape is Circle) { drawer = new CirleDrawer(); } else if (shape is Rectangle) { drawer = new RectangleDrawer(); } drawer.Draw(shape); }
private void Form2_Load(object sender, EventArgs e) { //DockPanel d = new DockPanel(); //d.Parent = this; //d.Dock = DockStyle.Fill; //d.Theme = new VS2012LightTheme(); //new DockContent() { Text = "hello", CloseButton = false }.Show(d, DockState.Document); //new DockContent() { Text = "Дерево объектов" }.Show(d, DockState.DockRight); //new DockContent() { Text = "Свойства" }.Show(d, DockState.DockLeftAutoHide); this.d = new ObjectDiagram(); deviceManager = new WinFormsDeviceManager(panel1.Handle); drawingManager = new DrawingManager(deviceManager, OnRender); drawingManager.Resize(new SharpDX.Size2(panel1.Width, panel1.Height)); panel1.Resize += (c, ex) => { drawingManager.Resize(new SharpDX.Size2(panel1.Width, panel1.Height)); }; panel1.Paint += panel1_Paint; panel1.MouseMove += panel1_MouseMove; }
internal SpaceWar2Game() { _contentManager = new ContentManagerWrapper(Content.ServiceProvider, "Content"); var graphicsDeviceManager = new GraphicsDeviceManager(this); _graphicsDevice = new GraphicsDeviceWrapper(graphicsDeviceManager); _universe = Universe.CreateDefault(); _drawingManager = new DrawingManager(_universe); _gravitySimulator = new GravitySimulator(); _shipComponentFactory = new ShipComponentFactory(); _graphicsFactory = new GraphicsFactory(); _gameObjectFactory = new GameObjectFactory(_contentManager, _graphicsFactory, _gravitySimulator, _drawingManager, _universe, _shipComponentFactory); _keyboardHandler = new KeyboardHandler(new KeyboardWrapper()); var actionHandler = new ActionHandler(_keyboardHandler); _gameEngine = new GameEngine(_universe, _gravitySimulator, _gameObjectFactory, _keyboardHandler, actionHandler, _drawingManager); SetUpActions(actionHandler); }
private void _model_EditorModeChanged(IDrawingManager manager, EditorMode newMode) { StatusBarText.Text = _statusBarOptions[newMode]; }
public void SetUp() { _universe = Substitute.For<IUniverse>(); _gravitySimulator = Substitute.For<IGravitySimulator>(); _gameObjectFactory = Substitute.For<IGameObjectFactory>(); _keyboardHandler = Substitute.For<IKeyboardHandler>(); _actionHandler = Substitute.For<IActionHandler>(); _drawingManager = Substitute.For<IDrawingManager>(); _gameEngine = new GameEngine(_universe, _gravitySimulator, _gameObjectFactory, _keyboardHandler, _actionHandler, _drawingManager); }
private void _model_ImageCurrentStatusLost(IDrawingManager manager, Border image) { image.BorderBrush = manager.Preferences.ImageBorder; image.BorderThickness = manager.Preferences.ImageBorderThickness; }
private void _model_FigureCurrentStatusLost(IDrawingManager manager, Shape figure) { figure.Stroke = manager.Preferences.FigureStroke; figure.Fill = manager.Preferences.FigureFilling; figure.StrokeThickness = manager.Preferences.FigureStrokeThickness; }
public MapViewModel(IGraph sg, DataTable dt, StoryType storyType) { _dm = new MapDrawingManager(sg.GetLayout(), dt, storyType); }
public StoryViewModel(IGraph sg, DataTable dt, StoryType storyType, ForceParameters f) { _dm = new StoryDrawingManager(sg.GetLayout(), dt, storyType, f); }
public void SetUp() { _contentManager = Substitute.For<IContentManager>(); _graphicsFactory = Substitute.For<IGraphicsFactory>(); _gravitySimulator = Substitute.For<IGravitySimulator>(); _drawingManager = Substitute.For<IDrawingManager>(); _universe = Substitute.For<IUniverse>(); _shipComponentFactory = Substitute.For<IShipComponentFactory>(); _gameObjectFactory = new GameObjectFactory(_contentManager, _graphicsFactory, _gravitySimulator, _drawingManager, _universe, _shipComponentFactory); }
public DefaultDrawVisitor(IDrawingManager drawing_manager) { this.drawing_manager = drawing_manager; }
public DrawVisitor(IDrawingManager adapter) { this.drawAdapter = adapter; }
/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); IDrawingManager = new MonogameDrawingAdapter(spriteBatch, Content); IDrawVisitor = new DefaultDrawVisitor(IDrawingManager); }
public UpdateVisitor(IDrawingManager adapter) { this.adapter = adapter; }