47 lines
1.4 KiB
Plaintext
Raw Normal View History

2025-07-12 05:06:14 +08:00
-- 剑气
--> 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