Example #1
0
        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;
        }
Example #2
0
        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;
        }
Example #3
0
 protected BaseGameObject(Point position, GameObjectRenderer renderer)
 {
     Position  = position;
     _renderer = renderer;
 }
Example #4
0
 public VoidObject(int x, int y, GameObjectRenderer renderer)
     : this(new Point(x, y), renderer)
 {
 }
Example #5
0
 public VoidObject(Point position, GameObjectRenderer renderer)
     : base(position, renderer)
 {
 }