Пример #1
0
    public override WeaponInfo ToInfo(WeaponModifier.ModifierNames mod)
    {
        float moddedDamage   = damage * WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.DAMAGE);
        float moddedFireRate = fireTime / WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.FIRE_RATE);
        float moddedAccuracy = maxSpreadAngle / WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.ACCURACY);

        WeaponInfo info = new WeaponInfo(weaponType, mod);

        if (weaponType != WeaponType.SCATTER_SHOT)
        {
            info.AddAttribute("Damage", RoundStatToDecimalPlaces(moddedDamage, 1).ToString());
        }
        else
        {
            int bonusProjectiles = (int)WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.BONUS_PROJECTILES);
            int count            = projectilesPerShot + bonusProjectiles;
            info.AddAttribute("Damage", RoundStatToDecimalPlaces(damage, 1) + " (x" + count + ")");
        }

        info.AddAttribute("Fire Rate", RoundStatToDecimalPlaces(1 / moddedFireRate, 1) + "/s");
        info.AddAttribute("Projectile Speed", RoundStatToDecimalPlaces(projectileSpeed, 1).ToString());
        info.AddAttribute("Accuracy", RoundStatToDecimalPlaces((1 - (moddedAccuracy * 2 / 180)) * 100, 1) + "%");

        return(info);
    }
Пример #2
0
    public WeaponInfo(WeaponScript.WeaponType weaponType, WeaponModifier.ModifierNames p_Modifier)
    {
        GameObject prefab = GameMaster.WeaponMngr.GetWeaponPrefab( weaponType );
        weaponPrefab = prefab;
        WeaponModifier.GetModifiedName( p_Modifier, prefab.name, out name );
        modifier = p_Modifier;

        attributes = new Dictionary<string, string>();
    }
Пример #3
0
    public override WeaponInfo ToInfo(WeaponModifier.ModifierNames mod)
    {
        float      moddedDamage = damage * WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.DAMAGE);
        float      moddedRange  = beamRange * WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.BEAM_RANGE);
        WeaponInfo info         = new WeaponInfo(weaponType, mod);

        info.AddAttribute("Damage", RoundStatToDecimalPlaces(moddedDamage, 1) + "/s");
        info.AddAttribute("Range", RoundStatToDecimalPlaces(moddedRange, 1).ToString());
        return(info);
    }
Пример #4
0
    public WeaponInfo(WeaponScript.WeaponType weaponType, WeaponModifier.ModifierNames p_Modifier)
    {
        GameObject prefab = GameMaster.WeaponMngr.GetWeaponPrefab(weaponType);

        weaponPrefab = prefab;
        WeaponModifier.GetModifiedName(p_Modifier, prefab.name, out name);
        modifier = p_Modifier;

        attributes = new Dictionary <string, string>();
    }
Пример #5
0
    public override WeaponInfo ToInfo(WeaponModifier.ModifierNames mod)
    {
        float moddedDamage   = damage * WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.DAMAGE);
        float moddedSpeed    = projectileSpeed * WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.MINE_SPEED);
        float moddedFireRate = fireTime / WeaponModifier.GetModifierValue(mod, WeaponModifier.Stats.FIRE_RATE);

        WeaponInfo info = new WeaponInfo(weaponType, mod);

        info.AddAttribute("Damage", RoundStatToDecimalPlaces(moddedDamage, 1).ToString());
        info.AddAttribute("Fire Rate", RoundStatToDecimalPlaces(1 / moddedFireRate, 1) + "/s");
        info.AddAttribute("Projectile Speed", RoundStatToDecimalPlaces(moddedSpeed, 1).ToString());
        return(info);
    }
Пример #6
0
    void OnEnable()
    {
        currentWeapons = new List <WeaponInfo> ();

        for (int i = 0; i < 8; i++)
        {
            WeaponScript.WeaponType weapon = (WeaponScript.WeaponType)Random.Range(0, (int)WeaponScript.WeaponType.NUM_WEAPONS);

            GameObject g = GameMaster.WeaponMngr.GetWeaponPrefab(weapon);

            int start = 0;
            int end   = 0;

            GameMaster.WeaponMngr.GetModifierRangeForWeapon(weapon, out start, out end);

            WeaponModifier.ModifierNames modifier = (WeaponModifier.ModifierNames)Random.Range(start, end);
            currentWeapons.Add(g.GetComponent <WeaponScript> ().ToInfo(modifier));
        }

        //GameObject g2 = GameMaster.WeaponMngr.GetWeaponPrefab (WeaponScript.WeaponType.MISSILE_LAUNCHER);
        //currentWeapons.Add (g2.GetComponent<WeaponScript> ().ToInfo(WeaponModifier.ModifierNames.));

        PopulateButtons();
    }
Пример #7
0
 public void SetModifier(WeaponModifier.ModifierNames mod)
 {
     modifier = mod;
     ApplyModifier();
 }
Пример #8
0
 public abstract WeaponInfo ToInfo(WeaponModifier.ModifierNames mod);
Пример #9
0
 public void SetModifier( WeaponModifier.ModifierNames mod )
 {
     modifier = mod;
     //ApplyModifier();
 }