示例#1
0
 internal DbTableEditorVM(IWorkspaceMan workspaceMan, DbEntryFactory dbEntryFactory)
 {
     this.workspaceMan    = workspaceMan;
     this.dbEntryFactory  = dbEntryFactory;
     Entries              = new BindingList <Entries.DbEntryVM>();
     Entries.ListChanged += (s, a) => OnPropertyChanged(nameof(Entries));
 }
示例#2
0
 internal DbTablesEditorVM(IWorkspaceMan workspaceMan,
                           DbEntryFactory dbEntryFactory)
 {
     DbTableSelector = new DbTableSelectorVM(workspaceMan);
     DbTableSelector.PropertyChanged += DbTableSelector_PropertyChanged;
     DbTableEditor = new DbTableEditorVM(workspaceMan, dbEntryFactory);
 }
示例#3
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;
        }
示例#4
0
        internal DbTableSelectorVM(IWorkspaceMan workspaceMan)
        {
            this.workspaceMan       = workspaceMan;
            TableNames              = new BindingList <string>();
            TableNames.ListChanged += (s, a) => OnPropertyChanged(nameof(TableNames));

            UpdateWithDbTables();
        }
示例#5
0
        public MapEditorActionsToolVM(MapEditorVM parent, IWorkspaceMan workspaceMan)
        {
            Parent          = parent;
            RefIdEditor     = new EntryRefIdEditorVM(workspaceMan, typeof(IDbActionSet));
            ActionsSelector = new MapEditorActionsSelectorVM(this);

            RefIdEditor.PropertyChanged += ActionEntryRef_PropertyChanged;
        }
示例#6
0
 public ImageFromFileEditorVM(IWorkspaceMan workspaceMan, IDialogProvider dialogProvider, IModelsProvider dataProvider)
 {
     this.workspaceMan     = workspaceMan;
     this.dialogProvider   = dialogProvider;
     this.dataProvider     = dataProvider;
     ImageAssetRefIdEditor = new EntryRefIdEditorVM(workspaceMan, typeof(IDbAsset));
     ImageAssetRefIdEditor.RefIdSelected = (newRefId) => { AssetRef = newRefId; };
     PropertyChanged += This_PropertyChanged;
 }
示例#7
0
        public ScriptFromFileEditorVM(IWorkspaceMan workspaceMan, ScriptsDataProvider scriptsDataProvider, IModelsProvider dataProvider)
        {
            this.scriptsDataProvider = scriptsDataProvider;
            this.dataProvider        = dataProvider;
            PropertyChanged         += This_PropertyChanged;

            ScriptAssetRefIdEditor = new EntryRefIdEditorVM(workspaceMan, typeof(IDbAsset));
            ScriptAssetRefIdEditor.RefIdSelected = (newRefId) => { DataRef = newRefId; };
        }
示例#8
0
        public EntryRefIdSelectorVM(IWorkspaceMan workspaceMan, Type type)
        {
            Items = new BindingList <string>();

            var repository = workspaceMan.GetRepository(type);

            Items.UpdateAfter(() =>
            {
                repository.Entries.ForEach(item => Items.Add(item.Id));
            });
        }
示例#9
0
        public EditorApplication(IServiceProvider managerCollection, DataSourceProvider dataSources)
        {
            logger         = managerCollection.GetService <ILogger>();
            settings       = managerCollection.GetService <SettingsMan>();
            dataProvider   = managerCollection.GetService <IModelsProvider>();
            workspaceMan   = managerCollection.GetService <IWorkspaceMan>();
            dialogProvider = new Lazy <IDialogProvider>(() => managerCollection.GetService <IDialogProvider>());
            //DialogProvider = managerCollection.GetManager<IDialogProvider>();

            settings.Restore();
            this.managerCollection = managerCollection;
            this.dataSources       = dataSources;
        }
示例#10
0
        public EditorApplicationVM(EditorApplication application, IServiceProvider managerCollection, IWorkspaceMan workspaceMan, SettingsMan settings, DbEntryEditorFactory dbEntryEditorFactory, IDialogProvider dialogProvider)
        {
            this.application          = application;
            this.managerCollection    = managerCollection;
            this.workspaceMan         = workspaceMan;
            this.settings             = settings;
            this.dbEntryEditorFactory = dbEntryEditorFactory;
            this.dialogProvider       = dialogProvider;

            lazyDbEditor = new Lazy <DbEditorVM>(() => managerCollection.GetService <DbEditorVM>());

            MenuItems = new BindingList <MenuItemVM>();

            Title = EditorApplication.APP_NAME;
        }
示例#11
0
        public MapEditorTilesToolVM(MapEditorVM parent, IWorkspaceMan workspaceMan)
        {
            Parent = parent;

            RefIdEditor = new EntryRefIdEditorVM(workspaceMan, typeof(IDbTileAtlas));

            TilesCursor = new List <MapEditorTileInsertOperation>();
            //Inserter = new MapEditorTilesInserter(Parent);


            TileSetSelector = new MapEditorTileSetSelectorVM(this);

            var mapViewRenderTarget = new RenderTarget(1, 1);
            var renderer            = new TilesSelectorRenderer(this, mapViewRenderTarget);

            TilesSelector = new MapEditorTilesSelectorVM(this, renderer, mapViewRenderTarget);

            RefIdEditor.PropertyChanged += EntryRef_PropertyChanged;
        }
示例#12
0
 protected EntryEditorBaseVM(IWorkspaceMan workspaceMan, IDialogProvider dialogProvider)
 {
     WorkspaceMan        = workspaceMan;
     this.dialogProvider = dialogProvider;
     repository          = WorkspaceMan.GetRepository <E>();
 }
示例#13
0
 public ActionSetEditorVM(DbEntrySubEditorFactory subEditorFactory, IWorkspaceMan workspaceMan, IDialogProvider dialogProvider) : base(subEditorFactory, workspaceMan, dialogProvider, "Action Set Editor")
 {
 }
示例#14
0
 public PaletteEditorVM(DbEntrySubEditorFactory subEditorFactory, IWorkspaceMan workspaceMan, IDialogProvider dialogProvider) : base(subEditorFactory, workspaceMan, dialogProvider, "Palette Editor")
 {
 }
示例#15
0
 public EntryRefIdEditorVM(IWorkspaceMan workspaceMan, Type entryType)
 {
     this.workspaceMan = workspaceMan;
     this.entryType    = entryType;
 }
示例#16
0
 public DataSourceEditorVM(DbEntrySubEditorFactory subEditorFactory, IWorkspaceMan workspaceMan, IDialogProvider dialogProvider) : base(subEditorFactory, workspaceMan, dialogProvider, "Data Source Editor")
 {
 }
示例#17
0
 public TileSetEditorVM(DbEntrySubEditorFactory subEditorFactory, IWorkspaceMan workspace, IDialogProvider dialogProvider) : base(subEditorFactory, workspace, dialogProvider, "Tile Set Editor")
 {
 }
示例#18
0
 public ParentEntryEditor(DbEntrySubEditorFactory subEditorFactory, IWorkspaceMan workspaceMan, IDialogProvider dialogProvider, string editorName) : base(workspaceMan, dialogProvider)
 {
     this.subEditorFactory = subEditorFactory;
     EditorName            = editorName;
 }
示例#19
0
 public EntityTemplateEditorVM(DbEntrySubEditorFactory subEditorFactory, IWorkspaceMan workspaceMan, IDialogProvider dialogProvider) : base(subEditorFactory, workspaceMan, dialogProvider, "Entity Template Editor")
 {
 }