internal static UpgradeTemplate CreateVeterancyUpgradeTemplate(VeterancyLevel veterancyLevel) { var result = new UpgradeTemplate { Type = UpgradeType.Object }; result.SetNameAndInstanceId("Upgrade", $"Upgrade_Veterancy_{veterancyLevel.ToString().ToUpperInvariant()}"); return(result); }
private (int, float) GetCountAndProgress(UpgradeTemplate upgradeTemplate) { var progress = 0.0f; var count = _productionQueue.Where(x => x.UpgradeDefinition != null && upgradeTemplate.Name == x.UpgradeDefinition.Name).Count(); var currentJob = _productionQueue[0]; if (currentJob.UpgradeDefinition != null && upgradeTemplate.Name == currentJob.UpgradeDefinition.Name) { progress = currentJob.Progress; } return(count, progress); }
internal void CancelUpgrade(UpgradeTemplate upgradeDefinition) { var index = -1; for (var i = 0; i < _productionQueue.Count; i++) { if (_productionQueue[i].UpgradeDefinition == upgradeDefinition) { index = i; } } if (index < 0 || index > _productionQueue.Count) { return; } _productionQueue.RemoveAt(index); }
internal void QueueUpgrade(UpgradeTemplate upgradeDefinition) { var job = new ProductionJob(upgradeDefinition); _productionQueue.Add(job); }
private void GrantUpgrade(UpgradeTemplate upgradeDefinition) { _gameObject.Upgrade(upgradeDefinition); }
public Upgrade(UpgradeTemplate template) { Template = template; }
private static void CreateVeterancyUpgrade(AssetStore assetStore, VeterancyLevel veterancyLevel) { assetStore.Upgrades.Add(UpgradeTemplate.CreateVeterancyUpgradeTemplate(veterancyLevel)); }