コード例 #1
0
 public void RemoveImpact(EWorldImpactType type)
 {
     if (impacts.Contains(type))
     {
         impacts.Remove(type);
     }
 }
コード例 #2
0
 public void SetNewImpact(EWorldImpactType type)
 {
     if (!impacts.Contains(type))
     {
         impacts.Add(type);
     }
 }
コード例 #3
0
        public static EBudgetType GetBuildingType(EWorldImpactType impactType)
        {
            switch (impactType)
            {
            case EWorldImpactType.None:
                return(EBudgetType.None);

            case EWorldImpactType.CERN:
                return(EBudgetType.CERN);

            case EWorldImpactType.BasicTownHall:
                return(EBudgetType.TownHall);

            case EWorldImpactType.BankruptedTownHall:
                return(EBudgetType.TownHall);

            case EWorldImpactType.FruitMarketTownHall:
                return(EBudgetType.TownHall);

            case EWorldImpactType.WoodyTownHall:
                return(EBudgetType.TownHall);

            case EWorldImpactType.VegetableTownHall:
                return(EBudgetType.TownHall);

            case EWorldImpactType.ElecTownHallV1:
                return(EBudgetType.TownHall);

            case EWorldImpactType.ElecTownHallV2:
                return(EBudgetType.TownHall);

            case EWorldImpactType.School:
                return(EBudgetType.None);

            case EWorldImpactType.CarsCompany:
                return(EBudgetType.CarsCompany);

            case EWorldImpactType.ElecCarsCompanyV1:
                return(EBudgetType.CarsCompany);

            case EWorldImpactType.ElecCarsCompanyV2:
                return(EBudgetType.CarsCompany);

            case EWorldImpactType.CoalPowerPlant:
                return(EBudgetType.CoalPowerPlant);

            case EWorldImpactType.RenewableCoalPowerPlant:
                return(EBudgetType.CoalPowerPlant);

            case EWorldImpactType.MaritimeAssociation:
                return(EBudgetType.None);

            case EWorldImpactType.OilPlant:
                return(EBudgetType.None);

            default:
                return(EBudgetType.None);
            }
        }
コード例 #4
0
 public bool HaveRequiredItem(EWorldImpactType target)
 {
     if (ResourcesManager.Instance.BudgetValues.ContainsKey(target))
     {
         return(budgetComponent.budget >= ResourcesManager.Instance.BudgetValues[target].targetBudget);
     }
     else
     {
         return(false);
     }
 }
コード例 #5
0
        public void Init(string pnjKey)
        {
            NPCWrap info = null;
            int     l    = ResourcesManager.Instance.NPCs.objects.Count;

            for (int i = 0; i < l; i++)
            {
                NPCWrap wrap = ResourcesManager.Instance.NPCs.objects[i];
                if (wrap.ID == pnjKey)
                {
                    info = wrap;
                    break;
                }
            }
            if (info != null)
            {
                EWorldImpactType baseImpact = PropertyUtils.CastEnum <EWorldImpactType>(info.impactType);
                impacts.Add(baseImpact);
                type = ResourcesManager.GetBuildingType(baseImpact);

                BudgetValues values;
                if (ResourcesManager.Instance.BudgetValues.ContainsKey(baseImpact))
                {
                    values = ResourcesManager.Instance.BudgetValues[baseImpact];
                }
                else
                {
                    values = ResourcesManager.Instance.BudgetValues[EWorldImpactType.None];
                }

                initialBudget      = values.initialBudget;
                workingLimitBudget = values.workingLimitBudget;
                budget             = values.initialBudget;
                productBenefit     = values.productBenefit;
            }
            SetWorking();
            ResourcesManager.Instance.AddBudgetComponent(this);
        }
コード例 #6
0
 public void RemoveBonusImpact(EWorldImpactType bonusType)
 {
     _bonusValues[bonusType]--;
 }
コード例 #7
0
 public void AddBonusImpact(EWorldImpactType bonusType)
 {
     _bonusValues[bonusType]++;
 }