using UnityEngine; public class SimpleSword : Weapon { [Header("Sword Settings")] public WeaponItem weaponItemData; // Reference to the ScriptableObject data public SimpleSword() : base() { weaponName = "Simple Sword"; description = "A basic sword."; attackSpeed = 1.0f; // Example: 1 second between shots weaponModel = null; // Assign a 3D model if available } public override int MinDamage => weaponItemData != null ? weaponItemData.minDamage : 1; public override int MaxDamage => weaponItemData != null ? weaponItemData.maxDamage : 6; public override int Range => weaponItemData != null ? weaponItemData.range : 2; public override int WeaponModifier { get => weaponModifier; set => weaponModifier = value; } /// /// Initialize this weapon from a WeaponItem ScriptableObject /// /// The WeaponItem data to use public void InitializeFromItem(WeaponItem itemData) { if (itemData == null) return; weaponItemData = itemData; weaponName = itemData.itemName; description = itemData.description; attackSpeed = itemData.attackSpeed; weaponModifier = itemData.weaponModifier; baseWeaponModifier = itemData.weaponModifier; weaponModel = itemData.model3D; Debug.Log($"SimpleSword initialized from item data: {weaponName}"); } }