This commit is contained in:
2026-05-30 09:16:35 +07:00
parent 2f87ce19a7
commit 1c0ee6efb7
4001 changed files with 3363438 additions and 1738 deletions

View File

@@ -0,0 +1,56 @@
using Invector.vMelee;
namespace Invector.vItemManager
{
[vClassHeader("Melee Equipment", openClose = false, useHelpBox = true, helpBoxText = "Use this component if you also use the ItemManager in your Character")]
public partial class vMeleeEquipment : vEquipment
{
vMeleeWeapon _weapon;
protected bool withoutMeleeWeapon;
protected virtual vMeleeWeapon meleeWeapon
{
get
{
if (!_weapon && !withoutMeleeWeapon)
{
_weapon = GetComponent<vMeleeWeapon>();
if (!_weapon) withoutMeleeWeapon = true;
}
return _weapon;
}
}
public override bool IsEquipped
{
get
{
return base.IsEquipped;
}
set
{
base.IsEquipped = value;
if (meleeWeapon) meleeWeapon.IsEquipped = value;
}
}
public override void OnEquip(vItem item)
{
if (meleeWeapon)
{
var damage = item.GetItemAttribute(vItemAttributes.Damage);
var staminaCost = item.GetItemAttribute(vItemAttributes.StaminaCost);
var defenseRate = item.GetItemAttribute(vItemAttributes.DefenseRate);
var defenseRange = item.GetItemAttribute(vItemAttributes.DefenseRange);
if (damage != null) this.meleeWeapon.damage.damageValue = damage.value;
if (staminaCost != null) this.meleeWeapon.staminaCost = staminaCost.value;
if (defenseRate != null) this.meleeWeapon.defenseRate = defenseRate.value;
if (defenseRange != null) this.meleeWeapon.defenseRange = defenseRate.value;
}
base.OnEquip(item);
}
public override void OnUnequip(vItem item)
{
base.OnUnequip(item);
}
}
}