static void Main(string[] args) { foreach (string QuestFile in Directory.GetFiles($"{PathingHelper.gamedatabaseDir}quests", "*.quest", SearchOption.AllDirectories)) { ModelQuest Quest = new ModelQuest().DeserializeFromFile(QuestFile); //@TODO figure out correct settings for ModelQuestinstance ModelQuestinstance Instance = new ModelQuestinstance { Id = Quest.Id, Active = "false", Status = "assigned", Timer = Quest.Timer }; //@TODO add Instance to Quests model Console.WriteLine($"Pharsing questfile:" + QuestFile + " with quest Id " + Quest.Id + ". Instance status is " + Instance.Status); Quest.Source = QuestFile; Quests.Add(Quest.Id, Quest); if (Quest.Id == 10138) { // Example write back XML for quest Id 10138 Quest.SerializeObjectToFile <ModelQuest>($"{PathingHelper.gamedatabaseDir}quests{Path.DirectorySeparatorChar}test{Path.DirectorySeparatorChar}" + Path.GetFileName(QuestFile)); } } Console.WriteLine("\nPress any key to close this window."); Console.ReadKey(true); }
public ProxyQuest(ModelQuest quest) { Stages = new ObservableCollection <ProxyStage>(); mQuest = quest; foreach (ModelStage stage in mQuest.Stages) { ProxyStage ps = new ProxyStage(stage); Stages.Add(ps); } }
public QuestEditorWindow() { InitializeComponent(); CommandBindings.Add(new CommandBinding(ApplicationCommands.Delete, ExecutedDelete, CanExecuteDelete)); CommandBindings.Add(new CommandBinding(AddStage, ExecutedAddStage, CanExecuteAddStage)); CommandBindings.Add(new CommandBinding(AddQuest, ExecutedAddQuestCommand, CanExecuteAddQuestCommand)); ModelQuest q = new ModelQuest() { Title = "Test quest", ID = "test" }; Proxy.ProxyStory s = new Proxy.ProxyStory(mStory); s.AddQuest(s.CreateNewQuest()); s.AddQuest(s.CreateNewQuest()); s.AddQuest(s.CreateNewQuest()); s.AddQuest(s.CreateNewQuest()); mStoryTreeView.DataContext = s; mProxyStory = s; // CommandBindings.Add(new CommandBinding(QuestEditorWindow.AddQuest, ExecutedAddQuestCommand, CanExecuteAddQuestCommand)); }