---@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;