public SaveWeapon(SaveWeapon toCopy) { weaponName = toCopy.weaponName; diceNumber = toCopy.diceNumber; damages = toCopy.damages; bonusDamages = toCopy.bonusDamages; range = toCopy.range; }
public void OpenAndAddWeapon(SaveWeapon w) { GameObject go = Instantiate(weapon, weaponContainer.transform); Weapon instantiatedWepon = go.GetComponent <Weapon>(); instantiatedWepon.nameInput.text = w.weaponName; instantiatedWepon.diceNumberInput.text = w.diceNumber.ToString(); instantiatedWepon.damagesInput.text = w.damages.ToString(); instantiatedWepon.bonusDamagesInput.text = w.bonusDamages.ToString(); instantiatedWepon.rangeInput.text = w.range.ToString(); instantiatedWepon.saveWeapon = w; }
internal void GiveBackWeapon(SaveWeapon weapon) { if (weapon.Existence == false) { return; } if (weapon.Ammo == 0) { return; } logger.Info("Asked to give back weapon " + weapon.Weapon.ToString()); GiveAndRegisterWeapon(weapon.Weapon, weapon.Ammo, true); }
public void UpdateWeapon() { if (FightController.instance.attaquant.weapons.Count != 0) { attackWithWeapon.interactable = true; SaveWeapon w = FightController.instance.attaquant.weapons[weaponDropdown.value]; FightController.instance.weapon = w; weaponDamages.text = w.diceNumber.ToString() + "D" + w.damages.ToString() + " + " + w.bonusDamages.ToString(); } else { attackWithWeapon.interactable = false; FightController.instance.weapon = null; weaponDamages.text = "0"; } }
internal void UpdateWeapons() { if (savedWeapons.Count == 0) { return; } SaveWeapon[] temp = savedWeapons.ToArray(); savedWeapons.Clear(); foreach (SaveWeapon sw in temp) { WeaponHash wh = sw.Weapon; Weapon wp = Game.Player.Character.Weapons[wh]; if (wp == null) { continue; } SaveWeapon result = new SaveWeapon(wh, wp.Ammo + wp.AmmoInClip, true); } }
internal void RegisterWeapon(WeaponHash hash) { // does nothing if no weapon found in inventory if (!Game.Player.Character.Weapons.HasWeapon(hash)) { logger.Warn($"Weapon \"{hash}\" was not found in player's inventory, aborting"); return; } Weapon wp = Game.Player.Character.Weapons[hash]; if (wp is null) { logger.Warn($"Weapon \"{hash}\" query returned null, aborting"); return; } // Must be like this bool removal = false; int removalIndex = -1; foreach (SaveWeapon sw in savedWeapons) { if (sw.Weapon == hash) { removal = true; removalIndex = savedWeapons.IndexOf(sw); } } if (removal) { logger.Warn("Removing " + removalIndex + "as it was found already exists"); savedWeapons.RemoveAt(removalIndex); } SaveWeapon result = new SaveWeapon(hash, wp.Ammo + wp.AmmoInClip, true); savedWeapons.Add(result); }