public Story(string name, IRuleset <IStory, IStoryHandler> handlerProvider) { try { Ensure.ArgumentNotEmpty(name, "name"); Ensure.ArgumentNotNull(handlerProvider, "handlerProvider"); this.HandlerProvider = handlerProvider; this.stopWatch = new Stopwatch(); this.log = new StoryLog(this); this.data = new StoryData(this); if (this.Parent == null) { this.Name = name; } else { this.Name = this.Parent.Name + "/" + name; } } catch { base.Detach(); throw; } }
public Story(string name, IRuleset <IStory, IStoryHandler> handlerProvider, bool notInContext = false) { Ensure.ArgumentNotEmpty(name, "name"); Ensure.ArgumentNotNull(handlerProvider, "handlerProvider"); this.HandlerProvider = handlerProvider; this.notInContext = notInContext; this.stopWatch = new Stopwatch(); this.log = new StoryLog(this); this.data = new StoryData(this); this.Name = name; }
private static void AddData(IStoryData storyData, IStory story) { foreach (var data in story.Data) { storyData[data.Key] = data.Value; } if (story.Children != null) { foreach (var childStory in story.Children) { AddData(storyData, childStory); } } }
public QuantumGateInitializer(ProgressBar progressBar, bool forceValidation = false) : base(progressBar) { if (!FindGameData()) { var dialog = new FolderBrowserDialog(); var result = dialog.ShowDialog(); if (result == DialogResult.OK) { ExternalGameDataPath = dialog.SelectedPath; } if (!string.IsNullOrEmpty(ExternalGameDataPath) && !File.Exists(Path.Combine(ExternalGameDataPath, "QGATE.EXE"))) { throw new FileNotFoundException("File not found", "QGATE.EXE"); } } StoryData = new QuantumGateStoryData(ExternalGameDataPath); ForceValidation = forceValidation; }
public StoryService(IStoryData storyData) { _storyData = storyData; }
public GameState(GameWindow gameWindow, IStoryData storyData) : base(gameWindow) { _storyData = storyData; }