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 MapEditorActionsSelectorVM(MapEditorActionsToolVM parent) { Parent = parent; Items = new BindingList <ActionVM>(); Items.ListChanged += (s, a) => OnPropertyChanged(nameof(Items)); Parent.PropertyChanged += Parent_PropertyChanged; }