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; } }
/// <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"); } }
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; } }
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)); }
public void AddWeapon(string name, int dmg) { WeaponList.Add(new Weapon(name, dmg)); }