using ColdMint.scripts.weapon;
using Godot;
namespace ColdMint.scripts.projectile;
///
/// Spell
/// 法术
///
///
///For projectile weapons
///用于抛射体武器
///
public interface ISpell
{
///
/// GetProjectile
/// 获取抛射体
///
///
PackedScene? GetProjectile();
///
/// LoadResource
/// 加载资源
///
void LoadResource();
///
/// Modify Weapon
/// 修改武器
///
///
void ModifyWeapon(ProjectileWeapon projectileWeapon);
///
/// Restores the modified weapon properties
/// 还原修改的武器属性
///
///
void RestoreWeapon(ProjectileWeapon projectileWeapon);
///
/// Modify the projectile
/// 修改抛射体
///
///
///What is the current projectile? For example, a weapon can fire three projectiles at once, with indexes 0,1,2
///当前抛射体是第几个?例如:武器可一下发射3个抛射体,索引为0,1,2
///
///
///Projectile object
///抛射体对象
///
///
///The velocity of the projectile
///抛射体的飞行速度
///
void ModifyProjectile(int index, Projectile projectile, ref Vector2 velocity);
}