81 lines
1.9 KiB
Lua
81 lines
1.9 KiB
Lua
|
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
|