UGCProjects/ProjectTemp_T/Script/Blueprint/BUFF/BuffAction_Tamplate.lua
2025-01-04 23:00:19 +08:00

55 lines
2.5 KiB
Lua
Raw 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 BuffAction_Tamplate = {
-- 以下参数信息可以通过manager的 GetBuffDefaultParam(BuffPath, ParamName)来获取 --
-- 默认颜色信息,非必要参数
BuffColor = {R = 0.97, G = 0.88, B = 0.1, A = 1.};
BuffIconPath = "默认Icon路径非必要参数";
BuffParticlePath = "默认粒子路径,非必要参数";
BuffDesc = "Buff描述信息非必要参数";
--------------------------------------------------------------------------------
}
--- 必须包含ApplyBuff函数
---@param BuffTag Any Buff的标签
---@param ValidPawn UGCPlayerPawn_C
---@param Args ... Any
---@return ApplySucceed:bool
function BuffAction_Tamplate:ApplyBuff(BuffTag, ValidPawn, ArgParam1, ArgParam2, ArgParam3)
-- Apply逻辑
-- 通过BuffManager调用RPC
-- BP_BuffManager.GetBuffFileName()可以获取到当前文件名
---@param TargetPlayerKey:[为uint32则单独发送], [为table{uint32, ...}则多个发送], [为nil则广播发送]. 若客户端调用则无视该参数
---@param BuffName:string Buff文件名BuffAction代码中可使用BP_BuffManager.GetBuffFileName()获取
---@param TargetFuncName:string 目标BuffAction的函数名
---@param ...Args TargetFunc的输入参数
BP_BuffManager.GetBuffManager():BuffNotifyRPC(ValidPawn.PlayerKey, BP_BuffManager.GetBuffFileName(), "Client_RPCFunc", ValidPawn, ArgParam1, ArgParam3)
return true
end
--- 可以包含RemoveBuff若包含该函数则玩家应用该Buff时会保存Buff信息缓存作为移除或者获取玩家当前Buff的备份信息
---@param BuffTag Any Buff的标签
---@param ValidPawn UGCPlayerPawn_C
---@param Args ... Any Args顺序必须与ApplyBuff顺序一致
function BuffAction_Tamplate:RemoveBuff(BuffTag, ValidPawn, ArgParam1, ArgParam2, ArgParam3)
-- Remove逻辑
-- 通过BuffManager调用RPC
BP_BuffManager.GetBuffManager():BuffNotifyRPC(ValidPawn.PlayerKey, BP_BuffManager.GetBuffFileName(), "Client_RPCFunc", ValidPawn, ArgParam1, ArgParam3)
end
--- Tick函数 服务器客户端均会调用
function BuffAction_Tamplate:Tick(DeltaTime)
-- Tick逻辑
end
--- 触发的RPC函数
function BuffAction_Tamplate:Client_RPCFunc(ValidPawn, RPCArgParam1, RPCArgParam2)
end
--- 当玩家死亡时会触发该函数作用于以PlayerKey给玩家Buff的BuffAction以防UGC的Pawn不删除机制所引发的Bug
function BuffAction_Tamplate:PlayerDeathCallBack(PlayerKey)
end
return BuffAction_Tamplate