public void Tick(TimeSpan deltaTime) { if (CurrentResearch != null && CurrentResearchPoints >= CurrentResearch.ResearchPointsRequired) { ResearchedTechnologies.Add(CurrentResearch); CurrentResearch.EndAction?.Invoke(this); CurrentResearchPoints -= CurrentResearch.ResearchPointsRequired; CurrentResearch = null; } }
public override void Update() { base.Update(); if (CurrentResearch == null) { return; } foreach (var researcher in Researchers) { CurrentSciencePoints += researcher.SciencePointsPerSecond * Ecs.UpdateDelay.TotalSeconds; } if (CurrentSciencePoints >= CurrentResearch.RequiredSciencePoints) { ResearchedTechnologies.Add(CurrentResearch); CurrentResearch = null; CurrentSciencePoints = 0; } }