UGCProjects/InfFire/Script/Blueprint/UGCPlayerState.lua

61 lines
1.6 KiB
Lua
Raw Normal View History

2025-01-04 23:00:19 +08:00
---@class UGCPlayerState_C:BP_UGCPlayerState_C
--Edit Below--
---@type UGCPlayerState_C
local UGCPlayerState = {};
UGCPlayerState.WeaponInfiniteType = 0;
function UGCPlayerState:ReceiveBeginPlay()
self.OnCurrentPlayerKillNumChangedDelegate:Add(self.OnKillNumChange, self);
end
function UGCPlayerState:OnKillNumChange(KillCount,bIsAI)
if IsServer then
end
end
--- 操作是一旦使用了换装备的按钮,就会调用该函数,之后玩家添加的时候就会使用该配置
---@param InWeapon ASTExtraWeapon
function UGCPlayerState:UpdateWeaponAttachment(Pawn, InWeapon)
-- 获取玩家的缓存
UGCLogSystem.Log("[UGCPlayerState:UpdateWeaponAttachment] 执行")
local ArchiveData = ArchiveTable[self.PlayerKey];
if ArchiveData.Weapons == nil then ArchiveData.Weapons = {}; end
local ItemId = InWeapon:GetWeaponItemID();
local Weapon = UGCWeaponManagerSystem.GetCurrentWeapon(Pawn);
local Parts = ItemTool.GetWeaponParts(Weapon);
ArchiveData.Weapons[ItemId] = Parts;
end
--function UGCPlayerState:GetReplicatedProperties()
-- return ;
--end
---@param InType EFillBulletType
function UGCPlayerState:SetInfiniteType(InType)
self.WeaponInfiniteType = InType;
DOREPONCE(self, "WeaponInfiniteType");
end
function UGCPlayerState:GetInfiniteType() return self.WeaponInfiniteType; end
--- 重置击杀数
function UGCPlayerState:ResetKillNum()
-- 重置击杀数
self.Kills = 0;
self.KillPlayerNum = 0;
DOREPONCE(self, "Kills")
DOREPONCE(self, "KillPlayerNum")
end
function UGCPlayerState:ResetGame()
self:ResetKillNum();
end
--[[
function UGCPlayerState:GetAvailableServerRPCs()
return
end
--]]
return UGCPlayerState;