//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); } }
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); }
public ShipMod(ShipModEnum.ModType type, int tier) { this.ShipModType = type; this.TierLevel = tier; }