93 lines
2.4 KiB
Lua
93 lines
2.4 KiB
Lua
---@class UGCPlayerState_C:BP_UGCPlayerState_C
|
|
--Edit Below--
|
|
---@type UGCPlayerState_C
|
|
local UGCPlayerState = {};
|
|
|
|
UGCPlayerState.WeaponInfiniteType = 0;
|
|
--- 用于技能的能量,对应着的是 SkillConfig 里面的 Cost
|
|
UGCPlayerState.SkillEnergy = 0;
|
|
UGCPlayerState.MaxSkillEnergy = 100;
|
|
|
|
--function UGCPlayerState:ReceiveBeginPlay()
|
|
-- self.SuperClass.ReceiveBeginPlay(self);
|
|
--end
|
|
|
|
--function UGCPlayerState:ReceiveTick(DeltaTime)
|
|
-- self.SuperClass.ReceiveTick(self, DeltaTime);
|
|
--end
|
|
|
|
--[[
|
|
function UGCPlayerState:ReceiveEndPlay()
|
|
self.SuperClass.ReceiveEndPlay(self);
|
|
end
|
|
--]]
|
|
|
|
function UGCPlayerState:AddSkillEnergy(InVal)
|
|
if InVal == 0 then
|
|
return true;
|
|
elseif InVal < 0 then
|
|
if self.SkillEnergy + InVal < 0 then return false; end
|
|
self.SkillEnergy = self.SkillEnergy + InVal;
|
|
else
|
|
self.SkillEnergy = math.clamp(self.SkillEnergy + InVal, 0, self.MaxSkillEnergy)
|
|
end
|
|
DOREPONCE(self, "SkillEnergy");
|
|
return true;
|
|
end
|
|
|
|
function UGCPlayerState:AddArchiveData(InKey, InVal)
|
|
local ArchiveData = UGCPlayerStateSystem.GetPlayerArchiveData(self.UID);
|
|
if ArchiveData[InKey] == nil then
|
|
ArchiveData[InKey] = InVal;
|
|
end
|
|
UGCPlayerStateSystem.SavePlayerArchiveData(self.UID, ArchiveData);
|
|
end
|
|
|
|
function UGCPlayerState:GetArchiveData(InKey)
|
|
local ArchiveData = UGCPlayerStateSystem.GetPlayerArchiveData(self.UID);
|
|
return ArchiveData;
|
|
end
|
|
|
|
--- 每次玩家选择兵种都会在此记录
|
|
function UGCPlayerState:AddArchive_Soldier(InSoldier)
|
|
if InSoldier == nil then return ; end
|
|
local Data = UGCPlayerStateSystem.GetPlayerArchiveData(self.UID);
|
|
if Data.Soldiers == nil then Data.Soldiers = {}; end
|
|
Data.Soldiers[InSoldier] = (Data.Soldiers[InSoldier] or 0) + 1;
|
|
UGCPlayerStateSystem.SavePlayerArchiveData(self.UID, Data);
|
|
end
|
|
|
|
function UGCPlayerState:GetReplicatedProperties()
|
|
return
|
|
{ "WeaponInfiniteType", "Lazy" }
|
|
, { "SkillEnergy", "Lazy" }
|
|
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; |