public DBCConfigViewModel(IDbcSettingsProvider dbcSettings, IWindowManager windowManager)
        {
            path        = dbcSettings.GetSettings().Path;
            skipLoading = dbcSettings.GetSettings().SkipLoading;
            dbcVersion  = dbcSettings.GetSettings().DBCVersion;
            dbcLocale   = dbcSettings.GetSettings().DBCLocale;

            PickFolder = new DelegateCommand(async() =>
            {
                var selectedPath = await windowManager.ShowFolderPickerDialog(Path);
                if (selectedPath != null)
                {
                    Path = selectedPath;
                }
            });
            Save = new DelegateCommand(() =>
            {
                dbcSettings.UpdateSettings(new DBCSettings {
                    Path = Path, SkipLoading = SkipLoading, DBCVersion = DBCVersion, DBCLocale = DBCLocale
                });
                IsModified = false;
            });

            DBCVersions = new ObservableCollection <DBCVersions>(Enum.GetValues <DBCVersions>());
            DBCLocales  = new ObservableCollection <DBCLocales>(Enum.GetValues <DBCLocales>());

            Watch(() => DBCVersion, () => CanPickLocale);
        }
示例#2
0
 public DBCConfigViewModel(IDbcSettingsProvider dbcSettings)
 {
     SaveAction       = Save;
     Path             = dbcSettings.GetSettings().Path;
     SkipLoading      = dbcSettings.GetSettings().SkipLoading;
     this.dbcSettings = dbcSettings;
 }
        internal void Load()
        {
            if (dbcSettingsProvider.GetSettings().SkipLoading)
            {
                return;
            }

            WDBXEditor.Storage.Database.LoadDefinitions();

            LoadLegion("spell.db2", 0, 1, SpellStore);
            LoadLegion("achievement.db2", 12, 1, AchievementStore);
            LoadLegion("AreaTable.db2", 0, 2, AreaStore);
            LoadLegion("chrClasses.db2", 19, 1, ClassStore);
            LoadLegion("chrRaces.db2", 34, 2, RaceStore);
            LoadLegion("Emotes.db2", 0, 2, EmoteStore);
            LoadLegion("ItemSparse.db2", 0, 2, ItemStore);
            LoadLegion("Languages.db2", 1, 0, LanguageStore);
            // LoadLegion("Phase.db2", 1, 0, PhaseStore); // no names in legion :(
            LoadLegion("SoundKitName.db2", 0, 1, SoundStore);

            parameterFactory.Register("SpellParameter", (name) => new DbcParameter(name, SpellStore));
            parameterFactory.Register("EmoteParameter", (name) => new DbcParameter(name, EmoteStore));
            parameterFactory.Register("SoundParameter", (name) => new DbcParameter(name, SoundStore));
            parameterFactory.Register("ZoneParameter", (name) => new DbcParameter(name, AreaStore));
            parameterFactory.Register("PhaseParameter", (name) => new DbcParameter(name, PhaseStore));
        }
示例#4
0
        public DBCConfigViewModel(IDbcSettingsProvider dbcSettings)
        {
            path        = dbcSettings.GetSettings().Path;
            skipLoading = dbcSettings.GetSettings().SkipLoading;
            dbcVersion  = dbcSettings.GetSettings().DBCVersion;

            Save = new DelegateCommand(() =>
            {
                dbcSettings.UpdateSettings(new DBCSettings {
                    Path = Path, SkipLoading = SkipLoading, DBCVersion = DBCVersion
                });
                IsModified = false;
            });
        }
        internal void Load()
        {
            if (dbcSettingsProvider.GetSettings().SkipLoading)
            {
                return;
            }

            WDBXEditor.Storage.Database.LoadDefinitions();
            WDBXEditor.Storage.Database.BuildNumber = (int)dbcSettingsProvider.GetSettings().DBCVersion;

            switch (dbcSettingsProvider.GetSettings().DBCVersion)
            {
            case DBCVersions.WOTLK_12340:
            {
                Load("Spell.dbc", 0, 136, SpellStore);
                Load("Achievement.dbc", 0, 4, AchievementStore);
                Load("AreaTable.dbc", 0, 11, AreaStore);
                Load("chrClasses.dbc", 0, 4, ClassStore);
                Load("chrRaces.dbc", 0, 14, RaceStore);
                Load("Emotes.dbc", 0, 1, EmoteStore);
                Load("SoundEntries.dbc", 0, 2, SoundStore);
                break;
            }

            case DBCVersions.CATA_15595:
            {
                Load("Spell.dbc", 0, 21, SpellStore);
                Load("Achievement.dbc", 0, 4, AchievementStore);
                Load("AreaTable.dbc", 0, 11, AreaStore);
                Load("chrClasses.dbc", 0, 3, ClassStore);
                Load("chrRaces.dbc", 0, 14, RaceStore);
                Load("Emotes.dbc", 0, 1, EmoteStore);
                Load("item-sparse.db2", 0, 99, ItemStore);
                Load("Phase.dbc", 0, 1, PhaseStore);
                Load("SoundEntries.dbc", 0, 2, SoundStore);
                break;
            }

            case DBCVersions.LEGION_26972:
            {
                Load("spell.db2", 0, 1, SpellStore);
                Load("achievement.db2", 12, 1, AchievementStore);
                Load("AreaTable.db2", 0, 2, AreaStore);
                Load("chrClasses.db2", 19, 1, ClassStore);
                Load("chrRaces.db2", 34, 2, RaceStore);
                Load("Emotes.db2", 0, 2, EmoteStore);
                Load("ItemSparse.db2", 0, 2, ItemStore);
                Load("Languages.db2", 1, 0, LanguageStore);
                // Load("Phase.db2", 1, 0, PhaseStore); // no names in legion :(
                Load("SoundKitName.db2", 0, 1, SoundStore);
                break;
            }

            default:
                return;
            }

            parameterFactory.Register("SpellParameter", (name) => new DbcParameter(name, SpellStore));
            parameterFactory.Register("ItemParameter", (name) => new DbcParameter(name, ItemStore));
            parameterFactory.Register("EmoteParameter", (name) => new DbcParameter(name, EmoteStore));
            parameterFactory.Register("SoundParameter", (name) => new DbcParameter(name, SoundStore));
            parameterFactory.Register("ZoneParameter", (name) => new DbcParameter(name, AreaStore));
            parameterFactory.Register("PhaseParameter", (name) => new DbcParameter(name, PhaseStore));
        }