Example #1
0
    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("");
    }
Example #2
0
    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);
    }
Example #4
0
    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("");
    }
Example #5
0
    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);
        }
    }
Example #6
0
        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);
        }
Example #7
0
        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);
        }
Example #8
0
        public static void DecrementCorporatePolicy(GameContext gameContext, GameEntity company, CorporatePolicy policy)
        {
            var culture = GetOwnCulture(company);

            var value = culture[policy] - 1;

            TweakCorporatePolicy(gameContext, company, policy, value);
        }
Example #9
0
 public static void SetCorporatePolicy(GameContext gameContext, GameEntity company, CorporatePolicy policy, int value = 5)
 {
     TweakCorporatePolicy(gameContext, company, policy, value);
 }
Example #10
0
 public static string GetPolicyDescription(CorporatePolicy policy)
 {
     return(policy.ToString());
 }
Example #11
0
        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);
        }
Example #12
0
 public static int GetPolicyValue(GameEntity company, CorporatePolicy policy) => GetOwnCorporateCulture(company)[policy];
Example #13
0
 string DescribePolicy(Dictionary <CorporatePolicy, int> culture, CorporatePolicy policy)
 {
     return(DescribePolicy(culture[policy], policy));
 }