using ColdMint.scripts.pickable; using ColdMint.scripts.projectile; using ColdMint.scripts.weapon; using Godot; namespace ColdMint.scripts.spell; /// /// magic /// 法术 /// /// ///For projectile weapons ///用于抛射体武器 /// public partial class SpellPickAble : PickAbleTemplate, ISpell { [Export] private string? _projectilePath; private PackedScene? _projectileScene; public override int ItemType { get => Config.ItemType.Spell; } public PackedScene? GetProjectile() { return _projectileScene; } public override void LoadResource() { base.LoadResource(); if (_projectileScene == null && !string.IsNullOrEmpty(_projectilePath)) { _projectileScene = ResourceLoader.Load(_projectilePath); } } public virtual void ModifyWeapon(ProjectileWeapon projectileWeapon) { } public virtual void RestoreWeapon(ProjectileWeapon projectileWeapon) { } public virtual void ModifyProjectile(int index, Projectile projectile, ref Vector2 velocity) { } }