adding timer cfgs
This commit is contained in:
@@ -9,10 +9,11 @@ public class UnitTrainingService
|
||||
|
||||
private readonly IMongoCollection<UnitTraining> _training;
|
||||
private readonly ResourceService _resources;
|
||||
private readonly GameSettingsService _settings;
|
||||
private readonly int _scoutGoldCost;
|
||||
private readonly int _scoutTrainingSeconds;
|
||||
private readonly int _defaultScoutTrainingSeconds;
|
||||
|
||||
public UnitTrainingService(IConfiguration cfg, ResourceService resources)
|
||||
public UnitTrainingService(IConfiguration cfg, ResourceService resources, GameSettingsService settings)
|
||||
{
|
||||
var connectionString = cfg["MongoDB:ConnectionString"] ?? "mongodb://127.0.0.1:27017";
|
||||
var databaseName = cfg["MongoDB:DatabaseName"] ?? "territory-autobattler";
|
||||
@@ -20,8 +21,9 @@ public class UnitTrainingService
|
||||
var database = client.GetDatabase(databaseName);
|
||||
_training = database.GetCollection<UnitTraining>("UnitTraining");
|
||||
_resources = resources;
|
||||
_settings = settings;
|
||||
_scoutGoldCost = int.TryParse(cfg["Units:ScoutGoldCost"], out var scoutGoldCost) ? Math.Max(0, scoutGoldCost) : 50;
|
||||
_scoutTrainingSeconds = int.TryParse(cfg["Units:ScoutTrainingSeconds"], out var scoutTrainingSeconds)
|
||||
_defaultScoutTrainingSeconds = int.TryParse(cfg["Units:ScoutTrainingSeconds"], out var scoutTrainingSeconds)
|
||||
? Math.Max(1, scoutTrainingSeconds)
|
||||
: 60;
|
||||
|
||||
@@ -62,6 +64,7 @@ public class UnitTrainingService
|
||||
}
|
||||
|
||||
var now = DateTime.UtcNow;
|
||||
var scoutTrainingSeconds = await _settings.GetIntAsync(GameSettingsService.ScoutTrainingSeconds, _defaultScoutTrainingSeconds);
|
||||
var training = new UnitTraining
|
||||
{
|
||||
Username = username,
|
||||
@@ -69,7 +72,7 @@ public class UnitTrainingService
|
||||
GoldCost = _scoutGoldCost,
|
||||
Status = "Training",
|
||||
StartedAtUtc = now,
|
||||
CompletesAtUtc = now.AddSeconds(_scoutTrainingSeconds),
|
||||
CompletesAtUtc = now.AddSeconds(scoutTrainingSeconds),
|
||||
CreatedAtUtc = now,
|
||||
UpdatedAtUtc = now
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user