47 lines
1.4 KiB
Plaintext
47 lines
1.4 KiB
Plaintext
|
-- 剑气
|
||
|
|
||
|
--> 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
|