Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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;
        }
Beispiel #3
0
        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;
 }
Beispiel #6
0
 public GameState(GameWindow gameWindow, IStoryData storyData)
     : base(gameWindow)
 {
     _storyData = storyData;
 }