给予倍镜
This commit is contained in:
parent
150f1d59e4
commit
36b75f9b08
Binary file not shown.
Binary file not shown.
BIN
SoloKing/Asset/UI/Tool/WB_OpenOldWeaponParts.uasset
Normal file
BIN
SoloKing/Asset/UI/Tool/WB_OpenOldWeaponParts.uasset
Normal file
Binary file not shown.
Binary file not shown.
@ -1,17 +0,0 @@
|
|||||||
SoloKing/Script/Global/Tool/StateMachine.lua
|
|
||||||
SoloKing/Script/Global/RepData.lua
|
|
||||||
SoloKing/Script/Global/Plugin/Plugins/MapTool.lua
|
|
||||||
SoloKing/Script/Global/Plugin/Plugins/BuffManager_PC.lua
|
|
||||||
SoloKing/Script/Global/Plugin/Plugins/MiniConfig.lua
|
|
||||||
SoloKing/Script/Global/Plugin/Plugins/ArchiveManager.lua
|
|
||||||
SoloKing/Script/Global/Plugin/Plugins/SkillConfig.lua
|
|
||||||
SoloKing/Script/Global/Plugin/Plugins/PoisonManager.lua
|
|
||||||
SoloKing/Script/Global/Plugin/Plugins/ServerTimeManager.lua
|
|
||||||
SoloKing/Script/Global/Plugin/Plugins/Skill/Skill_Base.lua
|
|
||||||
SoloKing/Script/Global/Plugin/Plugins/BuffConfig.lua
|
|
||||||
SoloKing/Script/Global/Plugin/Plugins/BuffManager.lua
|
|
||||||
SoloKing/Script/Global/Plugin/Plugins/Buff/Buff_Base.lua
|
|
||||||
SoloKing/Script/Global/Plugin/Plugins/SkillManager.lua
|
|
||||||
SoloKing/Script/Global/Plugin/PluginConfig.lua
|
|
||||||
SoloKing/Script/Global/Plugin/PluginManager.lua
|
|
||||||
SoloKing/Script/Global/Plugin/MiniManager.lua
|
|
@ -194,6 +194,7 @@ function UGCPlayerController:GetEnableDamageText()
|
|||||||
if not table.isEmpty(Archive) and not table.isEmpty(Archive.Disables) and Archive.Disables.DamageText ~= nil then
|
if not table.isEmpty(Archive) and not table.isEmpty(Archive.Disables) and Archive.Disables.DamageText ~= nil then
|
||||||
self.EnableDamageText = Archive.Disables.DamageText
|
self.EnableDamageText = Archive.Disables.DamageText
|
||||||
end
|
end
|
||||||
|
return self.EnableDamageText;
|
||||||
end
|
end
|
||||||
|
|
||||||
--- 处理切换观战对象
|
--- 处理切换观战对象
|
||||||
|
@ -9,32 +9,15 @@ function UGCPlayerPawn:ReceiveBeginPlay()
|
|||||||
self.bVaultIsOpen = DefaultSettings.OpenVault;
|
self.bVaultIsOpen = DefaultSettings.OpenVault;
|
||||||
|
|
||||||
self.DamageNotifyDelegate:Add(self.PlayerInjury, self)
|
self.DamageNotifyDelegate:Add(self.PlayerInjury, self)
|
||||||
|
|
||||||
--- 仅客户端
|
|
||||||
--self.OnCharacterShootDelegate:Add(function(Pawn, Weapon)
|
|
||||||
-- UGCLogSystem.Log("[UGCPlayerPawn:ReceiveBeginPlay] %s 开始射击", UE.GetName(Weapon));
|
|
||||||
--end, self);
|
|
||||||
|
|
||||||
--self.OnCharacterStartFireDelegate:Add(function(Pawn, Weapon)
|
|
||||||
-- UGCLogSystem.Log("[UGCPlayerPawn:ReceiveBeginPlay] Weapon = %s 开火", UE.GetName(Weapon))
|
|
||||||
--end, self)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
--function UGCPlayerPawn:ReceiveTick(DeltaTime)
|
|
||||||
-- self.SuperClass.ReceiveTick(self, DeltaTime);
|
|
||||||
--end
|
|
||||||
|
|
||||||
function UGCPlayerPawn:ReceiveEndPlay()
|
function UGCPlayerPawn:ReceiveEndPlay()
|
||||||
if GlobalTickTool then GlobalTickTool:RemoveTickByOwner(self) end
|
if GlobalTickTool then GlobalTickTool:RemoveTickByOwner(self) end
|
||||||
self.SuperClass.ReceiveEndPlay(self);
|
self.SuperClass.ReceiveEndPlay(self);
|
||||||
end
|
end
|
||||||
|
|
||||||
--function UGCPlayerPawn:GetReplicatedProperties()
|
|
||||||
-- return;
|
|
||||||
--end
|
|
||||||
|
|
||||||
function UGCPlayerPawn:GetAvailableServerRPCs()
|
function UGCPlayerPawn:GetAvailableServerRPCs()
|
||||||
return "UpdateWeaponParts"
|
return "UpdateWeaponParts", "ReplacePartId"
|
||||||
end
|
end
|
||||||
|
|
||||||
function UGCPlayerPawn:ReceivePossessed(NewController)
|
function UGCPlayerPawn:ReceivePossessed(NewController)
|
||||||
@ -227,14 +210,31 @@ UGCPlayerPawn.SlotWeapons = {};
|
|||||||
|
|
||||||
---@param Weapons table<ESurviveWeaponPropSlot, int[]> 插槽武器
|
---@param Weapons table<ESurviveWeaponPropSlot, int[]> 插槽武器
|
||||||
function UGCPlayerPawn:UpdateSlotWeapons(Weapons)
|
function UGCPlayerPawn:UpdateSlotWeapons(Weapons)
|
||||||
|
|
||||||
self.SlotWeapons = TableHelper.DeepCopyTable(Weapons);
|
self.SlotWeapons = TableHelper.DeepCopyTable(Weapons);
|
||||||
for i = 0, ESurviveWeaponPropSlot.SWPS_Max do
|
for i = 0, ESurviveWeaponPropSlot.SWPS_Max do
|
||||||
if self.SlotWeapons[i] then
|
if self.SlotWeapons[i] then
|
||||||
self:CheckHasSlotWeapon(i, self.SlotWeapons[i]);
|
self:CheckHasSlotWeapon(i, self.SlotWeapons[i]);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
self:AddAllTelescopes();
|
||||||
self:CheckSlotWeapons();
|
self:CheckSlotWeapons();
|
||||||
|
end
|
||||||
|
|
||||||
|
function UGCPlayerPawn:AddAllTelescopes()
|
||||||
|
local AllDatas = UGCBackPackSystem.GetAllItemData(self)
|
||||||
|
local HadTeles = {};
|
||||||
|
for i, v in pairs(AllDatas) do
|
||||||
|
if GetItemIdType(v.ItemID) == 203 then
|
||||||
|
HadTeles[v.ItemID] = v.Count;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
-- 直接给他所有的配件
|
||||||
|
for i, v in pairs(WeaponTypeParts[EWeaponPartType.Telescope]) do
|
||||||
|
if HadTeles[v] == nil then
|
||||||
|
ItemTool.AddItem(self, v, 1, false);
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--- 通过插槽检查武器,需要先配置好之后再启动,该方法仅限两把武器,如果只有一把武器,SlotWeapons的第一个值必须为 SWPS_MainShootWeapon1
|
--- 通过插槽检查武器,需要先配置好之后再启动,该方法仅限两把武器,如果只有一把武器,SlotWeapons的第一个值必须为 SWPS_MainShootWeapon1
|
||||||
@ -346,14 +346,14 @@ function UGCPlayerPawn:UpdateWeaponParts(WeaponID, WeaponParts)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
UnrealNetwork.CallUnrealRPC(self:GetPlayerControllerSafety(), self, "RecvWeaponParts", WeaponID, WeaponParts);
|
UnrealNetwork.CallUnrealRPC(self:GetPlayerControllerSafety(), self, "RecvParts", WeaponID, WeaponParts);
|
||||||
end
|
end
|
||||||
|
|
||||||
function UGCPlayerPawn:RecvWeaponParts(WeaponID, Parts)
|
function UGCPlayerPawn:RecvParts(WeaponID, Parts)
|
||||||
if table.isEmpty(ArchiveTable[LocalPlayerKey]) then ArchiveTable[LocalPlayerKey] = {}; end
|
if table.isEmpty(ArchiveTable[LocalPlayerKey]) then ArchiveTable[LocalPlayerKey] = {}; end
|
||||||
if table.isEmpty(ArchiveTable[LocalPlayerKey].Weapons) then ArchiveTable[LocalPlayerKey].Weapons = {}; end
|
if table.isEmpty(ArchiveTable[LocalPlayerKey].Weapons) then ArchiveTable[LocalPlayerKey].Weapons = {}; end
|
||||||
ArchiveTable[LocalPlayerKey].Weapons[WeaponID] = Parts;
|
ArchiveTable[LocalPlayerKey].Weapons[WeaponID] = Parts;
|
||||||
UGCLogSystem.LogTree(string.format("[UGCPlayerPawn:RecvWeaponParts] Parts ="), Parts)
|
UGCLogSystem.LogTree(string.format("[UGCPlayerPawn:RecvParts] Parts ="), Parts)
|
||||||
UGCEventSystem.SendEvent(EventTypes.UpdateWeapons, WeaponID)
|
UGCEventSystem.SendEvent(EventTypes.UpdateWeapons, WeaponID)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -40,4 +40,6 @@ EventTypes = EventTypes or {
|
|||||||
AllSelectWeaponsAlready = CountTable(); -- 所有存档数据准备就绪
|
AllSelectWeaponsAlready = CountTable(); -- 所有存档数据准备就绪
|
||||||
UpdateEnterWeapons = CountTable(); -- 所有存档数据准备就绪
|
UpdateEnterWeapons = CountTable(); -- 所有存档数据准备就绪
|
||||||
UpdateWeapons = CountTable(); -- 所有存档数据准备就绪
|
UpdateWeapons = CountTable(); -- 所有存档数据准备就绪
|
||||||
|
|
||||||
|
OpenOldWeaponParts = CountTable(); -- 所有存档数据准备就绪
|
||||||
}
|
}
|
||||||
|
@ -546,8 +546,10 @@ function MiniManager:OnMiniRoundFormalStart()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function MiniManager:OnMiniRoundEnd()
|
function MiniManager:OnMiniRoundEnd()
|
||||||
if self.CurrMiniMode.bGameEnd == false and self.CurrMiniMode.bRoundEnd == false then
|
if self.State == MiniGameState.ROUND_GAMING then
|
||||||
table.func(self.CurrMiniMode, "OnTimeExhausted", self.State)
|
if self.CurrMiniMode.bGameEnd == false and self.CurrMiniMode.bRoundEnd == false then
|
||||||
|
table.func(self.CurrMiniMode, "OnTimeExhausted", self.State)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
-- 通知结束了
|
-- 通知结束了
|
||||||
UGCLogSystem.Log("[MiniManager:OnMiniRoundEnd] 结束")
|
UGCLogSystem.Log("[MiniManager:OnMiniRoundEnd] 结束")
|
||||||
@ -627,36 +629,6 @@ function MiniManager:OnPawnInit(Pawn)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--- 修改伤害函数
|
|
||||||
---@param DamagedActor UGCPlayerPawn_C
|
|
||||||
---@param Damage float
|
|
||||||
---@param DamageType EDamageType
|
|
||||||
---@param EventInstigator UGCPlayerController_C
|
|
||||||
--function MiniManager:OnPlayerDamage(DamagedActor, Damage, DamageType, EventInstigator)
|
|
||||||
-- UGCLogSystem.Log("[MiniManager:OnPlayerDamage] DamagedActor = %s, Damage = %f", UE.GetName(DamagedActor), Damage);
|
|
||||||
-- local CalDamage = table.func(self.CurrMiniMode, 'OnPlayerTakeDamage', DamagedActor, Damage, DamageType, EventInstigator)
|
|
||||||
-- if CalDamage == nil then return Damage; end
|
|
||||||
-- return CalDamage;
|
|
||||||
--end
|
|
||||||
|
|
||||||
--- S & C 接受到伤害函数
|
|
||||||
--function MiniManager:BPReceiveDamage(DamagedActor, Damage, DamageType, InstigatedBy, DamageCauser)
|
|
||||||
-- if IsServer then
|
|
||||||
-- table.func(self.CurrMiniMode, 'BPReceiveDamage', DamagedActor, Damage, DamageType, InstigatedBy, DamageCauser)
|
|
||||||
-- end
|
|
||||||
--end
|
|
||||||
|
|
||||||
--- 服务器/客户端收到伤害数据
|
|
||||||
---@param DamagedPawn UGCPlayerPawn_C
|
|
||||||
---@param Damage float
|
|
||||||
---@param DamageType UDamageType
|
|
||||||
---@param InstigatedBy UGCPlayerController_C
|
|
||||||
---@param DamageCauser AActor
|
|
||||||
--function MiniManager:ReceiveDamage(DamagedPawn, Damage, DamageType, InstigatedBy, DamageCauser)
|
|
||||||
-- UGCLogSystem.Log("[MiniManager:ReceiveDamage] 收到伤害")
|
|
||||||
-- table.func(self.CurrMiniMode, "ReceiveDamage", DamagedPawn, Damage, DamageType, InstigatedBy, DamageCauser);
|
|
||||||
--end
|
|
||||||
|
|
||||||
--- 当玩家死亡
|
--- 当玩家死亡
|
||||||
---@param DeadPlayerKey PlayerKey
|
---@param DeadPlayerKey PlayerKey
|
||||||
---@param KillerPlayerKey PlayerKey
|
---@param KillerPlayerKey PlayerKey
|
||||||
|
@ -539,6 +539,7 @@ function Mini_Solo:CheckTimeExhausted_Health()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
local Count = table.getCount(Table);
|
local Count = table.getCount(Table);
|
||||||
|
if Count == 0 then return nil; end
|
||||||
if Count == 1 then return Table[1].PlayerKey; end
|
if Count == 1 then return Table[1].PlayerKey; end
|
||||||
table.sort(Table, function(a, b)
|
table.sort(Table, function(a, b)
|
||||||
return a.Health > b.Health;
|
return a.Health > b.Health;
|
||||||
@ -1642,7 +1643,33 @@ function Mini_Solo:PlayerAddWeapon(PlayerKey, Weapon)
|
|||||||
-- 检查当前武器上是否有倍镜
|
-- 检查当前武器上是否有倍镜
|
||||||
|
|
||||||
for i, v in pairs(NeedAddTelescope) do
|
for i, v in pairs(NeedAddTelescope) do
|
||||||
--Pawn:AddItem(i, );
|
Pawn:AddItem(i, 1, false);
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 判断武器上原本是否有该配件
|
||||||
|
if ArchiveTable[PlayerKey] and ArchiveTable[PlayerKey].Weapons[Weapon] then
|
||||||
|
if WeaponSuits[Weapon] then
|
||||||
|
if WeaponSuits[Weapon][EWeaponPartType.Telescope] then
|
||||||
|
local HaveParts = {};
|
||||||
|
for i, PartID in pairs(WeaponSuits[Weapon][EWeaponPartType.Telescope]) do
|
||||||
|
HaveParts[PartID] = 1;
|
||||||
|
end
|
||||||
|
local Parts = ArchiveTable[PlayerKey].Weapons[Weapon];
|
||||||
|
-- 判断是否有倍镜
|
||||||
|
local HavePart = false;
|
||||||
|
for i, PartID in pairs(Parts) do
|
||||||
|
if HaveParts[PartID] then HavePart = true; end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- 移除
|
||||||
|
if not HavePart then
|
||||||
|
local Weapons = ItemTool.GetWeaponsById(Pawn, Weapon)
|
||||||
|
for i, v in pairs(Weapons) do
|
||||||
|
UGCGunSystem.RemoveGunAttachmentBySocketType(v, ItemTool.GetWeaponAttachmentSocketType(EWeaponPartType.Telescope));
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- 启动检测
|
-- 启动检测
|
||||||
@ -1655,16 +1682,6 @@ function Mini_Solo:PlayerAddWeapon(PlayerKey, Weapon)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--- 服务器/客户端收到伤害数据
|
|
||||||
---@param DamagedPawn UGCPlayerPawn_C
|
|
||||||
---@param Damage float
|
|
||||||
---@param DamageType UDamageType
|
|
||||||
---@param InstigatedBy UGCPlayerController_C
|
|
||||||
---@param DamageCauser AActor
|
|
||||||
function Mini_Solo:ReceiveDamage(DamagedPawn, Damage, DamageType, InstigatedBy, DamageCauser)
|
|
||||||
return Damage;
|
|
||||||
end
|
|
||||||
|
|
||||||
---@param PlayerStartList table<TeamId, table<int32, APlayerStart>>
|
---@param PlayerStartList table<TeamId, table<int32, APlayerStart>>
|
||||||
---@param Controller UGCPlayerController_C
|
---@param Controller UGCPlayerController_C
|
||||||
function Mini_Solo:SelectPlayerStart(PlayerStartList, Controller)
|
function Mini_Solo:SelectPlayerStart(PlayerStartList, Controller)
|
||||||
|
@ -15,11 +15,9 @@ require(Prefix .. 'RankInformation' .. Post)
|
|||||||
|
|
||||||
function UnableTable()
|
function UnableTable()
|
||||||
ObjectPath = nil;
|
ObjectPath = nil;
|
||||||
WeaponTable = nil;
|
|
||||||
EWeaponTypes = nil;
|
EWeaponTypes = nil;
|
||||||
EWeaponIdType = nil;
|
EWeaponIdType = nil;
|
||||||
WeaponTypeInfo = nil;
|
WeaponTypeInfo = nil;
|
||||||
WeaponTable = nil;
|
|
||||||
EnglishNamedWeapon = nil;
|
EnglishNamedWeapon = nil;
|
||||||
ShootWeaponEnums = nil;
|
ShootWeaponEnums = nil;
|
||||||
EFillBulletType = nil;
|
EFillBulletType = nil;
|
||||||
|
@ -20,9 +20,6 @@ require(Prefix .. 'SoundSystem')
|
|||||||
require(Prefix .. 'GlobalInit')
|
require(Prefix .. 'GlobalInit')
|
||||||
require(Prefix .. 'UGCEventSystem')
|
require(Prefix .. 'UGCEventSystem')
|
||||||
require(Prefix .. 'GlobalTickTool')
|
require(Prefix .. 'GlobalTickTool')
|
||||||
require(Prefix .. 'GlobalBeginTool')
|
|
||||||
require(Prefix .. 'json')
|
|
||||||
|
|
||||||
|
|
||||||
require(Prefix .. 'UGCSystemLibrary')
|
require(Prefix .. 'UGCSystemLibrary')
|
||||||
require(Prefix .. 'MyWeaponSystem')
|
require(Prefix .. 'MyWeaponSystem')
|
||||||
@ -33,11 +30,11 @@ require(Prefix .. 'WidgetLibrary')
|
|||||||
if DefaultSettings.EnableTest then
|
if DefaultSettings.EnableTest then
|
||||||
require(Prefix .. 'TestTool')
|
require(Prefix .. 'TestTool')
|
||||||
|
|
||||||
for i, v in pairs(TestTool) do
|
--for i, v in pairs(TestTool) do
|
||||||
if type(v) == 'function' then
|
-- if type(v) == 'function' then
|
||||||
v(TestTool);
|
-- v(TestTool);
|
||||||
end
|
-- end
|
||||||
end
|
--end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
@ -117,21 +117,18 @@ function UE.InitArchiveData()
|
|||||||
return {
|
return {
|
||||||
TotalGameTimes = 0; -- 经典模式游玩次数,同步
|
TotalGameTimes = 0; -- 经典模式游玩次数,同步
|
||||||
GameTimes = 0, -- 游玩次数(包含所有模式)不同步
|
GameTimes = 0, -- 游玩次数(包含所有模式)不同步
|
||||||
Weapons = {}, -- 武器配件 不同步
|
Weapons = {}, -- 武器配件
|
||||||
Score = DefaultSettings.RankScore, -- 默认 2000分 同步
|
Score = DefaultSettings.RankScore, -- 默认 2000分 同步
|
||||||
WinTimes = 0, -- 一共获胜次数 不同步
|
WinTimes = 0, -- 一共获胜次数 不同步
|
||||||
GameWinTimes = 0, -- 经典模式获胜次数 同步
|
GameWinTimes = 0, -- 经典模式获胜次数 同步
|
||||||
|
|
||||||
Kill = 0, -- 总击杀数 同步
|
Kill = 0, -- 总击杀数 同步
|
||||||
Dead = 0, -- 总死亡数 同步
|
Dead = 0, -- 总死亡数 同步
|
||||||
|
|
||||||
HideScore = 0, -- 隐藏分 同步
|
HideScore = 0, -- 隐藏分 同步
|
||||||
|
|
||||||
Disables = {};
|
Disables = {};
|
||||||
|
|
||||||
-- 最后十局战绩
|
-- 最后十局战绩
|
||||||
Last10Games = {}, -- 历史十局 同步
|
Last10Games = {}, -- 历史十局 同步
|
||||||
|
|
||||||
CurSeason = 0; -- 默认赛季 不同步
|
CurSeason = 0; -- 默认赛季 不同步
|
||||||
--- 赛季信息
|
--- 赛季信息
|
||||||
Seasons = {}; -- 历史赛季 同步
|
Seasons = {}; -- 历史赛季 同步
|
||||||
@ -144,6 +141,8 @@ function UE.InitArchiveData()
|
|||||||
NoSelectMaps = {}; -- 没有选择的地图
|
NoSelectMaps = {}; -- 没有选择的地图
|
||||||
EnterWeaponIndex = nil; -- 娱乐模式的之前选择的 Index
|
EnterWeaponIndex = nil; -- 娱乐模式的之前选择的 Index
|
||||||
EnterWeapons = {}; -- 娱乐模式保存的武器
|
EnterWeapons = {}; -- 娱乐模式保存的武器
|
||||||
|
|
||||||
|
bOldParts = nil, -- 是否默认开启之前的武器配件配置
|
||||||
};
|
};
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
---@field TextBlock_Parts UTextBlock
|
---@field TextBlock_Parts UTextBlock
|
||||||
---@field TextBlock_WeaponName UTextBlock
|
---@field TextBlock_WeaponName UTextBlock
|
||||||
---@field WB_DamageTextButton UWB_DamageTextButton_C
|
---@field WB_DamageTextButton UWB_DamageTextButton_C
|
||||||
|
---@field WB_OpenOldWeaponParts UWB_OpenOldWeaponParts_C
|
||||||
--Edit Below--
|
--Edit Below--
|
||||||
local WB_WeaponConfiguration = {
|
local WB_WeaponConfiguration = {
|
||||||
bInitDoOnce = false;
|
bInitDoOnce = false;
|
||||||
@ -66,6 +67,8 @@ function WB_WeaponConfiguration:LuaInit()
|
|||||||
Item:SetSelectStyle(1)
|
Item:SetSelectStyle(1)
|
||||||
Item:BindSelectCallBack(self.ClickSelectPart, self)
|
Item:BindSelectCallBack(self.ClickSelectPart, self)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
self.WB_OpenOldWeaponParts:LuaInit();
|
||||||
end
|
end
|
||||||
|
|
||||||
function WB_WeaponConfiguration:CloseSelf()
|
function WB_WeaponConfiguration:CloseSelf()
|
||||||
|
37
SoloKing/Script/UI/Tool/WB_OpenOldWeaponParts.lua
Normal file
37
SoloKing/Script/UI/Tool/WB_OpenOldWeaponParts.lua
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
---@class WB_OpenOldWeaponParts_C:UUserWidget
|
||||||
|
---@field NewButton_Shovel UNewButton
|
||||||
|
---@field WidgetSwitcher_ChangeShovel UWidgetSwitcher
|
||||||
|
--Edit Below--
|
||||||
|
---@type WB_OpenOldWeaponParts_C
|
||||||
|
local WB_OpenOldWeaponParts = { bInitDoOnce = false }
|
||||||
|
|
||||||
|
function WB_OpenOldWeaponParts:Construct()
|
||||||
|
self:LuaInit();
|
||||||
|
end
|
||||||
|
|
||||||
|
function WB_OpenOldWeaponParts:LuaInit()
|
||||||
|
if self.bInitDoOnce then return ; end
|
||||||
|
self.bInitDoOnce = true;
|
||||||
|
|
||||||
|
UITool.BindButtonClicked(self.NewButton_Shovel, self.OnClickButton, self)
|
||||||
|
|
||||||
|
UGCEventSystem.AddListener(EventTypes.OpenOldWeaponParts, self.OnOpenOldWeaponParts, self)
|
||||||
|
if ArchiveTable[LocalPlayerKey] and ArchiveTable[LocalPlayerKey].bOldParts then
|
||||||
|
self:OnOpenOldWeaponParts(ArchiveTable[LocalPlayerKey].bOldParts);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function WB_OpenOldWeaponParts:OnOpenOldWeaponParts(IsEnable)
|
||||||
|
self.bOldParts = IsEnable;
|
||||||
|
self.WidgetSwitcher_ChangeShovel:SetActiveWidgetIndex(IsEnable and 1 or 0);
|
||||||
|
end
|
||||||
|
|
||||||
|
WB_OpenOldWeaponParts.bOldParts = false;
|
||||||
|
|
||||||
|
function WB_OpenOldWeaponParts:OnClickButton()
|
||||||
|
UGCLogSystem.Log("[WB_DamageTextButton:OnClickButton] 点击")
|
||||||
|
self:OnOpenOldWeaponParts(not self.bOldParts);
|
||||||
|
UGCEventSystem.SendEvent(EventTypes.OpenOldWeaponParts, self.bOldParts);
|
||||||
|
end
|
||||||
|
|
||||||
|
return WB_OpenOldWeaponParts
|
@ -5,6 +5,7 @@
|
|||||||
---@field Button_Test_Custom UButton
|
---@field Button_Test_Custom UButton
|
||||||
---@field Button_TestSide UButton
|
---@field Button_TestSide UButton
|
||||||
---@field CanvasPanel_Test UCanvasPanel
|
---@field CanvasPanel_Test UCanvasPanel
|
||||||
|
---@field CustomizeCanvasPanel_BP_C_4 UCustomizeCanvasPanel_BP_C
|
||||||
---@field Overlay_EnemyHP UOverlay
|
---@field Overlay_EnemyHP UOverlay
|
||||||
---@field TextBlock_1 UTextBlock
|
---@field TextBlock_1 UTextBlock
|
||||||
---@field TextBlock_EnemyHP UTextBlock
|
---@field TextBlock_EnemyHP UTextBlock
|
||||||
@ -38,6 +39,8 @@ function WB_Main:LuaInit()
|
|||||||
UGCEventSystem.AddListener(EventTypes.MiniStateChange, self.OnMiniStateChange, self)
|
UGCEventSystem.AddListener(EventTypes.MiniStateChange, self.OnMiniStateChange, self)
|
||||||
UGCEventSystem.AddListener(EventTypes.ChangeSpector, self.OnChangeSpector, self)
|
UGCEventSystem.AddListener(EventTypes.ChangeSpector, self.OnChangeSpector, self)
|
||||||
UGCEventSystem.AddListener(EventTypes.ShowRoundWin, self.ShowRoundWin, self)
|
UGCEventSystem.AddListener(EventTypes.ShowRoundWin, self.ShowRoundWin, self)
|
||||||
|
UGCEventSystem.AddListener(EventTypes.OpenOldWeaponParts, self.OpenOldWeaponParts, self)
|
||||||
|
UGCEventSystem.AddListener(EventTypes.UpdateArchiveData, self.UpdateArchiveData, self)
|
||||||
|
|
||||||
--- 死亡的时候显示 ID Panel
|
--- 死亡的时候显示 ID Panel
|
||||||
UGCEventSystem.AddListener(EventTypes.PlayerRespawn, function(MainUI, PlayerKey)
|
UGCEventSystem.AddListener(EventTypes.PlayerRespawn, function(MainUI, PlayerKey)
|
||||||
@ -79,9 +82,11 @@ function WB_Main:LuaInit()
|
|||||||
self.WB_PID:LuaInit();
|
self.WB_PID:LuaInit();
|
||||||
self.WB_Title1_2:LuaInit();
|
self.WB_Title1_2:LuaInit();
|
||||||
self.WB_Title2_2:LuaInit();
|
self.WB_Title2_2:LuaInit();
|
||||||
--self.WB_SelectParts:LuaInit();
|
|
||||||
self.WB_ReselectWeaponBtn:LuaInit();
|
self.WB_ReselectWeaponBtn:LuaInit();
|
||||||
--self.WB_SelectParts:SetType({ EWeaponPartType.Telescope, EWeaponPartType.Grip, EWeaponPartType.Muzzle, });
|
|
||||||
|
--- 有显示的操作
|
||||||
|
self.WB_SelectParts:LuaInit();
|
||||||
|
self.WB_SelectParts:SetType({ EWeaponPartType.Telescope, EWeaponPartType.Grip, EWeaponPartType.Muzzle, });
|
||||||
|
|
||||||
self:ShowCustomSelectWeaponBtn(false);
|
self:ShowCustomSelectWeaponBtn(false);
|
||||||
|
|
||||||
@ -112,6 +117,21 @@ function WB_Main:LuaInit()
|
|||||||
GameState:UIAlready();
|
GameState:UIAlready();
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function WB_Main:OpenOldWeaponParts(IsShow)
|
||||||
|
UGCLogSystem.Log("[WB_Main:OpenOldWeaponParts] 执行")
|
||||||
|
if IsShow then
|
||||||
|
self.CustomizeCanvasPanel_BP_C_4:SetVisibility(ESlateVisibility.SelfHitTestInvisible);
|
||||||
|
else
|
||||||
|
self.CustomizeCanvasPanel_BP_C_4:SetVisibility(ESlateVisibility.Collapsed);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function WB_Main:UpdateArchiveData()
|
||||||
|
if ArchiveTable[LocalPlayerKey] then return; end
|
||||||
|
--- 默认选项
|
||||||
|
self:OpenOldWeaponParts(ArchiveTable[LocalPlayerKey].bOldParts or false);
|
||||||
|
end
|
||||||
|
|
||||||
function WB_Main:OnShowPanel(...)
|
function WB_Main:OnShowPanel(...)
|
||||||
self.WB_PID:SetIDs()
|
self.WB_PID:SetIDs()
|
||||||
end
|
end
|
||||||
|
@ -53,13 +53,13 @@ SwitchesInMaps=((Key="r.Mobile.EnableIBL",Value=0),(Key="s.StreamableDelegateLim
|
|||||||
PlayBindingArray=[]
|
PlayBindingArray=[]
|
||||||
|
|
||||||
[JobOption]
|
[JobOption]
|
||||||
LastJobId=-1
|
LastJobId=600044806
|
||||||
LastWindowsJobId=-1
|
LastWindowsJobId=600026723
|
||||||
LastAndroidJobId=-1
|
LastAndroidJobId=600026723
|
||||||
LastIOSJobId=-1
|
LastIOSJobId=600026723
|
||||||
PakOnly=0
|
PakOnly=1
|
||||||
LastSkipBake=False
|
LastSkipBake=True
|
||||||
LastTargetPlatform=LinuxServer
|
LastTargetPlatform=LinuxServer+WindowsNoEditor+Android_ETC2+IOS+OpenHarmony_ETC2
|
||||||
|
|
||||||
[UGCUploadOption]
|
[UGCUploadOption]
|
||||||
PlatformIndex=0
|
PlatformIndex=0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user