-- 剑气 --> Services local ReplicatedStorage = game:GetService("ReplicatedStorage") --> Dependencies local BehaviourClient = require(ReplicatedStorage.Base.BehaviourClient) --> Variables local PrefabFolder = ReplicatedStorage:WaitForChild("Prefabs") local Prefab_SwordWave = PrefabFolder:WaitForChild("Projectiles"):WaitForChild("SwordWave") -------------------------------------------------------------------------------- local SwordWave = {} SwordWave.__index = SwordWave setmetatable(SwordWave, {__index = BehaviourClient}) function SwordWave:Init(CasterPlayer: Player, CastInfo: table, DelayTime: number, CastState: boolean) local self = BehaviourClient:Init(CasterPlayer, CastInfo, DelayTime, CastState) setmetatable(self, SwordWave) return self end function SwordWave:Show(CasterPlayer: Player, CastInfo: table, DelayTime: number, CastState: boolean) self.ShowTask, self.Projectile, self.Tween = self.EffectDispatcher:ShowProjectile(self.Player, DelayTime, 0, CastInfo.StartPos, CastInfo.EndPos, CastInfo.Duration, Prefab_SwordWave, Enum.EasingStyle.Linear) end function SwordWave:Destroy() if self.ShowTask then task.cancel(self.ShowTask) self.ShowTask = nil end if self.Tween then self.Tween:Cancel() self.Tween = nil end if self.Projectile then self.Projectile:Destroy() self.Projectile = nil end BehaviourClient.Destroy(self) end return SwordWave