public GameObjectEditor(ProjectService projectService, PalettesService palettesService, GraphicsService graphicsService, GameObjectService gameObjectService) { InitializeComponent(); _projectService = projectService; _gameObjectService = gameObjectService; _graphicsService = graphicsService; _palettesService = palettesService; _graphicsAccessor = new GraphicsAccessor(graphicsService.GetGlobalTiles(), graphicsService.GetExtraTiles()); viewObjects.Add(viewObject); Dpi dpi = this.GetDpi(); _bitmap = new WriteableBitmap(256, 256, dpi.X, dpi.Y, PixelFormats.Bgra32, null); _renderer = new GameObjectRenderer(_gameObjectService, _palettesService, _graphicsAccessor); _renderer.RenderGrid = true; GameObjectRenderer.Source = _bitmap; List <Palette> palettes = _palettesService.GetPalettes(); ObjectSelector.Initialize(_gameObjectService, _palettesService, _graphicsAccessor, palettes[0]); PaletteSelector.ItemsSource = palettes; PaletteSelector.SelectedIndex = 0; _graphicsService.GraphicsUpdated += _graphicsService_GraphicsUpdated; _graphicsService.ExtraGraphicsUpdated += _graphicsService_GraphicsUpdated; }
public void Initialize(GameObjectService gameObjectService, PalettesService palettesService, GraphicsAccessor graphicsAccessor, Palette palette) { _gameObjectService = gameObjectService; _graphicsAccessor = graphicsAccessor; _palette = palette; _palettesService = palettesService; _objectTypes = new List <GameObjectType>(); _renderer = new GameObjectRenderer(gameObjectService, _palettesService, graphicsAccessor); Dpi dpi = this.GetDpi(); _bitmap = new WriteableBitmap(256, 256, dpi.X, dpi.Y, PixelFormats.Bgra32, null); _selectedGroup = new Dictionary <GameObjectType, string>(); switch (ObjectGroup) { case GameObjectGroup.Level: _objectTypes.Add(GameObjectType.Global); _objectTypes.Add(GameObjectType.TypeA); _objectTypes.Add(GameObjectType.TypeB); break; case GameObjectGroup.World: _objectTypes.Add(GameObjectType.World); break; case GameObjectGroup.All: _objectTypes.Add(GameObjectType.Global); _objectTypes.Add(GameObjectType.TypeA); _objectTypes.Add(GameObjectType.TypeB); _objectTypes.Add(GameObjectType.World); break; } foreach (var objectType in _objectTypes) { _selectedGroup[objectType] = null; } _selectedObject = null; GameObjectImage.Source = _bitmap; GameObjectTypes.ItemsSource = _objectTypes; _renderer.Update(palette); CanvasArea.Background = new SolidColorBrush(palette.RgbColors[0][0].ToMediaColor()); GameObjectTypes.SelectedIndex = 0; _gameObjectService.GameObjectUpdated += GameObjectsUpdated; }
protected BaseGameObject(Point position, GameObjectRenderer renderer) { Position = position; _renderer = renderer; }
public VoidObject(int x, int y, GameObjectRenderer renderer) : this(new Point(x, y), renderer) { }
public VoidObject(Point position, GameObjectRenderer renderer) : base(position, renderer) { }