コード例 #1
0
        public void ShowConsumption(CivilBuilding building, ResourceConsumption consumption)
        {
            var extraAmount = building.GetCurrentExtraInhabitantsForResource(consumption.ResourceToConsume);

            this.m_currentExtraPesantsAmount.text = $"{extraAmount:+#;-#;0}/+{consumption.ExtraInhibitants}";
            this.m_resourceIcon.sprite            = consumption.ResourceToConsume.Icon;
        }
コード例 #2
0
        private void Consume(ResourceConsumption consumption)
        {
            var consumptionAmount = consumption.ConsumptionPerMinute * this.CurrentInhabitants / 60f;
            var oldAmount         = this.CurrentInhabitants;

            if (consumption.ResourceToConsume.ResourceController.CanAfford(consumptionAmount))
            {
                consumption.ResourceToConsume.ResourceController.TryUseResource(consumptionAmount);
                if (this.m_currentExtraInhibitantsPerResource[consumption.ResourceToConsume] <= consumption.ExtraInhibitants)
                {
                    this.CurrentInhabitants -= this.m_currentExtraInhibitantsPerResource[consumption.ResourceToConsume];
                    this.m_currentExtraInhibitantsPerResource[consumption.ResourceToConsume] = consumption.ExtraInhibitants;
                    this.CurrentInhabitants += this.m_currentExtraInhibitantsPerResource[consumption.ResourceToConsume];
                }
            }
            else
            {
                this.CurrentInhabitants -= this.m_currentExtraInhibitantsPerResource[consumption.ResourceToConsume];
                this.m_currentExtraInhibitantsPerResource[consumption.ResourceToConsume] = 0;
            }

            this.CurrentInhabitants = Mathf.Clamp(this.CurrentInhabitants, 0, this.m_data.MaxInhibitants);
            this.m_data.Resource.ResourceController.CalulateDelta(this.CurrentInhabitants - oldAmount);
        }
コード例 #3
0
 public void Show(CivilBuilding building, ResourceConsumption consumption)
 {
     this.m_resourceIcon.sprite       = consumption.ResourceToConsume.Icon;
     this.m_consumptionPerMinute.text = $"{building.CurrentInhabitants * consumption.ConsumptionPerMinute}/min";
 }