Example #1
0
        /// <summary>
        /// Write Configuration
        /// </summary>
        /// <param name="rockConfiguration">The RockConfiguration</param>
        private void WriteRockConfiguration(RockConfiguration rockConfiguration)
        {
            var hearthstoneConfigurationPath = Path.Combine(this.pegasusRoot, RelativePathToHearthstoneAssemblyDirectory, HearthrockConfigurationFileName);
            var configurationJson            = JsonConvert.SerializeObject(rockConfiguration, Formatting.Indented);

            File.WriteAllText(hearthstoneConfigurationPath, configurationJson);
        }
Example #2
0
        /// <summary>
        /// Reload the configuration of RockEngine.
        /// Warning: not thread safe.
        /// </summary>
        public void Reload()
        {
            var configurationString = File.ReadAllText(RockEngineConstants.ConfigurationFilePath);

            this.configuration = RockJsonSerializer.Deserialize <RockConfiguration>(configurationString);
            this.tracer        = new RockTracer(this.configuration);
            this.bot           = new RockEngineBot(this.configuration, this.tracer);
            this.pegasus       = RockPegasusFactory.CreatePegasus(this.tracer);
        }
Example #3
0
        public void TestRockJsonSerializerOnRockConfiguration()
        {
            var config = new RockConfiguration();

            config.GameMode = RockGameMode.NormalPractice;
            var configJson   = RockJsonSerializer.Serialize(config);
            var configObject = RockJsonSerializer.Deserialize <RockConfiguration>(configJson);

            Assert.AreEqual(configObject.GameMode, config.GameMode);
        }
Example #4
0
 /// <summary>
 /// Write Configuration
 /// </summary>
 /// <param name="rockConfiguration">The RockConfiguration.</param>
 /// <returns>The async task.</returns>
 public async Task WriteRockConfigurationAsync(RockConfiguration rockConfiguration)
 {
     await Task.Run(() => this.WriteRockConfiguration(rockConfiguration));
 }
Example #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RockEngineBot" /> class.
 /// </summary>
 /// <param name="configuration">The RockConfiguration.</param>
 /// <param name="tracer">The RockTracer.</param>
 public RockEngineBot(RockConfiguration configuration, RockTracer tracer)
 {
     this.configuration = configuration;
     this.tracer        = tracer;
 }
Example #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RockTracer" /> class.
 /// </summary>
 /// <param name="configuration">The RockConfiguration.</param>
 public RockTracer(RockConfiguration configuration)
 {
     this.configuration = configuration;
     this.webApiClient  = new RockApiClient();
 }