public MapEditorVM(IWorkspaceMan workspaceMan, MapsDataProvider mapsDataProvider, PalettesDataProvider palettesDataProvider, ActionSetsDataProvider actionSetsDataProvider, TileAtlasDataProvider tileAtlasDataProvider, IDialogProvider dialogProvider) : base(workspaceMan, dialogProvider) { Tools = new MapEditorToolsVM(); TilesTool = new MapEditorTilesToolVM(this, workspaceMan); TilesTool.TilesSelector.ModelChangeAction = OnTileSetModelChange; UpdateTileSets = TilesTool.TileSetSelector.UpdateList; TilesTool.TileSetSelector.CurrentItemChanged += OnTileSetChanged; ActionsTool = new MapEditorActionsToolVM(this, workspaceMan); ActionsTool.ModelChangeAction = OnActionSetModelChange; PalettesTool = new MapEditorPalettesToolVM(this); UpdatePalettes = PalettesTool.UpdateList; PalettesTool.ModelChangeAction = OnPalettesModelChange; var mapViewRenderTarget = new RenderTarget(1, 1); var renderer = new ViewRenderer(this, mapViewRenderTarget); MapView = new MapEditorViewVM(this, renderer, mapViewRenderTarget); //LayoutVm = new MapLayoutVM(this); Properties = new LevelPropertiesVM(this); //LayoutVm.PropertyChanged += (s, e) => OnPropertyChanged(nameof(LayoutVm)); InitializeTools(); this.mapsDataProvider = mapsDataProvider; this.palettesDataProvider = palettesDataProvider; this.actionSetsDataProvider = actionSetsDataProvider; this.tileAtlasDataProvider = tileAtlasDataProvider; }
public MapEditorTileSetSelectorVM(MapEditorTilesToolVM parent) { Parent = parent; TileSetNames = new BindingList <string>(); TileSetNames.ListChanged += (s, a) => OnPropertyChanged(nameof(TileSetNames)); }
public MapEditorTilesSelectorVM(MapEditorTilesToolVM parent, TilesSelectorRenderer renderer, RenderTarget renderTarget) { Parent = parent; this.renderer = renderer; RenderTarget = renderTarget; SelectedIndexes = new List <int>(); SelectionRectangle = new SelectionRectangle(); SelectMode = SelectModeEnum.Nothing; MultiSelect = false; }