示例#1
0
        public void Tick(TimeSpan deltaTime)
        {
            if (CurrentResearch != null && CurrentResearchPoints >= CurrentResearch.ResearchPointsRequired)
            {
                ResearchedTechnologies.Add(CurrentResearch);

                CurrentResearch.EndAction?.Invoke(this);

                CurrentResearchPoints -= CurrentResearch.ResearchPointsRequired;
                CurrentResearch        = null;
            }
        }
示例#2
0
        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;
            }
        }