ProjectileUtils

抛射物通用模块。

函数

Projectile/nil ProjectileUtils.Get(EntityIndex entityIndex) 获取指定索引表示的抛射物,如果不存在,返回nil。
bool ProjectileUtils.IsAlive(EntityIndex entityIndex) 判断指定索引的抛射物是否存在。
Projectile ProjectileUtils.Create(int id, double centerX, double centerY, double speedX = 0.0, double speedY = 0.0, Attack attack = Attack:new(0, 0, 0)) 创建一个抛射物实体,返回创建好的抛射物实体。 id:抛射物ID。 centerXcenterY:创建抛射物的中心点。 speedXspeedY:初始运动速度。 Attack:抛射物的基础攻击力。
Projectile ProjectileUtils.CreateFromPlayer(Player playerOwner, int id, double centerX, double centerY, double speedX = 0.0, double speedY = 0.0, Attack attack = Attack:new(0, 0, 0)) 创建一个以指定玩家为拥有者的抛射物实体,返回创建好的抛射物实体。
Projectile ProjectileUtils.CreateFromNpc(Npc npcOwner, int id, double centerX, double centerY, double speedX = 0.0, double speedY = 0.0, Attack attack = Attack:new(0, 0, 0)) 创建一个以指定NPC为拥有者的抛射物实体,返回创建好的抛射物实体。
ArrayList<Projectile> ProjectileUtils.SearchByRect(double x, double y, int width, int height) 返回包含于指定矩形区域内部的所有抛射物列表。
ArrayList<Projectile> ProjectileUtils.SearchByCircle(double centerX, double centerY, int radius) 返回包含于指定圆形区域内部的所有抛射物列表。
Projectile/nil ProjectileUtils.SearchNearestProjectile(double centerX, double centerY, int radius, bool noCrossTiles = false) 搜索在指定圆形区域内部距离圆心最近的抛射物,返回该抛射物。若结果不存在,返回nil。noCrossTiles表示是否排除中心到圆心的连线被图格遮挡的抛射物。