Пример #1
0
        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;
        }
Пример #2
0
        public MapEditorActionsSelectorVM(MapEditorActionsToolVM parent)
        {
            Parent = parent;

            Items              = new BindingList <ActionVM>();
            Items.ListChanged += (s, a) => OnPropertyChanged(nameof(Items));

            Parent.PropertyChanged += Parent_PropertyChanged;
        }