---@class BP_ArmorItem_C:BP_CustomItemBase_C ---@field ParticleSystem UParticleSystemComponent ---@field StaticMesh UStaticMeshComponent --Edit Below-- local ItemBase = require('Script.Blueprint/SceneObj/PickUp/BP_CustomItemBase') ---@type BP_BuffItem_C local BP_ArmorItem = ItemBase:new(DefaultSettings.SceneObj.Armor); function BP_ArmorItem:ReceiveBeginPlay() self:LuaInit(); end function BP_ArmorItem:OnPlayerAddItem(InPawn) -- 移除所有的护甲 ItemTool.ReplaceItem(InPawn, self.ItemId); self:OnItemUsed(InPawn); end function BP_ArmorItem:RandomNewItem() self:SetItemId(GameState:LoadResource().ArmorItem_ItemIds[math.random(GameState:LoadResource().ArmorItem_ItemTotalCount)]) end function BP_ArmorItem:OnRep_ItemId() if self:IsItemIdValid() then local Path = ItemTable.AllItem[self:GetItemId()].StaticMesh; if Path then UE.AsyncLoadObject(Path, function(TargetObject) self.StaticMesh:SetStaticMesh(TargetObject); end) else self.StaticMesh:SetStaticMesh(nil); end else self.StaticMesh:SetStaticMesh(nil); end self:HandleEffect(self.ParticleSystem, "SceneObj_Armor"); end --[[ function BP_ArmorItem:ReceiveTick(DeltaTime) self.SuperClass.ReceiveTick(self, DeltaTime); end --]] --[[ function BP_ArmorItem:ReceiveEndPlay() self.SuperClass.ReceiveEndPlay(self); end --]] --[[ function BP_ArmorItem:GetReplicatedProperties() return end --]] --[[ function BP_ArmorItem:GetAvailableServerRPCs() return end --]] return BP_ArmorItem;