/// <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); }
/// <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); }
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); }
/// <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)); }
/// <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; }
/// <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(); }