// Returns (1) item from the list provided public WeaponState.Weapon GetItemInList(List <WeaponState.Weapon> list) { int i = Random.Range(0, list.Count - 1); WeaponState.Weapon weapon = list[i]; list.RemoveAt(i); return(weapon); }
// Resets Weapon stats for melee private void ResetMelee(WeaponState.Weapon new_weapon) { Melee = new_weapon; melee_cooldown = 0; melee_hp = new_weapon.hp; melee_obj.GetComponent <MeleeBase>().force = Melee.knockback; melee_obj.GetComponent <MeleeBase>().damage = Melee.damage; }
// Resets Weapon stats for ranged private void ResetRanged(WeaponState.Weapon new_weapon) { Ranged = new_weapon; ranged_cooldown = 0; ranged_hp = new_weapon.hp; ranged_obj.GetComponent <RangedBase>().force = Ranged.knockback; ranged_obj.GetComponent <RangedBase>().damage = Ranged.damage; }
// Get (3) weapons for shop to sell public void GetShopItems() { // Get local copies of all weapons List <WeaponState.Weapon> Ranged_copy = WeaponState.data.Ranged_Weapons; List <WeaponState.Weapon> Melee_copy = WeaponState.data.Melee_Weapons; // Select weapons Ranged_selling = GetItemInList(Ranged_copy); Melee_selling = GetItemInList(Melee_copy); Random_selling = GetRandomWeapon(Ranged_copy, Melee_copy); }
// Resets Weapon stats public void ResetWeapon(WeaponState.Weapon new_weapon) { if (new_weapon.is_ranged) { ResetRanged(new_weapon); } else { ResetMelee(new_weapon); } }
// Reduce health on purchase private void OnPurchase(WeaponState.Weapon weapon) { PlayerState.data.HP -= weapon.cost; }