//public int Rarity/min level to show
 public BuffMod(ShipModEnum.ModType type, string effectName,
                int tier, float effectModifier, float energyModifier, int weight)
     : base(type, tier)
 {
     this.effectModifier = effectModifier;
     this.weight         = weight;
 }
    //Check for UI
    public bool IsModEquipped(ShipModEnum.ModType type)
    {
        //Can simply this to one line.
        ShipMod checkedType;
        bool    found = equipedMods.TryGetValue(type, out checkedType);

        return(found);
    }
    /*
     *  Returns total energy modifier for type that are equipped and powered.
     *  Returns 0 if no buffs enabled.
     */
    public float GetTotalEnergyModifierForType(ShipModEnum.ModType type, int currentTier)
    {
        float costModifier = 0;

        foreach (BuffMod buff in equippedBuffs)
        {
            if (type == buff.ShipModType && currentTier >= buff.TierLevel)
            {
                //Matching type and we have the energy to use
                costModifier += buff.energyModifier;
            }
        }
        return(costModifier);
    }
    /*
     *  Returns total buff effect for type that are equipped and powered.
     *  Returns 0 if no buffs enabled.
     */
    public float GetTotalBuffForType(ShipModEnum.ModType type, int currentTier)
    {
        float buffTotal = 0;

        foreach (BuffMod buff in equippedBuffs)
        {
            if (type == buff.ShipModType && currentTier >= buff.TierLevel)
            {
                //Matching type and we have the energy to use
                buffTotal += buff.effectModifier;
            }
        }
        return(buffTotal);
    }
    public bool IsModEquippedActiveAtTier(ShipModEnum.ModType type, int tierLevel)
    {
        ShipMod checkedType = null;
        bool    found       = equipedMods.TryGetValue(type, out checkedType);

        if (!found)
        {
            return(false);
        }
        else if (checkedType != null)
        {
            return(checkedType.TierLevel <= tierLevel);
        }
        else
        {
            Debug.LogError("Passed type is not equipped. This should not happen...What have you done???");
            return(false);
        }
    }
Exemple #6
0
    public ShipMod BuildMod(ShipModEnum.ModType type)
    {
        ShipMod newMod = null;

        switch (type)
        {
        case ShipModEnum.ModType.MovementCore:
            newMod = new ShipMod(type, 1);
            break;

        case ShipModEnum.ModType.ShooterCore:
            newMod = new ShipMod(type, 2);
            break;

        case ShipModEnum.ModType.DodgeRollCore:
            newMod = new ShipMod(type, 3);
            break;

        case ShipModEnum.ModType.BoostCore:
            newMod = new ShipMod(type, 4);
            break;
        }
        return(newMod);
    }
Exemple #7
0
 public ShipMod(ShipModEnum.ModType type, int tier)
 {
     this.ShipModType = type;
     this.TierLevel   = tier;
 }