string Wrap(CorporatePolicy corporatePolicy, string descriptionLeft, string descriptionRight) { var investorCulture = Companies.GetOwnCulture(SelectedInvestor); var playerCulture = Companies.GetActualCorporateCulture(MyCompany); int diff = Mathf.Abs(investorCulture[corporatePolicy] - playerCulture[corporatePolicy]); string description = DescribePolicy(corporatePolicy, descriptionLeft, descriptionRight); if (description.Length > 0) { var colorName = Colors.COLOR_NEUTRAL; if (diff <= 2) { colorName = Colors.COLOR_POSITIVE; } if (diff > 6) { colorName = Colors.COLOR_NEGATIVE; } return(Visuals.Colorize(description + "\n", colorName)); } return(""); }
public void SetSettings(CorporatePolicy policy, int change) { CorporatePolicy = policy; Change = change; RenderShades(change); }
void SetText(Text text, CorporatePolicy corporatePolicy, GameObject policyObject, bool render) { var value = Companies.GetPolicyValue(MyCompany, corporatePolicy); text.text = value.ToString(); policyObject.SetActive(render); }
string DescribePolicy(CorporatePolicy corporatePolicy, string left, string right) { var investorCulture = Companies.GetOwnCulture(SelectedInvestor); var val = investorCulture[corporatePolicy]; if (val == 5) { return(right + "\n"); } if (val == 0) { return(left + "\n"); } return(""); }
string DescribePolicy(int value, CorporatePolicy policy) { bool isLeft = value <= 2; bool isRight = value >= 8; if (!isLeft && !isRight) { return(""); } switch (policy) { //case CorporatePolicy.Make: return DescribeAcquisitionPolicy(isLeft); case CorporatePolicy.FocusingOrSpread: return(DescribeFocusingPolicy(isLeft)); case CorporatePolicy.SalariesLowOrHigh: return(DescribeSalaries(isLeft)); case CorporatePolicy.CompetitionOrSupport: return(DescribeAttitudeToCompetition(isLeft)); default: return(policy.ToString() + ": " + value); } }
public static float GetPolicyValueModified(GameEntity company, CorporatePolicy policy, float min, float centerValue, float max) { var flatness = Companies.GetPolicyValue(company, policy); var center = 5; // ---- structure var multiplier = centerValue; if (flatness < center) { multiplier = min; } if (flatness > center) { multiplier = max; } return(multiplier); }
public static void TweakCorporatePolicy(GameContext gameContext, GameEntity company, CorporatePolicy policy, int value) { if (Cooldowns.HasCorporateCultureUpgradeCooldown(gameContext, company)) { return; } Cooldowns.AddCorporateCultureUpgradeCooldown(gameContext, company, GetCultureChangeSpeed(company)); var culture = GetOwnCulture(company); culture[policy] = Mathf.Clamp(value, C.CORPORATE_CULTURE_LEVEL_MIN, C.CORPORATE_CULTURE_LEVEL_MAX); company.ReplaceCorporateCulture(culture); }
public static void DecrementCorporatePolicy(GameContext gameContext, GameEntity company, CorporatePolicy policy) { var culture = GetOwnCulture(company); var value = culture[policy] - 1; TweakCorporatePolicy(gameContext, company, policy, value); }
public static void SetCorporatePolicy(GameContext gameContext, GameEntity company, CorporatePolicy policy, int value = 5) { TweakCorporatePolicy(gameContext, company, policy, value); }
public static string GetPolicyDescription(CorporatePolicy policy) { return(policy.ToString()); }
public static void TweakCorporatePolicy(GameContext gameContext, GameEntity company, CorporatePolicy policy, int value) { if (Cooldowns.HasCorporateCultureUpgradeCooldown(gameContext, company)) { return; } Cooldowns.AddCorporateCultureUpgradeCooldown(gameContext, company, Balance.CORPORATE_CULTURE_CHANGES_DURATION); var culture = GetOwnCorporateCulture(company); var prevValue = culture[policy]; culture[policy] = Mathf.Clamp(value, Balance.CORPORATE_CULTURE_LEVEL_MIN, Balance.CORPORATE_CULTURE_LEVEL_MAX); if (value != prevValue) { // culture changed NotificationUtils.AddPopup(gameContext, new PopupMessageCultureChange(company.company.Id)); } company.ReplaceCorporateCulture(culture); }
public static int GetPolicyValue(GameEntity company, CorporatePolicy policy) => GetOwnCorporateCulture(company)[policy];
string DescribePolicy(Dictionary <CorporatePolicy, int> culture, CorporatePolicy policy) { return(DescribePolicy(culture[policy], policy)); }