示例#1
0
    /// <summary>
    /// Adds the ability.
    /// </summary>
    /// <param name="ability">Ability.</param>
    /// <param name="rate">(float)EngineType for engines. Otherwise just amount. For shields: 1 is directional, 0 is wall</param>
    /// <param name="rate2">Powermodifier as decimal. Only required for engines. For shields, x coord, only if directional</param>
    /// <param name="rate3">If engine, thermal reduction, 0-.95, higher is stealthier. For shields, y coord, only if directional</param>
    public void AddAbility(AbilityCats ability, float rate = 0, float rate2 = 0f, float rate3 = 0f)
    {
        Ability a = new Ability();

        a.AbilityType = ability;
        a.Rating      = rate;
        a.Rating2     = rate2;
        a.Rating3     = rate3;
        if (a.AbilityType == AbilityCats.THRUST)
        {
            //	Debug.Log ("Designing engine...");
            a.thrust = (Mass / 50) * (1 + rate2 * rate);
            Category = CompCategory.ENGINE;
        }
        else if (a.AbilityType == AbilityCats.STRATEGICMOVE)
        {
            a.thrust = (int)((Mass / 50) * a.Rating);
        }
        else if (a.AbilityType == AbilityCats.ARMOR)
        {
            Armored = true;
        }
        Abilities.Add(a.AbilityType, a);
    }
示例#2
0
 public SubComponent(string name, AbilityCats ab, List <float> list)
 {
     SubComponentName = name;
     AbilityType      = ab;
     Modifiers.AddRange(list);
 }