2025-01-18 21:26:02 +08:00

81 lines
1.9 KiB
Lua
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

local BuffActionBase = {
-- 实例的ID
InstID = -1;
-- 拥有者
OwnerPawn = nil;
-- Controller* @施加Buff的玩家或AI。
BuffCauser = nil;
-- Actor* @施加Buff的Actor比如说PlayerPawn、燃烧瓶Actor等等
CauserActor = nil;
-- 启用Tick函数
bIsEnableTick = false;
}
-- 常用接口 --------------------------------------------------------------
--[[
self:GetInstID()
self:GetOwnerPawn()
BuffSystemAPI.GetBuffCauser(self:GetInstID())
self:EnableTick()
self:StopTick() -- 会自动关
self:IsEnableTick()
]]
function BuffActionBase:GetInstID()
return self.InstID
end
function BuffActionBase:GetOwnerPawn()
return self.OwnerPawn
end
function BuffActionBase:EnableTick()
self.bIsEnableTick = true
end
function BuffActionBase:StopTick()
self.bIsEnableTick = false
end
function BuffActionBase:IsEnableTick()
return self.bIsEnableTick
end
-- 常用接口 End ----------------------------------------------------------
--- 初始化函数
---@param InstID int 实例的ID
---@param OwnerPawn APawn*
---@param BuffCauser AController* 玩家控制器或者AI
---@param CauserActor Actor* @施加Buff的Actor比如说PlayerPawn、燃烧瓶Actor等等
---@param ParamList table 传入Action的参数{ParamName = Val}
function BuffActionBase:InitBuffAction(InstID, OwnerPawn, ParamList)
self.InstID, self.OwnerPawn = InstID, OwnerPawn
-- 初始化传入的参数
for i, v in pairs(ParamList) do
self[i] = v
end
end
--- 激活函数
function BuffActionBase:LuaDoAction()
end
--- 移除函数
function BuffActionBase:LuaUndoAction()
self:StopTick()
end
--- 刷新时间函数只有刷新时间的Buff重复获得才会触发才能
function BuffActionBase:LuaResetAction()
end
--- Tick
function BuffActionBase:LuaUpdateAction(DeltaSeconds)
if self.bIsEnableTick == false then return end
end
return BuffActionBase