public void InformOfEvent(EventBroadcast.Event _event) { if (_event == EventBroadcast.Event.PLAYER_COLLECTED_DIRT) { if (isStructureActive) { ActionAdjustResources actionAdjustResources = new ActionAdjustResources(new Resource(stackMultiplier.GetStackedAmount(), Resource.ResourceType.MINERAL)); actionAdjustResources.Execute(); } } }
private void Update() { if (isStructureActive) { intervalCounter += Time.deltaTime; float stackedAmount = stackMultiplier.GetStackedAmount_float(); // TODO: Great place to optimize here - don't do this every update loop if (stackedAmount != 0.0f && intervalCounter > (1.0f / stackedAmount)) { int mineralEarnMultiplier = (City.Instance.IsCityBenefitAvailable(CityBenefits.Benefit.REFINERY_DOUBLE) ? 2 : 1); ActionAdjustResources actionAdjustResources = new ActionAdjustResources(new Resource((mineralEarnPerInterval * mineralEarnMultiplier), Resource.ResourceType.MINERAL)); actionAdjustResources.Execute(); intervalCounter = 0.0f; } } }
public bool DoesActionSetHaveCost(ref string costDescription) { bool retVal = false; foreach (IAction action in actions) { ActionAdjustResources aar = action as ActionAdjustResources; if (aar != null) { if (aar.GetResourceAdjustmentAmount() < 0) { retVal = true; costDescription += -aar.GetResourceAdjustmentAmount() + " " + aar.GetResourceAdjustmentName().ToLower() + " "; } } } return(retVal); }