コード例 #1
0
    /// <summary>
    ///
    /// </summary>
    /// <param name="type"></param>
    /// <returns></returns>
    public float FX(FXT type)
    {
        foreach (Project p in projects)
        {
            if (p.type == type)
            {
                if (IsConstant(p))
                {
                    return(p.amount[0] * GetLevel(p));
                }
                else
                {
                    if (GetLevel(p) == 0)
                    {
                        return(1f);
                    }
                    else if (GetLevel(p) == 4)
                    {
                        return(p.amount[2]);
                    }
                    else
                    {
                        return(p.amount[GetLevel(p) - 1]);
                    }
                }
            }
        }

        return(1f);
    }
コード例 #2
0
ファイル: WarningChoice.cs プロジェクト: dornED/gameoff2020
    bool IsLimited(FXT type, float amount)
    {
        switch (type)
        {
        case FXT.Needs:
            if (amount < -GM.I.people.needs)
            {
                return(true);
            }
            break;

        case FXT.Comfort:
            if (amount < -GM.I.people.comfort)
            {
                return(true);
            }
            break;

        case FXT.Culture:
            if (amount < -GM.I.people.culture)
            {
                return(true);
            }
            break;

        case FXT.Energy:
            if (amount < -GM.I.resource.resources.Energy)
            {
                return(true);
            }
            break;

        case FXT.Material:
            if (amount < -GM.I.resource.resources.Material)
            {
                return(true);
            }
            break;

        case FXT.Water:
            if (amount < -GM.I.resource.resources.Water)
            {
                return(true);
            }
            break;

        default:
            break;
        }
        return(false);
    }
コード例 #3
0
ファイル: WarningChoice.cs プロジェクト: dornED/gameoff2020
    void ProcessEffect(FXT type, float amount)
    {
        switch (type)
        {
        case FXT.Needs:
            GM.I.people.needs += amount;
            break;

        case FXT.Birth:
            GM.I.people.Population[0] += (int)amount;
            break;

        case FXT.Comfort:
            GM.I.people.comfort += amount;
            break;

        case FXT.Culture:
            GM.I.people.culture += amount;
            break;

        case FXT.Death:
            GM.I.people.Kill(amount);
            break;

        case FXT.Energy:
            GM.I.resource.resources.r[0] += amount;
            break;

        case FXT.Hope:
            GM.I.people.hope += amount;
            break;

        case FXT.Integrity:
            GM.I.city.ModifyIntegrity(amount);
            break;

        case FXT.Material:
            GM.I.resource.resources.r[2] += amount;
            break;

        case FXT.Water:
            GM.I.resource.resources.r[1] += amount;
            break;

        default:
            break;
        }
    }
コード例 #4
0
ファイル: WarningChoice.cs プロジェクト: dornED/gameoff2020
    string EffectString(FXT fxt, float amount)
    {
        string output = "";

        if (fxt == FXT.Needs || fxt == FXT.Comfort || fxt == FXT.Culture || fxt == FXT.Hope || fxt == FXT.Integrity)
        {
            output += "" + UIManager.HumanNotation(amount) + " " + fxt.ToString();
            if (amount > 0)
            {
                output = UIManager.ColoredString(output, GM.I.art.green);
            }
            else
            {
                output = UIManager.ColoredString(output, GM.I.art.red);
            }
        }
        else if (fxt == FXT.Death)
        {
            output += "" + UIManager.HumanNotation(-(1f - amount)) + " Population";
            if (amount > 1)
            {
                output = UIManager.ColoredString(output, GM.I.art.green);
            }
            else
            {
                output = UIManager.ColoredString(output, GM.I.art.red);
            }
        }
        else if (fxt == FXT.Energy || fxt == FXT.Water || fxt == FXT.Material)
        {
            if (amount > 0)
            {
                output += "+" + amount + " " + fxt.ToString();
                output  = UIManager.ColoredString(output, GM.I.art.green);
            }
            else
            {
                output += "" + amount + " " + fxt.ToString();
                output  = UIManager.ColoredString(output, GM.I.art.red);
            }
        }
        return(output);
    }