public void AddWeapon(Weapon weapon)
 {
     WeaponList.Add(weapon);
     if (WeaponList.Count > MAX_WEAPONS)
     {
         throw new ArgumentException("Too many weapons added to entity.");
     }
 }
        private void AddButton_Click(object sender, RoutedEventArgs e)
        {
            WeaponEditor editor = new WeaponEditor();

            if (editor.ShowDialog() == true)
            {
                weaponlistLoader.Add(editor.TempWeapon);
                Update();
                hasChanged = true;
            }
        }
Exemple #3
0
        /// <summary>
        /// Processes the amount of shots available.
        /// </summary>
        /// <param name="type">what kind of laser</param>
        /// <param name="X">Float</param>
        /// <param name="Y">Float</param>
        public void ShootWeapon(Bitmap type, float X, float Y)
        {
            if (Shots > 0)
            {
                WeaponList.Add(new WeaponInstance(X, Y, type));
                SwinGame.PlaySoundEffect("Laser");
            }

            if (Shots <= 0)
            {
                SwinGame.PlaySoundEffect("Reload");
            }
        }
Exemple #4
0
    public void ChangeWeaponType(ItemWeaponType.WeaponType weaponType)
    {
        string weaponString = ItemWeaponType.GetWeaponTypeString(weaponType);

        if (weaponType == weapons.weaponType)
        {
            SetPowerupText(weaponString + " Improved");
            weapons.LevelUpType();
            return;
        }

        weapons.DeleteAll();
        Weapon w = Resources.Load <Weapon>("Prefabs/Weapon");
        Weapon cw;

        float weaponDistance = w.transform.localPosition.x;

        weapons.SetWeaponType(weaponType);
        SetPowerupText(weaponString + " Equipped");

        switch (weaponType)
        {
        default:
        case ItemWeaponType.WeaponType.SINGLE:
            cw = Instantiate(w, this.transform);
            cw.FireCooldown = 0.4f;
            cw.PowerUsage   = 5f;
            weapons.Add(cw);
            break;

        case ItemWeaponType.WeaponType.FORK:
            Vector2 vf = Vector2.one * .707f * weaponDistance;                     //normalized vector * weaponDistance
            cw = Instantiate(w, this.transform);
            cw.transform.localPosition = new Vector3(vf.y, cw.transform.localPosition.y, vf.x);
            cw.FireCooldown            = 0.5f;
            cw.PowerUsage = 4f;
            weapons.Add(cw);

            vf.Scale(new Vector2(-1, 1));
            cw = Instantiate(w, this.transform);
            cw.transform.localPosition = new Vector3(vf.y, cw.transform.localPosition.y, vf.x);
            cw.FireCooldown            = 0.5f;
            cw.PowerUsage = 4f;
            weapons.Add(cw);
            break;

        case ItemWeaponType.WeaponType.FRONTBACK:
            cw = Instantiate(w, this.transform);
            cw.FireCooldown = 0.6f;
            cw.PowerUsage   = 4f;
            weapons.Add(cw);

            cw = Instantiate(w, this.transform);
            cw.transform.localPosition = new Vector3(-weaponDistance, w.transform.localPosition.y, w.transform.localPosition.z);
            cw.FireCooldown            = 0.6f;
            cw.PowerUsage = 4f;
            weapons.Add(cw);
            break;

        case ItemWeaponType.WeaponType.RING:
            for (int i = 0; i < 360; i += 60)
            {
                cw = Instantiate(w, this.transform);
                Vector2 v = AngleToVector(i).normalized *weaponDistance;
                cw.transform.localPosition = new Vector3(v.x, cw.transform.localPosition.y, v.y);
                cw.BulletDuration          = 0.35f;
                cw.PowerUsage   = 2f;
                cw.FireCooldown = 1f;
                weapons.Add(cw);
            }
            break;
        }
    }
Exemple #5
0
 private void LoadWeapons()
 {
     WeaponList.Add(new Weapon("Sword", 3, 10, 2));
     WeaponList.Add(new Weapon("Axe", 4, 12, 3));
     WeaponList.Add(new Weapon("Longsword", 7, 20, 5));
 }
Exemple #6
0
 public void AddWeapon(string name, int dmg)
 {
     WeaponList.Add(new Weapon(name, dmg));
 }