76 lines
1.8 KiB
Lua
76 lines
1.8 KiB
Lua
---@class BP_BuffItem_C:BP_CustomItemBase_C
|
|
---@field ParticleSystem UParticleSystemComponent
|
|
---@field Widget UWidgetComponent
|
|
---@field DynamicTextRender UDynamicTextRenderComponent
|
|
--Edit Below--
|
|
local ItemBase = require('Script.Blueprint/SceneObj/PickUp/BP_CustomItemBase')
|
|
|
|
---@type BP_BuffItem_C
|
|
local BP_BuffItem = ItemBase:new(DefaultSettings.SceneObj.Buff);
|
|
|
|
function BP_BuffItem:ReceiveBeginPlay()
|
|
self:LuaInit();
|
|
end
|
|
|
|
function BP_BuffItem:PostInit()
|
|
if IsClient then
|
|
self.DynamicTextRender:Deactivate();
|
|
end
|
|
end
|
|
|
|
---@param InPawn
|
|
function BP_BuffItem:OnPlayerAddItem(InPawn)
|
|
InPawn:ApplyBuff(self.ItemId);
|
|
self:OnItemUsed(InPawn);
|
|
end
|
|
|
|
--- 随机添加一个新的 Buff
|
|
function BP_BuffItem:RandomNewItem()
|
|
-- 要不等于自己
|
|
self:SetItemId(BuffTable.RandomBuff());
|
|
end
|
|
|
|
function BP_BuffItem:OnRep_ItemId()
|
|
UGCLogSystem.Log("[BP_BuffItem:OnRep_BuffId] ItemId = %s", tostring(self.ItemId));
|
|
self.DynamicTextRender:SetText(self:GetBuffName());
|
|
self.Widget:SetVisibility(self:IsItemIdValid());
|
|
self:HandleEffect(self.ParticleSystem, "SceneObj_Buff");
|
|
end
|
|
|
|
function BP_BuffItem:GetBuffName()
|
|
if self.ItemId == 0 then return '' end
|
|
if BuffTable.BuffInfo[self.ItemId] == nil then return '' end
|
|
return BuffTable.GetBuffName(self.ItemId);
|
|
end
|
|
|
|
function BP_BuffItem:ReceiveTick(DeltaTime)
|
|
self.SuperClass.ReceiveTick(self, DeltaTime);
|
|
|
|
if IsClient then
|
|
if LocalPlayerKey ~= nil then
|
|
-- 锁住 Y
|
|
local Pawn = UGCGameSystem.GetPlayerPawnByPlayerKey(LocalPlayerKey);
|
|
if Pawn then
|
|
UE.ComponentTowardActor(self.Widget, Pawn, "Y");
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
--[[
|
|
function BP_BuffItem:ReceiveEndPlay()
|
|
self.SuperClass.ReceiveEndPlay(self);
|
|
end
|
|
--]]
|
|
|
|
--function BP_BuffItem:GetReplicatedProperties()
|
|
-- return
|
|
--end
|
|
|
|
--[[
|
|
function BP_BuffItem:GetAvailableServerRPCs()
|
|
return
|
|
end
|
|
--]]
|
|
|
|
return BP_BuffItem; |