新增保护功能及修改苹果

This commit is contained in:
admin 2026-06-23 01:08:46 +08:00
parent f34ebe8475
commit 968c70e15b
20 changed files with 11726 additions and 10074 deletions

View file

@ -55,6 +55,7 @@ VarCfg.Player.int.cd["낳
VarCfg.Player.int.cd["逆生死"] = "INT_逆生死CD" ---* 九秘-逆生死cd
VarCfg.Player.int.cd["不动明王"] = "INT_不动明王CD" ---* 绝学不动明王
VarCfg.Player.int.cd["自动苹果"] = "INT_自动苹果" ---* 自动苹果cd

View file

@ -102,6 +102,7 @@ function ZhiJinHuLuOBJ:addjiuqi(actor, num)
end
end
---* 登陆和重载QF 缓存Cache
function ZhiJinHuLuOBJ.changaCache(actor)
local itemOjb = GetItemByPos(actor, 16)

View file

@ -1,5 +1,6 @@
ClickOnItem = {}
ClickOnItem.allowFunc = { "autoUseJiu", "autoUseApple" }
ClickOnItem.cfg = {
["盟重传送石"] = function(actor, ...)
MapCfg.gotomap(actor, "3", 330, 330, 8)
@ -458,6 +459,21 @@ ClickOnItem.cfg = {
Func.sendmsg9(actor, "[嗷嗷虎]:#70|拾取精灵已激活,10格范围自动拾取开启!")
return true
end,
--* 使用苹果
["苹果"] = function(actor, ...)
if not hasbuff(actor, 10034) then
if addbuff(actor, 10034) then
Player.setint(actor, VarCfg.Player.int.cd["自动苹果"], os.time() + 300)
return true
else
return false
end
else
local _time = getbuffinfo(actor, 10034, 2)
Func.sendmsg9(actor,string.format("[苹果]#70|CD中,剩余:%s秒",_time))
return false
end
end,
}
@ -487,7 +503,9 @@ function chuanyuanjian(actor, mapid, x, y, name, maptitle)
table.insert(str, "<Text|x=30.0|y=131.0|color=249|size=18|text=倒计时:>")
table.insert(str, "<TIMETIPS|x=94.0|y=131.0|time=60|count=1|size=18|color=249|showWay=1|link=@exit>")
table.insert(str, "<Img|x=236.0|y=132.0|esc=0|img=public/btn_npcfh_03.png>")
table.insert(str, "<Text|x=261.0|y=130.0|size=18|color=251|text=Á¢¼´Ç°Íù|link=@goto_hanghui," .. mapid .. "," .. x .. "," .. y .. ">")
table.insert(str,
"<Text|x=261.0|y=130.0|size=18|color=251|text=立即前往|link=@goto_hanghui," ..
mapid .. "," .. x .. "," .. y .. ">")
table.insert(str, "<Img|x=394.0|y=132.0|esc=0|img=public/btn_npcfh_03.png>")
table.insert(str, "<Text|x=419.0|y=130.0|size=18|color=251|text=拒绝前往|link=@exit>")
say(actor, table.concat(str))
@ -503,10 +521,6 @@ function goto_hanghui(actor, mapid, x, y)
MapCfg.gotomap(actor, mapid, x, y, 5)
end
function ClickOnItem:trigger(actor, item)
local item_name = Item.GetNameByObj(actor, item)
local func = self.cfg[item_name]
@ -641,4 +655,34 @@ function batch_exp(actor, itemName)
say(actor, table.concat(_str))
end
function ClickOnItem:autoUseJiu(actor)
local itemOjb = GetItemByPos(actor, 16)
if itemOjb == "0" then
return
end
local itemName = getiteminfo(actor, itemOjb, ConstCfg.iteminfo.name)
if itemName ~= "紫金葫芦" then
return
end
local curValue = Item.getint(itemOjb, VarCfg.item.int["葫芦刀魂_当前进度"]) or 0
local maxValue = Item.getint(itemOjb, VarCfg.item.int["葫芦刀魂_最大进度"]) or 0
local open = Item.getint(itemOjb, VarCfg.item.int["葫芦刀魂_开启"]) or 0
if open == 0 or curValue >= maxValue or curValue >= 6000 then
return
end
ZhiJinHuLuOBJ:addjiuqi(actor, 1)
local newValue = Item.getint(itemOjb, VarCfg.item.int["葫芦刀魂_当前进度"]) or curValue
if newValue > curValue then
playeffect(actor, 22016, 0, 0, 1, 0, 0)
end
end
function ClickOnItem:autoUseApple(actor)
eatitem(actor, "苹果", 1)
end
return ClickOnItem

View file

@ -33,3 +33,4 @@ $GLOBAL(STR_MiGongBOSSInfo)
$HUMAN(STR_特戒盒子)
$HUMAN(INT_攻城区域计秒)
$HUMAN(INT_月卡)
$HUMAN(INT_自动苹果)

View file

@ -0,0 +1,33 @@
local ui = {}
function ui.init(parent)
-- Create Node
local Node = GUI:Node_Create(parent, "Node", 0.00, 0.00)
GUI:setChineseName(Node, "保护设置_节点")
GUI:setAnchorPoint(Node, 0.50, 0.50)
GUI:setTag(Node, -1)
-- Create Panel_1
local Panel_1 = GUI:Layout_Create(Node, "Panel_1", 0.00, 0.00, 732.00, 445.00, false)
GUI:setChineseName(Panel_1, "保护设置_组合")
GUI:setTouchEnabled(Panel_1, true)
GUI:setTag(Panel_1, 6)
-- Create Image_1
local Image_1 = GUI:Image_Create(Panel_1, "Image_1", 17.00, 427.00, "res/private/new_setting/textBg.png")
GUI:Image_setScale9Slice(Image_1, 33, 33, 9, 9)
GUI:setContentSize(Image_1, 693, 407)
GUI:setIgnoreContentAdaptWithSize(Image_1, false)
GUI:setChineseName(Image_1, "保护设置_图片组合")
GUI:setAnchorPoint(Image_1, 0.00, 1.00)
GUI:setTouchEnabled(Image_1, false)
GUI:setTag(Image_1, 19)
-- Create ScrollView_1
local ScrollView_1 = GUI:ScrollView_Create(Image_1, "ScrollView_1", 2.00, 2.00, 690.00, 403.00, 1)
GUI:ScrollView_setBounceEnabled(ScrollView_1, true)
GUI:ScrollView_setInnerContainerSize(ScrollView_1, 693.00, 403.00)
GUI:setChineseName(ScrollView_1, "保护设置_详细设置")
GUI:setTouchEnabled(ScrollView_1, true)
GUI:setTag(ScrollView_1, 128)
end
return ui

View file

@ -0,0 +1,33 @@
local ui = {}
function ui.init(parent)
-- Create Node
local Node = GUI:Node_Create(parent, "Node", 0.00, 0.00)
GUI:setChineseName(Node, "保护设置_节点")
GUI:setAnchorPoint(Node, 0.50, 0.50)
GUI:setTag(Node, -1)
-- Create Panel_1
local Panel_1 = GUI:Layout_Create(Node, "Panel_1", 0.00, 0.00, 606.00, 390.00, false)
GUI:setChineseName(Panel_1, "保护设置_组合")
GUI:setTouchEnabled(Panel_1, true)
GUI:setTag(Panel_1, 6)
-- Create Image_1
local Image_1 = GUI:Image_Create(Panel_1, "Image_1", 14.00, 380.00, "res/private/new_setting/textBg.png")
GUI:Image_setScale9Slice(Image_1, 33, 33, 9, 9)
GUI:setContentSize(Image_1, 578, 370)
GUI:setIgnoreContentAdaptWithSize(Image_1, false)
GUI:setChineseName(Image_1, "保护设置_图片组合")
GUI:setAnchorPoint(Image_1, 0.00, 1.00)
GUI:setTouchEnabled(Image_1, false)
GUI:setTag(Image_1, 19)
-- Create ScrollView_1
local ScrollView_1 = GUI:ScrollView_Create(Image_1, "ScrollView_1", 1.00, 2.00, 576.00, 366.00, 1)
GUI:ScrollView_setBounceEnabled(ScrollView_1, true)
GUI:ScrollView_setInnerContainerSize(ScrollView_1, 578.00, 370.00)
GUI:setChineseName(ScrollView_1, "保护设置_详细设置")
GUI:setTouchEnabled(ScrollView_1, true)
GUI:setTag(ScrollView_1, 128)
end
return ui

View file

@ -51,9 +51,6 @@ end
-- 小退释放
SL:RegisterLUAEvent(LUA_EVENT_LEAVE_WORLD, "GUIUtil", function()
SL:Print("-小退释放缓存-")

View file

@ -0,0 +1,72 @@
ProtectAutoUseOBJ = {}
ProtectAutoUseOBJ.JIU_SETTING_ID = 13000
ProtectAutoUseOBJ.APPLE_SETTING_ID = 13001
ProtectAutoUseOBJ.JIU_LIMIT = 6000
ProtectAutoUseOBJ.APPLE_CD_VAR = "INT_自动苹果"
local function isSettingEnabled(settingID)
local values = SL:GetValue("SETTING_VALUE", settingID)
return values and values[1] == 1
end
local function getServerTime()
if SL.Get_SERVER_TIME then
return tonumber(SL:Get_SERVER_TIME()) or 0
end
return tonumber(SL:GetValue("SERVER_TIME")) or os.time()
end
local function getJiuqiValue()
if SL:Get_EQUIPBYPOS(16) ~= "紫金葫芦" then
return nil
end
local equipData = SL:Get_EQUIP_DATA(16)
if not equipData or not equipData.MakeIndex then
return nil
end
return tonumber(SL:GetValue("ITEM_CUSTOM_VAR_BY_VNAME", equipData.MakeIndex, "INT_葫芦刀魂当前进度")) or 0
end
function ProtectAutoUseOBJ:checkAutoJiu()
if not isSettingEnabled(self.JIU_SETTING_ID) then
return
end
local jiuqi = getJiuqiValue()
if jiuqi and jiuqi < self.JIU_LIMIT then
ssrMessage:SubLink("ClickOnItem_autoUseJiu")
end
end
function ProtectAutoUseOBJ:checkAutoApple()
local values = SL:GetValue("SETTING_VALUE", self.APPLE_SETTING_ID)
if not values or values[1] ~= 1 then
return
end
local now = getServerTime()
local cdTime = tonumber(SL:Get_SERVER_VALUE(string.format("HUMAN(%s)",self.APPLE_CD_VAR))) or 0
if now > 0 and now >= cdTime then
ssrMessage:SubLink("ClickOnItem_autoUseApple")
end
end
function ProtectAutoUseOBJ:main()
SL:Schedule(function()
self:checkAutoJiu()
self:checkAutoApple()
end, 1)
end
return ProtectAutoUseOBJ

View file

@ -0,0 +1,721 @@
SettingProtect = {}
SettingProtect._ui = nil
local group1 = {
SLDefine.SETTINGID.SETTING_IDX_HP_PROTECT1, -- 生命值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HP_PROTECT2, -- 生命值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HP_PROTECT3, -- 生命值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HP_PROTECT4, -- 生命值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_MP_PROTECT1, -- 魔法值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_MP_PROTECT2, -- 魔法值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_MP_PROTECT3, -- 魔法值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_MP_PROTECT4, -- 魔法值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_PK_PROTECT, -- 红名保护
SLDefine.SETTINGID.SETTING_IDX_HP_LOW_USE_SKILL, -- 生命低于多少使用
SLDefine.SETTINGID.SETTING_IDX_REVIVE_PROTECT, -- 复活保护
SLDefine.SETTINGID.SETTING_IDX_REVIVE_PROTECT_HERO, -- 英雄复活保护
13000, -- 自动竹叶青
13001, -- 自动苹果
}
local heroGroup1 = {
SLDefine.SETTINGID.SETTING_IDX_HERO_HP_PROTECT1, -- 生命值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HERO_HP_PROTECT2, -- 生命值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HERO_HP_PROTECT3, -- 生命值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HERO_HP_PROTECT4, -- 生命值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HERO_MP_PROTECT1, -- 魔法值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HERO_MP_PROTECT2, -- 魔法值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HERO_MP_PROTECT3, -- 魔法值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HERO_MP_PROTECT4, -- 魔法值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HERO_AUTO_LOGINOUT, -- 英雄生命值低于多少自动收回
}
local getConfigFunc = function(group)
local configs = {}
local config
for i, id in ipairs(group) do
config = SL:GetValue("SETTING_CONFIG", id)
if config and (config.platform == 0 or config.platform == SL:GetValue("CURRENT_OPERMODE")) then
if not config.order or not tonumber(config.order) then
config.order = 0
end
table.insert(configs, config)
end
end
table.sort(configs, function(a, b)
return a.order < b.order
end)
return configs
end
function SettingProtect.main()
local parent = GUI:Attach_Parent()
GUI:LoadExport(parent, "set/setting_protect")
SettingProtect._ui = GUI:ui_delegate(parent)
SettingProtect._parent = parent
if not SettingProtect._ui then
return false
end
SettingProtect.InitGroup()
end
function SettingProtect.InitGroup()
local tconfigs = SL:CopyData(group1)
--英雄系统是否开启
if SL:GetValue("USEHERO") then
for i, id in ipairs(heroGroup1) do
table.insert(tconfigs, id)
end
end
local groupConfig = getConfigFunc(tconfigs)
local ScrollView_1 = SettingProtect._ui.ScrollView_1
local contentSize = GUI:getContentSize(ScrollView_1)
local cellW = 343
local cellH = 54
local addH = 0
local y = 0
for i, config in ipairs(groupConfig) do
local x = (i - 1) % 2
y = math.ceil(i / 2)
if x == 0 then
if config.id == SLDefine.SETTINGID.SETTING_IDX_HP_LOW_USE_SKILL then
addH = addH + 10
elseif config.id == SLDefine.SETTINGID.SETTING_IDX_REVIVE_PROTECT
or config.id == SLDefine.SETTINGID.SETTING_IDX_REVIVE_PROTECT_HERO
or config.id == 13000
or config.id == 13001 then
addH = addH - 14
end
end
config.height = y * cellH + addH
config.width = cellW * x
end
local innerContainerSize = GUI:Size(contentSize.width, y * cellH + addH)
if innerContainerSize.height <= contentSize.height then
innerContainerSize.height = contentSize.height
end
GUI:ScrollView_setInnerContainerSize(ScrollView_1, innerContainerSize.width, innerContainerSize.height)
for i, v in ipairs(groupConfig) do
local cell = SettingProtect.CreateCell(ScrollView_1, v)
GUI:setPosition(cell, v.width, innerContainerSize.height - v.height)
end
end
function SettingProtect.CreateCell(parent, config)
local cell
if config.id == SLDefine.SETTINGID.SETTING_IDX_PK_PROTECT then
cell = SettingProtect.CreateListClickCell(parent, config)
elseif config.id == SLDefine.SETTINGID.SETTING_IDX_HP_LOW_USE_SKILL then
cell = SettingProtect.CreateSelectInputClickCell(parent, config)
elseif config.id == SLDefine.SETTINGID.SETTING_IDX_HERO_AUTO_LOGINOUT then
cell = SettingProtect.CreateInput2ClickCell(parent, config)
elseif config.id == SLDefine.SETTINGID.SETTING_IDX_REVIVE_PROTECT or config.id == SLDefine.SETTINGID.SETTING_IDX_REVIVE_PROTECT_HERO or config.id == 13000 or config.id == 13001 then
cell = SettingProtect.CreateClickCell(parent, config)
else
cell = SettingProtect.CreateClickProgressSelectCell(parent, config)
end
return cell
end
--点击的开关
function SettingProtect.CreateClickCell(parent, data)
--
local Panel_Click = GUI:Layout_Create(parent, "Panel_Click_" .. data.id, 0, 1, 200, 40, false)
GUI:setTouchEnabled(Panel_Click, true)
-- 描述
local Text_desc = GUI:Text_Create(Panel_Click, "Text_desc", 12, 20, 16, "#ffffff", data.content or "")
GUI:setAnchorPoint(Text_desc, 0, 0.5)
--选择容器
local CheckBox_able = GUI:Layout_Create(Panel_Click, "CheckBox_able", 134, 19, 44, 18, false)
GUI:setAnchorPoint(CheckBox_able, 0, 0.5)
-- 背景
local Image_5 = GUI:Image_Create(CheckBox_able, "Image_5", 22, 9, "res/private/new_setting/clickbg2.png")
GUI:setAnchorPoint(Image_5, 0.5, 0.5)
--关闭状态
local Panel_1 = GUI:Layout_Create(CheckBox_able, "Panel_1", 0, 0, 44, 18, false)
local Image_8 = GUI:Image_Create(Panel_1, "Image_8", 10, 8, "res/private/new_setting/click3.png")
GUI:setAnchorPoint(Image_8, 0.5, 0.5)
--开启状态
local Panel_2 = GUI:Layout_Create(CheckBox_able, "Panel_2", 0, 0, 44, 18, false)
local Image_5 = GUI:Image_Create(Panel_2, "Image_5", 22, 9, "res/private/new_setting/clickbg1.png")
GUI:setAnchorPoint(Image_5, 0.5, 0.5)
local Image_8 = GUI:Image_Create(Panel_2, "Image_8", 33, 8, "res/private/new_setting/click3.png")
GUI:setAnchorPoint(Image_8, 0.5, 0.5)
--触摸提示
if data.tips then
GUI:Text_enableUnderline(Text_desc)
GUI:setTouchEnabled(Text_desc, true)
GUI:addOnClickEvent(Text_desc, function()
local worldPos = GUI:getTouchEndPosition(Text_desc)
SL:SHOW_DESCTIP(data.tips, nil, worldPos, GUI:p(0, 1))
end)
end
--设置是否开启
local isOn = SL:GetValue("SETTING_ENABLED", (data.id))
local enable = isOn == 1
local func = function(enable)
--关闭状态ui
GUI:setVisible(Panel_1, not enable)
--开启状态ui
GUI:setVisible(Panel_2, enable)
end
--刷新开关状态
func(enable)
--开关点击
GUI:addOnClickEvent(Panel_Click, function()
local isOn = SL:GetValue("SETTING_ENABLED", (data.id))
local enable = isOn == 1
SL:SetValue("SETTING_VALUE", data.id, enable and { 0 } or { 1 })
--刷新开关状态
func(not enable)
end)
return Panel_Click
end
function SettingProtect.CreateListClickCell(parent, data)
-- 容器
local Panel_Layout = GUI:Layout_Create(parent, "Panel_" .. data.id, 0, 2, 200, 40, false)
GUI:setTouchEnabled(Panel_Layout, true)
-- 描述
local Text_desc = GUI:Text_Create(Panel_Layout, "Text_desc", 14, 20, 16, "#ffffff", data.content or "")
GUI:setAnchorPoint(Text_desc, 0, 0.5)
GUI:setTouchEnabled(Text_desc, false)
-- 点击背景
local Image_ClickBg = GUI:Image_Create(Panel_Layout, "Image_ClickBg", 128, 18, "res/private/new_setting/textBg.png")
GUI:Image_setScale9Slice(Image_ClickBg, 33, 33, 9, 9)
GUI:setContentSize(Image_ClickBg, 77, 28)
GUI:setIgnoreContentAdaptWithSize(Image_ClickBg, false)
GUI:setAnchorPoint(Image_ClickBg, 0.5, 0.5)
GUI:setTouchEnabled(Image_ClickBg, true)
-- 列表配置
local Text_desc_2 = GUI:Text_Create(Image_ClickBg, "Text_desc_2", 39, 16, 18, "#109c18", "列表配置")
GUI:setAnchorPoint(Text_desc_2, 0.5, 0.5)
GUI:setTouchEnabled(Text_desc_2, false)
-- 开关容器
local CheckBox_able = GUI:Layout_Create(Panel_Layout, "CheckBox_able", 174, 19, 44, 18, false)
GUI:setAnchorPoint(CheckBox_able, 0, 0.5)
GUI:setTouchEnabled(CheckBox_able, true)
-- 开关背景
local Image_bg = GUI:Image_Create(CheckBox_able, "Image_bg", 22, 9, "res/private/new_setting/clickbg2.png")
GUI:setAnchorPoint(Image_bg, 0.5, 0.5)
GUI:setTouchEnabled(Image_bg, false)
-- 关闭状态
local Panel_1 = GUI:Layout_Create(CheckBox_able, "Panel_1", 0, 0, 44, 18, false)
GUI:setTouchEnabled(Panel_1, false)
local Image_8 = GUI:Image_Create(Panel_1, "Image_8", 10.28, 8.78, "res/private/new_setting/click3.png")
GUI:setAnchorPoint(Image_8, 0.5, 0.5)
GUI:setTouchEnabled(Image_8, false)
-- 开启状态
local Panel_2 = GUI:Layout_Create(CheckBox_able, "Panel_2", 0, 0, 44, 18, false)
GUI:setTouchEnabled(Panel_2, false)
local Image_5 = GUI:Image_Create(Panel_2, "Image_5", 22, 9, "res/private/new_setting/clickbg1.png")
GUI:setAnchorPoint(Image_5, 0.5, 0.5)
GUI:setTouchEnabled(Image_5, false)
local Image_8 = GUI:Image_Create(Panel_2, "Image_8", 33, 9, "res/private/new_setting/click3.png")
GUI:setAnchorPoint(Image_8, 0.5, 0.5)
GUI:setTouchEnabled(Image_8, false)
local values = SL:GetValue("SETTING_VALUE", data.id)
local enable = values[1] == 1
local func = function(enable)
--关闭状态ui
GUI:setVisible(Panel_1, not enable)
--开启状态ui
GUI:setVisible(Panel_2, enable)
end
--刷新开关状态
func(enable)
GUI:addOnClickEvent(CheckBox_able, function()
local values = SL:GetValue("SETTING_VALUE", data.id)
local enable = values[1] == 1
SL:SetValue("SETTING_VALUE", data.id, { enable and 0 or 1 })
--刷新开关状态
func(not enable)
end)
GUI:addOnClickEvent(Image_ClickBg, function()
--打开保护设置
UIOperator:OpenProtectSettingUI(data)
end)
return Panel_Layout
end
function SettingProtect.CreateSelectInputClickCell(parent, data)
-- 容器
local Panel_Layout = GUI:Layout_Create(parent, "Panel_" .. data.id, -0, 0, 323, 64, false)
GUI:setTouchEnabled(Panel_Layout, true)
-- 描述
local Text_desc = GUI:Text_Create(Panel_Layout, "Text_desc", 6, 32, 16, "#ffffff", [[生命值低于]])
GUI:setAnchorPoint(Text_desc, 0, 0.5)
GUI:setTouchEnabled(Text_desc, false)
GUI:Text_enableOutline(Text_desc, "#000000", 1)
local Text_desc_0 = GUI:Text_Create(Panel_Layout, "Text_desc_0", 131, 32, 16, "#ffffff", [[%时使用]])
GUI:setAnchorPoint(Text_desc_0, 0, 0.5)
GUI:setTouchEnabled(Text_desc_0, false)
GUI:Text_enableOutline(Text_desc_0, "#000000", 1)
-- 技能框
local Image_skill = GUI:Image_Create(Panel_Layout, "Image_skill", 231, 31, "res/public/1900000651.png")
GUI:setAnchorPoint(Image_skill, 0.5, 0.5)
GUI:setTouchEnabled(Image_skill, false)
-- 无
local Text_empty = GUI:Text_Create(Panel_Layout, "Text_empty", 231, 34, 16, "#ffffff", [[无]])
GUI:setAnchorPoint(Text_empty, 0.5, 0.5)
GUI:setTouchEnabled(Text_empty, false)
GUI:Text_enableOutline(Text_empty, "#000000", 1)
-- 输入框背景
local Image_2 = GUI:Image_Create(Panel_Layout, "Image_2", 109, 31, "res/private/new_setting/textBg.png")
GUI:Image_setScale9Slice(Image_2, 33, 33, 9, 9)
GUI:setContentSize(Image_2, 30, 28)
GUI:setIgnoreContentAdaptWithSize(Image_2, false)
GUI:setAnchorPoint(Image_2, 0.5, 0.5)
GUI:setTouchEnabled(Image_2, false)
-- 开关容器
local CheckBox_able = GUI:Layout_Create(Panel_Layout, "CheckBox_able", 270, 32, 44, 18, false)
GUI:setAnchorPoint(CheckBox_able, 0, 0.5)
GUI:setTouchEnabled(CheckBox_able, true)
-- 开关背景
local Image_5 = GUI:Image_Create(CheckBox_able, "Image_5", 22, 9, "res/private/new_setting/clickbg2.png")
GUI:setAnchorPoint(Image_5, 0.5, 0.5)
GUI:setTouchEnabled(Image_5, false)
-- 关闭状态
local Panel_1 = GUI:Layout_Create(CheckBox_able, "Panel_1", 0, 0, 44, 18, false)
GUI:setTouchEnabled(Panel_1, false)
local Image_8 = GUI:Image_Create(Panel_1, "Image_8", 10, 8, "res/private/new_setting/click3.png")
GUI:setAnchorPoint(Image_8, 0.5, 0.5)
GUI:setTouchEnabled(Image_8, false)
-- 开启状态
local Panel_2 = GUI:Layout_Create(CheckBox_able, "Panel_2", 0, 0, 44, 18, false)
GUI:setTouchEnabled(Panel_2, false)
local Image_5 = GUI:Image_Create(Panel_2, "Image_5", 22, 9, "res/private/new_setting/clickbg1.png")
GUI:setAnchorPoint(Image_5, 0.5, 0.5)
GUI:setTouchEnabled(Image_5, false)
local Image_8 = GUI:Image_Create(Panel_2, "Image_8", 33, 8, "res/private/new_setting/click3.png")
GUI:setAnchorPoint(Image_8, 0.5, 0.5)
GUI:setTouchEnabled(Image_8, false)
local values = SL:GetValue("SETTING_VALUE", data.id)
local enable = values[1] == 1
local percent = values[2] or 20
local skillID = values[3]
local func = function(enable)
--关闭状态ui
GUI:setVisible(Panel_1, not enable)
--开启状态ui
GUI:setVisible(Panel_2, enable)
end
--刷新开关状态
func(enable)
GUI:addOnClickEvent(CheckBox_able, function()
local values = SL:GetValue("SETTING_VALUE", data.id)
local enable = values[1] == 1
SL:SetValue("SETTING_VALUE", data.id, { enable and 0 or 1 })
--刷新开关状态
func(not enable)
end)
if skillID and skillID ~= -1 then
local contentSize = GUI:getContentSize(Image_skill)
local skillItem = SettingProtect.CreateSkillIcon(Image_skill, skillID)
GUI:setPosition(skillItem, contentSize.width / 2, contentSize.height / 2)
GUI:setTouchEnabled(skillItem, false)
GUI:setScale(skillItem, 0.9)
GUI:setVisible(Text_empty, false)
end
--
GUI:setTouchEnabled(Image_skill, true)
GUI:addOnClickEvent(Image_skill, function()
SettingProtect.ShowSelectSkill(data)
end)
local TextField_input = GUI:TextInput_Create(Image_2, "TextField_input", 0, 0, 30, 26, 14)
GUI:TextInput_setTextHorizontalAlignment(TextField_input, 1)
GUI:TextInput_setMaxLength(TextField_input, 2)
GUI:TextInput_setInputMode(TextField_input, 2)
GUI:TextInput_setString(TextField_input, percent)
GUI:TextInput_addOnEvent(TextField_input, function(_, eventType)
if eventType == 1 then
local input = math.min(math.max(tonumber(GUI:TextInput_getString(TextField_input)) or 1, 1), 99)
SL:SetValue("SETTING_VALUE", data.id, {nil, input })
end
end)
return Panel_Layout
end
function SettingProtect.CreateSkillIcon(parent, skillID)
local icon = GUI:Image_Create(parent, "Image_icon", 30, 30, "Default/ImageFile.png")
GUI:setContentSize(icon, 60, 60)
GUI:setIgnoreContentAdaptWithSize(icon, false)
GUI:setAnchorPoint(icon, 0.50, 0.50)
GUI:setTouchEnabled(icon, false)
local iconPath = SL:GetValue("SKILL_RECT_ICON_PATH", skillID)
if iconPath then
GUI:Image_loadTexture(icon, iconPath)
end
return icon
end
--显示选择技能
function SettingProtect.ShowSelectSkill(data)
local items = {}
if data.id == SLDefine.SETTINGID.SETTING_IDX_HP_LOW_USE_SKILL then
-- 道士 治疗技能
items = SL:GetValue("SKILL_INFO_FILTER", 3, 3, true)
end
items = SL:HashToSortArray(items, function(a, b)
return a.MagicID < b.MagicID
end)
if not next(items) then
SL:ShowSystemTips("未发现可用技能")
return nil
end
-- 背景底框
local Panel_1 = GUI:Layout_Create(SettingProtect._parent, "Panel_SelectSkill", 0, 0, 732, 445, false)
GUI:Layout_setBackGroundColorType(Panel_1, 1)
GUI:Layout_setBackGroundColor(Panel_1, "#000000")
GUI:Layout_setBackGroundColorOpacity(Panel_1, 127)
GUI:setTouchEnabled(Panel_1, true)
-- 底框
local Panel_2 = GUI:Layout_Create(Panel_1, "Panel_2", 366, 222.5, 360, 280, false)
GUI:setAnchorPoint(Panel_2, 0.5, 0.5)
GUI:setTouchEnabled(Panel_2, true)
-- 背景图
local Image_1 = GUI:Image_Create(Panel_2, "Image_1", 180, 140, "res/public/1900000677.png")
GUI:Image_setScale9Slice(Image_1, 21, 21, 34, 32)
GUI:setContentSize(Image_1, 360, 280)
GUI:setIgnoreContentAdaptWithSize(Image_1, false)
GUI:setAnchorPoint(Image_1, 0.5, 0.5)
GUI:setTouchEnabled(Image_1, false)
-- ListView
local ListView = GUI:ListView_Create(Panel_2, "ListView", 180, 140, 355, 275, 1)
GUI:ListView_setGravity(ListView, 0)
GUI:setAnchorPoint(ListView, 0.5, 0.5)
GUI:setTouchEnabled(ListView, true)
GUI:addOnClickEvent(Panel_1, function()
GUI:removeFromParent(Panel_1)
end)
for i, v in ipairs(items) do
local item = {}
item.skill = v
item.setting = data
item.callback = function()
GUI:removeFromParent(Panel_1)
end
local cell = SettingProtect.CreateSelectSkillCell(ListView, item)
GUI:ListView_doLayout(ListView)
end
end
--创建 技能描述item
function SettingProtect.CreateSelectSkillCell(parent, data)
-- 容器
local Panel_item = GUI:Layout_Create(parent, "Panel_" .. data.skill.MagicID, 0, 0, 355, 80, false)
GUI:setTouchEnabled(Panel_item, true)
-- 技能框
local Image_skill = GUI:Image_Create(Panel_item, "Image_skill", 40, 40, "res/public/1900000651.png")
GUI:setAnchorPoint(Image_skill, 0.5, 0.5)
GUI:setTouchEnabled(Image_skill, false)
-- 描述
local Node_desc = GUI:Node_Create(Panel_item, "Node_desc", 80, 40)
GUI:setAnchorPoint(Node_desc, 0.5, 0.5)
-- 线条
local Image_2 = GUI:Image_Create(Panel_item, "Image_2", 177.5, 0, "res/public/1900000667.png")
GUI:setContentSize(Image_2, 355, 2)
GUI:setIgnoreContentAdaptWithSize(Image_2, false)
GUI:setAnchorPoint(Image_2, 0.5, 0)
GUI:setTouchEnabled(Image_2, false)
if data.skill.MagicID == -1 then
local size = GUI:getContentSize(Panel_item)
local RichText_empty = GUI:RichText_Create(Panel_item, "RichText_empty", size.width / 2, size.height / 2, "")
GUI:setAnchorPoint(RichText_empty, 0.5, 0.5)
GUI:setVisible(Image_skill, false)
else
local contentSize = GUI:getContentSize(Image_skill)
local skillItem = SettingProtect.CreateSkillIcon(Image_skill, data.skill.MagicID)
GUI:setPosition(skillItem, contentSize.width / 2, contentSize.height / 2)
GUI:setTouchEnabled(skillItem, false)
GUI:setScale(skillItem, 0.9)
GUI:removeAllChildren(Node_desc)
local RichText_desc = GUI:RichTextFCOLOR_Create(Node_desc, "RichText_desc", 0, 0, data.skill.desc, 2013)
GUI:setAnchorPoint(RichText_desc, 0, 0.5)
end
GUI:addOnClickEvent(Panel_item, function()
local tgroupID
if data.setting.id == SLDefine.SETTINGID.SETTING_IDX_HP_LOW_USE_SKILL then
tgroupID = data.skill.skillgroup
SL:SetValue("SETTING_VALUE", data.setting.id, {nil, nil, tgroupID })
end
local panel = SettingProtect._ui["Panel_" .. data.setting.id]
local Image_skill = GUI:getChildByName(panel, "Image_skill")
GUI:removeAllChildren(Image_skill)
local Text_empty = GUI:getChildByName(panel, "Text_empty")
if tgroupID then
local contentSize = GUI:getContentSize(Image_skill)
local skillItem = SettingProtect.CreateSkillIcon(Image_skill, tgroupID)
GUI:setPosition(skillItem, contentSize.width / 2, contentSize.height / 2)
GUI:setTouchEnabled(skillItem, false)
GUI:setScale(skillItem, 0.9)
GUI:setVisible(Text_empty, false)
else
GUI:setVisible(Text_empty, true)
end
data.callback()
end)
return Panel_item
end
function SettingProtect.CreateInput2ClickCell(parent, data)
-- 容器
local Panel_Layout = GUI:Layout_Create(parent, "Panel_" .. data.id, 0, 2, 346, 54, false)
GUI:setTouchEnabled(Panel_Layout, true)
-- 描述
local Text_desc = GUI:Text_Create(Panel_Layout, "Text_desc", 14, 27, 16, "#ffffff", "英雄生命低于")
GUI:setAnchorPoint(Text_desc, 0, 0.5)
GUI:setTouchEnabled(Text_desc, false)
GUI:Text_enableOutline(Text_desc, "#000000", 1)
local Text_desc_0 = GUI:Text_Create(Panel_Layout, "Text_desc_0", 160, 27, 16, "#ffffff", "%时自动收回")
GUI:setAnchorPoint(Text_desc_0, 0, 0.5)
GUI:setTouchEnabled(Text_desc_0, false)
GUI:setTag(Text_desc_0, 332)
GUI:Text_enableOutline(Text_desc_0, "#000000", 1)
-- 输入框背景
local Image_2 = GUI:Image_Create(Panel_Layout, "Image_2", 135, 26, "res/private/new_setting/textBg.png")
GUI:Image_setScale9Slice(Image_2, 9, 9, 9, 9)
GUI:setContentSize(Image_2, 28, 28)
GUI:setIgnoreContentAdaptWithSize(Image_2, false)
GUI:setAnchorPoint(Image_2, 0.5, 0.5)
GUI:setTouchEnabled(Image_2, false)
-- 开关容器
local CheckBox_able = GUI:Layout_Create(Panel_Layout, "CheckBox_able", 260, 26, 44, 18, false)
GUI:setAnchorPoint(CheckBox_able, 0, 0.5)
GUI:setTouchEnabled(CheckBox_able, true)
GUI:setTag(CheckBox_able, 42)
-- 开关背景
local Image_5 = GUI:Image_Create(CheckBox_able, "Image_5", 22, 9, "res/private/new_setting/clickbg2.png")
GUI:setAnchorPoint(Image_5, 0.5, 0.5)
GUI:setTouchEnabled(Image_5, false)
-- 关闭状态
local Panel_1 = GUI:Layout_Create(CheckBox_able, "Panel_1", 0, 0, 44, 18, false)
GUI:setTouchEnabled(Panel_1, false)
local Image_8 = GUI:Image_Create(Panel_1, "Image_8", 10.28, 8.78, "res/private/new_setting/click3.png")
GUI:setAnchorPoint(Image_8, 0.5, 0.5)
GUI:setTouchEnabled(Image_8, false)
-- 开启状态
local Panel_2 = GUI:Layout_Create(CheckBox_able, "Panel_2", 0, 0, 44, 18, false)
GUI:setTouchEnabled(Panel_2, false)
local Image_5 = GUI:Image_Create(Panel_2, "Image_5", 22, 9, "res/private/new_setting/clickbg1.png")
GUI:setAnchorPoint(Image_5, 0.5, 0.5)
GUI:setTouchEnabled(Image_5, false)
local Image_8 = GUI:Image_Create(Panel_2, "Image_8", 33.28, 8.78, "res/private/new_setting/click3.png")
GUI:setAnchorPoint(Image_8, 0.5, 0.5)
GUI:setTouchEnabled(Image_8, false)
local values = SL:GetValue("SETTING_VALUE", data.id)
local enable = values[1] == 1
local count = values[2] or 0
--输入框
local TextField_input = GUI:TextInput_Create(Image_2, "TextField_input", 12, 15, 24, 24, 14)
GUI:setAnchorPoint(TextField_input, 0.5, 0.5)
GUI:TextInput_setTextHorizontalAlignment(TextField_input, 1)
GUI:TextInput_setMaxLength(TextField_input, 3)
GUI:TextInput_setInputMode(TextField_input, 2)
GUI:TextInput_setString(TextField_input, count)
GUI:TextInput_addOnEvent(TextField_input, function(_, eventType)
if eventType == 1 then
local count = GUI:TextInput_getString(TextField_input)
if count ~= "" then
count = tonumber(count) or 0
count = math.max(math.min(100, count), 0)
GUI:TextInput_setString(TextField_input, count)
SL:SetValue("SETTING_VALUE", data.id, {nil, count })
end
end
end)
local func = function(enable)
--关闭状态ui
GUI:setVisible(Panel_1, not enable)
--开启状态ui
GUI:setVisible(Panel_2, enable)
end
--刷新开关状态
func(enable)
GUI:addOnClickEvent(CheckBox_able, function()
local values = SL:GetValue("SETTING_VALUE", data.id)
local enable = values[1] == 1
SL:SetValue("SETTING_VALUE", data.id, { enable and 0 or 1 })
--刷新开关状态
func(not enable)
end)
return Panel_Layout
end
function SettingProtect.CreateClickProgressSelectCell(parent, data)
local values = SL:GetValue("SETTING_VALUE", data.id)
local enable = values[1] == 1
local percent = values[2] or 50
local t = values[3]
-- 容器
local Panel_Layout = GUI:Layout_Create(parent, "Panel_" .. data.id, 0, 0, 343, 54, false)
GUI:setTouchEnabled(Panel_Layout, false)
Panel_Layout.config = data
-- 开关容器
local CheckBox_able = GUI:Layout_Create(Panel_Layout, "CheckBox_able", 8, 20, 28, 28, false)
GUI:setAnchorPoint(CheckBox_able, 0, 0.5)
GUI:setTouchEnabled(CheckBox_able, true)
-- 开关背景
local Image_5 = GUI:Image_Create(CheckBox_able, "Image_5", 14, 14, "res/private/new_setting/clickbg2.png")
GUI:Image_setScale9Slice(Image_5, 9, 9, 5, 5)
GUI:setContentSize(Image_5, 18, 18)
GUI:setIgnoreContentAdaptWithSize(Image_5, false)
GUI:setAnchorPoint(Image_5, 0.5, 0.5)
GUI:setTouchEnabled(Image_5, false)
-- 开关
local Image_sel = GUI:Image_Create(CheckBox_able, "Image_sel", 14, 14, "res/private/new_setting/click3.png")
GUI:setAnchorPoint(Image_sel, 0.5, 0.5)
GUI:setTouchEnabled(Image_sel, false)
-- 描述
local Text_desc = GUI:Text_Create(Panel_Layout, "Text_desc", 152, 41, 16, "#ffffff", string.format(data.content, percent) or "")
GUI:setAnchorPoint(Text_desc, 0.5, 0.5)
GUI:setTouchEnabled(Text_desc, false)
GUI:Text_enableOutline(Text_desc, "#000000", 1)
-- 滑动条
local Slider_progress = GUI:Slider_Create(Panel_Layout, "Slider_progress", 154, 20, "res/private/new_setting/bg_progress.png", "res/private/new_setting/bg_progress2.png", "res/private/new_setting/icon_xdtzy_17.png")
GUI:setContentSize(Slider_progress, 228, 14)
GUI:setIgnoreContentAdaptWithSize(Slider_progress, false)
GUI:Slider_setPercent(Slider_progress, 50)
GUI:setAnchorPoint(Slider_progress, 0.5, 0.5)
GUI:setTouchEnabled(Slider_progress, true)
-- 配置背景
local Image_2 = GUI:Image_Create(Panel_Layout, "Image_2", 307, 20, "res/private/new_setting/textBg.png")
GUI:Image_setScale9Slice(Image_2, 33, 33, 9, 9)
GUI:setContentSize(Image_2, 59, 28)
GUI:setIgnoreContentAdaptWithSize(Image_2, false)
GUI:setAnchorPoint(Image_2, 0.5, 0.5)
GUI:setTouchEnabled(Image_2, true)
-- 配置
local Text_desc_0 = GUI:Text_Create(Image_2, "Text_desc_0", 28, 14, 18, "#109c18", [[配置]])
GUI:setAnchorPoint(Text_desc_0, 0.5, 0.5)
GUI:setTouchEnabled(Text_desc_0, false)
GUI:Text_enableOutline(Text_desc_0, "#111111", 1)
GUI:setVisible(Image_sel, enable)
GUI:Slider_setPercent(Slider_progress, percent)
local progressBarPath = ""
local progressSlidBallPath = ""
--红条
if data.id == SLDefine.SETTINGID.SETTING_IDX_HP_PROTECT1
or data.id == SLDefine.SETTINGID.SETTING_IDX_HP_PROTECT2
or data.id == SLDefine.SETTINGID.SETTING_IDX_HP_PROTECT3
or data.id == SLDefine.SETTINGID.SETTING_IDX_HP_PROTECT4
or data.id == SLDefine.SETTINGID.SETTING_IDX_HERO_HP_PROTECT1
or data.id == SLDefine.SETTINGID.SETTING_IDX_HERO_HP_PROTECT2
or data.id == SLDefine.SETTINGID.SETTING_IDX_HERO_HP_PROTECT3
or data.id == SLDefine.SETTINGID.SETTING_IDX_HERO_HP_PROTECT4 then
progressBarPath = GUIDefine.PATH_RES_PRIVATE .. "new_setting/bg_progress3.png"
progressSlidBallPath = GUIDefine.PATH_RES_PRIVATE .. "new_setting/hpbar.png"
else --蓝条
progressBarPath = GUIDefine.PATH_RES_PRIVATE .. "new_setting/bg_progress4.png"
progressSlidBallPath = GUIDefine.PATH_RES_PRIVATE .. "new_setting/mpbar.png"
end
GUI:Slider_loadProgressBarTexture(Slider_progress, progressBarPath)
GUI:Slider_loadSlidBallTextureNormal(Slider_progress, progressSlidBallPath)
GUI:Slider_addOnEvent(Slider_progress, function(_, eventType)
if eventType == 0 then
local newValue = GUI:Slider_getPercent(Slider_progress)
local values = SL:GetValue("SETTING_VALUE", data.id)
local percent = values[2] or 50
if math.abs(newValue - percent) >= 1 then
SL:SetValue("SETTING_VALUE", data.id, {nil, newValue })
GUI:Text_setString(Text_desc,string.format(data.content, newValue))
end
end
end)
GUI:addOnClickEvent(CheckBox_able, function()
local values = SL:GetValue("SETTING_VALUE", data.id)
local enable = values[1] == 1
SL:SetValue("SETTING_VALUE", data.id, { enable and 0 or 1 })
--刷新ui
GUI:setVisible(Image_sel, not enable)
end)
GUI:addOnClickEvent(Image_2, function()
UIOperator:OpenProtectSettingUI(data)
end)
return Panel_Layout
end

View file

@ -0,0 +1,717 @@
SettingProtect = {}
SettingProtect._ui = nil
local group1 = {
SLDefine.SETTINGID.SETTING_IDX_HP_PROTECT1, -- 生命值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HP_PROTECT2, -- 生命值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HP_PROTECT3, -- 生命值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HP_PROTECT4, -- 生命值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_MP_PROTECT1, -- 魔法值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_MP_PROTECT2, -- 魔法值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_MP_PROTECT3, -- 魔法值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_MP_PROTECT4, -- 魔法值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_PK_PROTECT, --红名保护
SLDefine.SETTINGID.SETTING_IDX_HP_LOW_USE_SKILL, -- 生命低于多少使用
SLDefine.SETTINGID.SETTING_IDX_REVIVE_PROTECT, -- 复活保护
SLDefine.SETTINGID.SETTING_IDX_REVIVE_PROTECT_HERO, -- 英雄复活保护
13000, -- 自动竹叶青
13001, -- 自动苹果
}
local heroGroup1 = {
SLDefine.SETTINGID.SETTING_IDX_HERO_HP_PROTECT1, -- 生命值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HERO_HP_PROTECT2, -- 生命值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HERO_HP_PROTECT3, -- 生命值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HERO_HP_PROTECT4, -- 生命值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HERO_MP_PROTECT1, -- 魔法值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HERO_MP_PROTECT2, -- 魔法值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HERO_MP_PROTECT3, -- 魔法值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HERO_MP_PROTECT4, -- 魔法值低于多少使用
SLDefine.SETTINGID.SETTING_IDX_HERO_AUTO_LOGINOUT, -- 英雄生命值低于多少自动收回
}
local getConfigFunc = function(group)
local configs = {}
local config
for i, id in ipairs(group) do
config = SL:GetValue("SETTING_CONFIG", id)
if config and (config.platform == 0 or config.platform == SL:GetValue("CURRENT_OPERMODE")) then
if not config.order or not tonumber(config.order) then
config.order = 0
end
table.insert(configs, config)
end
end
table.sort(configs, function(a, b)
return a.order < b.order
end)
return configs
end
function SettingProtect.main()
local parent = GUI:Attach_Parent()
GUI:LoadExport(parent, "set/setting_protect_win32")
SettingProtect._ui = GUI:ui_delegate(parent)
SettingProtect._parent = parent
if not SettingProtect._ui then
return false
end
SettingProtect.InitGroup()
end
function SettingProtect.InitGroup()
local tconfigs = SL:CopyData(group1)
--英雄系统是否开启
if SL:GetValue("USEHERO") then
for i, id in ipairs(heroGroup1) do
table.insert(tconfigs, id)
end
end
local groupConfig = getConfigFunc(tconfigs)
local ScrollView_1 = SettingProtect._ui.ScrollView_1
local contentSize = GUI:getContentSize(ScrollView_1)
local cellW = 287
local cellH = 54
local addH = 0
local y = 0
for i, config in ipairs(groupConfig) do
local x = (i - 1) % 2
y = math.ceil(i / 2)
if x == 0 then
if config.id == SLDefine.SETTINGID.SETTING_IDX_HP_LOW_USE_SKILL then
addH = addH + 10
elseif config.id == SLDefine.SETTINGID.SETTING_IDX_REVIVE_PROTECT
or config.id == SLDefine.SETTINGID.SETTING_IDX_REVIVE_PROTECT_HERO
or config.id == 13000
or config.id == 13001 then
addH = addH - 14
end
end
config.height = y * cellH + addH
config.width = cellW * x
end
local innerContainerSize = GUI:Size(contentSize.width, y * cellH + addH)
if innerContainerSize.height <= contentSize.height then
innerContainerSize.height = contentSize.height
end
GUI:ScrollView_setInnerContainerSize(ScrollView_1, innerContainerSize.width, innerContainerSize.height)
for i, v in ipairs(groupConfig) do
local cell = SettingProtect.CreateCell(ScrollView_1, v)
GUI:setPosition(cell, v.width, innerContainerSize.height - v.height)
end
end
function SettingProtect.CreateCell(parent, config)
local cell
if config.id == SLDefine.SETTINGID.SETTING_IDX_PK_PROTECT then
cell = SettingProtect.CreateListClickCell(parent, config)
elseif config.id == SLDefine.SETTINGID.SETTING_IDX_HP_LOW_USE_SKILL then
cell = SettingProtect.CreateSelectInputClickCell(parent, config)
elseif config.id == SLDefine.SETTINGID.SETTING_IDX_HERO_AUTO_LOGINOUT then
cell = SettingProtect.CreateInput2ClickCell(parent, config)
elseif config.id == SLDefine.SETTINGID.SETTING_IDX_REVIVE_PROTECT
or config.id == SLDefine.SETTINGID.SETTING_IDX_REVIVE_PROTECT_HERO
or config.id == 13000
or config.id == 13001 then
cell = SettingProtect.CreateClickCell(parent, config)
else
cell = SettingProtect.CreateClickProgressSelectCell(parent, config)
end
return cell
end
--点击的开关
function SettingProtect.CreateClickCell(parent, data)
--
local Panel_Click = GUI:Layout_Create(parent, "Panel_Click_" .. data.id, 0, 1, 200, 40, false)
GUI:setTouchEnabled(Panel_Click, true)
-- 描述
local Text_desc = GUI:Text_Create(Panel_Click, "Text_desc", 12, 20, 12, "#ffffff", data.content or "")
GUI:setAnchorPoint(Text_desc, 0, 0.5)
--选择容器
local CheckBox_able = GUI:Layout_Create(Panel_Click, "CheckBox_able", 125, 19, 44, 18, false)
GUI:setAnchorPoint(CheckBox_able, 0, 0.5)
-- 背景
local Image_5 = GUI:Image_Create(CheckBox_able, "Image_5", 22, 9, "res/private/new_setting/clickbg2.png")
GUI:setAnchorPoint(Image_5, 0.5, 0.5)
--关闭状态
local Panel_1 = GUI:Layout_Create(CheckBox_able, "Panel_1", 0, 0, 44, 18, false)
local Image_8 = GUI:Image_Create(Panel_1, "Image_8", 10, 8, "res/private/new_setting/click3.png")
GUI:setAnchorPoint(Image_8, 0.5, 0.5)
--开启状态
local Panel_2 = GUI:Layout_Create(CheckBox_able, "Panel_2", 0, 0, 44, 18, false)
local Image_5 = GUI:Image_Create(Panel_2, "Image_5", 22, 9, "res/private/new_setting/clickbg1.png")
GUI:setAnchorPoint(Image_5, 0.5, 0.5)
local Image_8 = GUI:Image_Create(Panel_2, "Image_8", 33, 8, "res/private/new_setting/click3.png")
GUI:setAnchorPoint(Image_8, 0.5, 0.5)
--触摸提示
if data.tips then
GUI:Text_enableUnderline(Text_desc)
GUI:setTouchEnabled(Text_desc, true)
GUI:addOnClickEvent(Text_desc, function()
local worldPos = GUI:getTouchEndPosition(Text_desc)
SL:SHOW_DESCTIP(data.tips, nil, worldPos, GUI:p(0, 1))
end)
end
--设置是否开启
local isOn = SL:GetValue("SETTING_ENABLED", data.id)
local enable = isOn == 1
local func = function(enable)
--关闭状态ui
GUI:setVisible(Panel_1, not enable)
--开启状态ui
GUI:setVisible(Panel_2, enable)
end
--刷新开关状态
func(enable)
--开关点击
GUI:addOnClickEvent(Panel_Click, function()
local isOn = SL:GetValue("SETTING_ENABLED", data.id)
local enable = isOn == 1
SL:SetValue("SETTING_VALUE", data.id, enable and { 0 } or { 1 })
--刷新开关状态
func(not enable)
end)
return Panel_Click
end
function SettingProtect.CreateListClickCell(parent, data)
-- 容器
local Panel_Layout = GUI:Layout_Create(parent, "Panel_" .. data.id, 0, 2, 200, 40, false)
GUI:setTouchEnabled(Panel_Layout, true)
-- 描述
local Text_desc = GUI:Text_Create(Panel_Layout, "Text_desc", 14, 20, 12, "#ffffff", data.content or "")
GUI:setAnchorPoint(Text_desc, 0, 0.5)
GUI:setTouchEnabled(Text_desc, false)
-- 点击背景
local Image_ClickBg = GUI:Image_Create(Panel_Layout, "Image_ClickBg", 118, 18, "res/private/new_setting/textBg.png")
GUI:Image_setScale9Slice(Image_ClickBg, 33, 33, 9, 9)
GUI:setContentSize(Image_ClickBg, 74, 28)
GUI:setIgnoreContentAdaptWithSize(Image_ClickBg, false)
GUI:setAnchorPoint(Image_ClickBg, 0.5, 0.5)
GUI:setTouchEnabled(Image_ClickBg, true)
-- 列表配置
local Text_desc_2 = GUI:Text_Create(Image_ClickBg, "Text_desc_2", 36, 14, 12, "#109c18", "列表配置")
GUI:setAnchorPoint(Text_desc_2, 0.5, 0.5)
GUI:setTouchEnabled(Text_desc_2, false)
-- 开关容器
local CheckBox_able = GUI:Layout_Create(Panel_Layout, "CheckBox_able", 168, 19, 44, 18, false)
GUI:setAnchorPoint(CheckBox_able, 0, 0.5)
GUI:setTouchEnabled(CheckBox_able, true)
-- 开关背景
local Image_bg = GUI:Image_Create(CheckBox_able, "Image_bg", 22, 9, "res/private/new_setting/clickbg2.png")
GUI:setAnchorPoint(Image_bg, 0.5, 0.5)
GUI:setTouchEnabled(Image_bg, false)
-- 关闭状态
local Panel_1 = GUI:Layout_Create(CheckBox_able, "Panel_1", 0, 0, 44, 18, false)
GUI:setTouchEnabled(Panel_1, false)
local Image_8 = GUI:Image_Create(Panel_1, "Image_8", 10.28, 8.78, "res/private/new_setting/click3.png")
GUI:setAnchorPoint(Image_8, 0.5, 0.5)
GUI:setTouchEnabled(Image_8, false)
-- 开启状态
local Panel_2 = GUI:Layout_Create(CheckBox_able, "Panel_2", 0, 0, 44, 18, false)
GUI:setTouchEnabled(Panel_2, false)
local Image_5 = GUI:Image_Create(Panel_2, "Image_5", 22, 9, "res/private/new_setting/clickbg1.png")
GUI:setAnchorPoint(Image_5, 0.5, 0.5)
GUI:setTouchEnabled(Image_5, false)
local Image_8 = GUI:Image_Create(Panel_2, "Image_8", 33, 9, "res/private/new_setting/click3.png")
GUI:setAnchorPoint(Image_8, 0.5, 0.5)
GUI:setTouchEnabled(Image_8, false)
local values = SL:GetValue("SETTING_VALUE", data.id)
local enable = values[1] == 1
local func = function(enable)
--关闭状态ui
GUI:setVisible(Panel_1, not enable)
--开启状态ui
GUI:setVisible(Panel_2, enable)
end
--刷新开关状态
func(enable)
GUI:addOnClickEvent(CheckBox_able, function()
local values = SL:GetValue("SETTING_VALUE", data.id)
local enable = values[1] == 1
SL:SetValue("SETTING_VALUE", data.id, { enable and 0 or 1 })
--刷新开关状态
func(not enable)
end)
GUI:addOnClickEvent(Image_ClickBg, function()
--打开保护设置
UIOperator:OpenProtectSettingUI(data)
end)
return Panel_Layout
end
function SettingProtect.CreateSelectInputClickCell(parent, data)
-- 容器
local Panel_Layout = GUI:Layout_Create(parent, "Panel_" .. data.id, -0, 0, 323, 64, false)
GUI:setTouchEnabled(Panel_Layout, true)
-- 描述
local Text_desc = GUI:Text_Create(Panel_Layout, "Text_desc", 6, 32, 12, "#ffffff", [[生命值低于]])
GUI:setAnchorPoint(Text_desc, 0, 0.5)
GUI:setTouchEnabled(Text_desc, false)
GUI:Text_enableOutline(Text_desc, "#000000", 1)
local Text_desc_0 = GUI:Text_Create(Panel_Layout, "Text_desc_0", 116, 32, 12, "#ffffff", [[%时使用]])
GUI:setAnchorPoint(Text_desc_0, 0, 0.5)
GUI:setTouchEnabled(Text_desc_0, false)
GUI:Text_enableOutline(Text_desc_0, "#000000", 1)
-- 技能框
local Image_skill = GUI:Image_Create(Panel_Layout, "Image_skill", 201, 31, "res/public/1900000651.png")
GUI:setAnchorPoint(Image_skill, 0.5, 0.5)
GUI:setTouchEnabled(Image_skill, false)
-- 无
local Text_empty = GUI:Text_Create(Panel_Layout, "Text_empty", 201, 34, 16, "#ffffff", [[无]])
GUI:setAnchorPoint(Text_empty, 0.5, 0.5)
GUI:setTouchEnabled(Text_empty, false)
GUI:Text_enableOutline(Text_empty, "#000000", 1)
-- 输入框背景
local Image_2 = GUI:Image_Create(Panel_Layout, "Image_2", 89, 31, "res/private/new_setting/textBg.png")
GUI:Image_setScale9Slice(Image_2, 33, 33, 9, 9)
GUI:setContentSize(Image_2, 30, 28)
GUI:setIgnoreContentAdaptWithSize(Image_2, false)
GUI:setAnchorPoint(Image_2, 0.5, 0.5)
GUI:setTouchEnabled(Image_2, false)
-- 开关容器
local CheckBox_able = GUI:Layout_Create(Panel_Layout, "CheckBox_able", 240, 32, 44, 18, false)
GUI:setAnchorPoint(CheckBox_able, 0, 0.5)
GUI:setTouchEnabled(CheckBox_able, true)
-- 开关背景
local Image_5 = GUI:Image_Create(CheckBox_able, "Image_5", 22, 9, "res/private/new_setting/clickbg2.png")
GUI:setAnchorPoint(Image_5, 0.5, 0.5)
GUI:setTouchEnabled(Image_5, false)
-- 关闭状态
local Panel_1 = GUI:Layout_Create(CheckBox_able, "Panel_1", 0, 0, 44, 18, false)
GUI:setTouchEnabled(Panel_1, false)
local Image_8 = GUI:Image_Create(Panel_1, "Image_8", 10, 8, "res/private/new_setting/click3.png")
GUI:setAnchorPoint(Image_8, 0.5, 0.5)
GUI:setTouchEnabled(Image_8, false)
-- 开启状态
local Panel_2 = GUI:Layout_Create(CheckBox_able, "Panel_2", 0, 0, 44, 18, false)
GUI:setTouchEnabled(Panel_2, false)
local Image_5 = GUI:Image_Create(Panel_2, "Image_5", 22, 9, "res/private/new_setting/clickbg1.png")
GUI:setAnchorPoint(Image_5, 0.5, 0.5)
GUI:setTouchEnabled(Image_5, false)
local Image_8 = GUI:Image_Create(Panel_2, "Image_8", 33, 8, "res/private/new_setting/click3.png")
GUI:setAnchorPoint(Image_8, 0.5, 0.5)
GUI:setTouchEnabled(Image_8, false)
local values = SL:GetValue("SETTING_VALUE", data.id)
local enable = values[1] == 1
local percent = values[2] or 20
local skillID = values[3]
local func = function(enable)
--关闭状态ui
GUI:setVisible(Panel_1, not enable)
--开启状态ui
GUI:setVisible(Panel_2, enable)
end
--刷新开关状态
func(enable)
GUI:addOnClickEvent(CheckBox_able, function()
local values = SL:GetValue("SETTING_VALUE", data.id)
local enable = values[1] == 1
SL:SetValue("SETTING_VALUE", data.id, { enable and 0 or 1 })
--刷新开关状态
func(not enable)
end)
if skillID and skillID ~= -1 then
local contentSize = GUI:getContentSize(Image_skill)
local skillItem = SettingProtect.CreateSkillIcon(Image_skill, skillID)
GUI:setPosition(skillItem, contentSize.width / 2, contentSize.height / 2)
GUI:setTouchEnabled(skillItem, false)
GUI:setScale(skillItem, 0.9)
GUI:setVisible(Text_empty, false)
end
--
GUI:setTouchEnabled(Image_skill, true)
GUI:addOnClickEvent(Image_skill, function()
SettingProtect.ShowSelectSkill(data)
end)
local TextField_input = GUI:TextInput_Create(Image_2, "TextField_input", 0, 0, 30, 26, 14)
GUI:TextInput_setTextHorizontalAlignment(TextField_input, 1)
GUI:TextInput_setMaxLength(TextField_input, 2)
GUI:TextInput_setInputMode(TextField_input, 2)
GUI:TextInput_setString(TextField_input, percent)
GUI:TextInput_addOnEvent(TextField_input, function(_, eventType)
if eventType == 1 then
local input = math.min(math.max(tonumber(GUI:TextInput_getString(TextField_input)) or 1, 1), 99)
SL:SetValue("SETTING_VALUE", data.id, {nil, input })
end
end)
return Panel_Layout
end
function SettingProtect.CreateSkillIcon(parent, skillID)
local icon = GUI:Image_Create(parent, "Image_icon", 30, 30, "Default/ImageFile.png")
GUI:setContentSize(icon, 60, 60)
GUI:setIgnoreContentAdaptWithSize(icon, false)
GUI:setAnchorPoint(icon, 0.50, 0.50)
GUI:setTouchEnabled(icon, false)
local iconPath = SL:GetValue("SKILL_RECT_ICON_PATH", skillID)
if iconPath then
GUI:Image_loadTexture(icon, iconPath)
end
return icon
end
--显示选择技能
function SettingProtect.ShowSelectSkill(data)
local items = {}
if data.id == SLDefine.SETTINGID.SETTING_IDX_HP_LOW_USE_SKILL then
-- 道士 治疗技能
items = SL:GetValue("SKILL_INFO_FILTER", 3, 3, true)
end
items = SL:HashToSortArray(items, function(a, b)
return a.MagicID < b.MagicID
end)
if not next(items) then
SL:ShowSystemTips("未发现可用技能")
return nil
end
-- 背景底框
local Panel_1 = GUI:Layout_Create(SettingProtect._parent, "Panel_SelectSkill", 0, 0, 606, 390, false)
GUI:Layout_setBackGroundColorType(Panel_1, 1)
GUI:Layout_setBackGroundColor(Panel_1, "#000000")
GUI:Layout_setBackGroundColorOpacity(Panel_1, 127)
GUI:setTouchEnabled(Panel_1, true)
-- 底框
local Panel_2 = GUI:Layout_Create(Panel_1, "Panel_2", 303, 195, 360, 280, false)
GUI:setAnchorPoint(Panel_2, 0.5, 0.5)
GUI:setTouchEnabled(Panel_2, true)
-- 背景图
local Image_1 = GUI:Image_Create(Panel_2, "Image_1", 180, 140, "res/public/1900000677.png")
GUI:Image_setScale9Slice(Image_1, 21, 21, 34, 32)
GUI:setContentSize(Image_1, 360, 280)
GUI:setIgnoreContentAdaptWithSize(Image_1, false)
GUI:setAnchorPoint(Image_1, 0.5, 0.5)
GUI:setTouchEnabled(Image_1, false)
-- ListView
local ListView = GUI:ListView_Create(Panel_2, "ListView", 180, 140, 355, 275, 1)
GUI:ListView_setGravity(ListView, 0)
GUI:setAnchorPoint(ListView, 0.5, 0.5)
GUI:setTouchEnabled(ListView, true)
GUI:addOnClickEvent(Panel_1, function()
GUI:removeFromParent(Panel_1)
end)
for i, v in ipairs(items) do
local item = {}
item.skill = v
item.setting = data
item.callback = function()
GUI:removeFromParent(Panel_1)
end
local cell = SettingProtect.CreateSelectSkillCell(ListView, item)
GUI:ListView_doLayout(ListView)
end
end
--创建 技能描述item
function SettingProtect.CreateSelectSkillCell(parent, data)
-- 容器
local Panel_item = GUI:Layout_Create(parent, "Panel_" .. data.skill.MagicID, 0, 0, 355, 80, false)
GUI:setTouchEnabled(Panel_item, true)
-- 技能框
local Image_skill = GUI:Image_Create(Panel_item, "Image_skill", 40, 40, "res/public/1900000651.png")
GUI:setAnchorPoint(Image_skill, 0.5, 0.5)
GUI:setTouchEnabled(Image_skill, false)
-- 描述
local Node_desc = GUI:Node_Create(Panel_item, "Node_desc", 80, 40)
GUI:setAnchorPoint(Node_desc, 0.5, 0.5)
-- 线条
local Image_2 = GUI:Image_Create(Panel_item, "Image_2", 177.5, 0, "res/public/1900000667.png")
GUI:setContentSize(Image_2, 355, 2)
GUI:setIgnoreContentAdaptWithSize(Image_2, false)
GUI:setAnchorPoint(Image_2, 0.5, 0)
GUI:setTouchEnabled(Image_2, false)
if data.skill.MagicID == -1 then
local size = GUI:getContentSize(Panel_item)
local RichText_empty = GUI:RichText_Create(Panel_item, "RichText_empty", size.width / 2, size.height / 2, "")
GUI:setAnchorPoint(RichText_empty, 0.5, 0.5)
GUI:setVisible(Image_skill, false)
else
local contentSize = GUI:getContentSize(Image_skill)
local skillItem = SettingProtect.CreateSkillIcon(Image_skill, data.skill.MagicID)
GUI:setPosition(skillItem, contentSize.width / 2, contentSize.height / 2)
GUI:setTouchEnabled(skillItem, false)
GUI:setScale(skillItem, 0.9)
GUI:removeAllChildren(Node_desc)
local RichText_desc = GUI:RichTextFCOLOR_Create(Node_desc, "RichText_desc", 0, 0, data.skill.desc, 2013)
GUI:setAnchorPoint(RichText_desc, 0, 0.5)
end
GUI:addOnClickEvent(Panel_item, function()
local tgroupID
if data.setting.id == SLDefine.SETTINGID.SETTING_IDX_HP_LOW_USE_SKILL then
tgroupID = data.skill.skillgroup
SL:SetValue("SETTING_VALUE", data.setting.id, {nil, nil, tgroupID })
end
local panel = SettingProtect._ui["Panel_" .. data.setting.id]
local Image_skill = GUI:getChildByName(panel, "Image_skill")
GUI:removeAllChildren(Image_skill)
local Text_empty = GUI:getChildByName(panel, "Text_empty")
if tgroupID then
local contentSize = GUI:getContentSize(Image_skill)
local skillItem = SettingProtect.CreateSkillIcon(Image_skill, tgroupID)
GUI:setPosition(skillItem, contentSize.width / 2, contentSize.height / 2)
GUI:setTouchEnabled(skillItem, false)
GUI:setScale(skillItem, 0.9)
GUI:setVisible(Text_empty, false)
else
GUI:setVisible(Text_empty, true)
end
data.callback()
end)
return Panel_item
end
function SettingProtect.CreateInput2ClickCell(parent, data)
-- 容器
local Panel_Layout = GUI:Layout_Create(parent, "Panel_" .. data.id, 0, 2, 346, 54, false)
GUI:setTouchEnabled(Panel_Layout, true)
-- 描述
local Text_desc = GUI:Text_Create(Panel_Layout, "Text_desc", 14, 27, 12, "#ffffff", "英雄生命低于")
GUI:setAnchorPoint(Text_desc, 0, 0.5)
GUI:setTouchEnabled(Text_desc, false)
GUI:Text_enableOutline(Text_desc, "#000000", 1)
local Text_desc_0 = GUI:Text_Create(Panel_Layout, "Text_desc_0", 122, 27, 12, "#ffffff", "%时自动收回")
GUI:setAnchorPoint(Text_desc_0, 0, 0.5)
GUI:setTouchEnabled(Text_desc_0, false)
GUI:setTag(Text_desc_0, 332)
GUI:Text_enableOutline(Text_desc_0, "#000000", 1)
-- 输入框背景
local Image_2 = GUI:Image_Create(Panel_Layout, "Image_2", 105, 26, "res/private/new_setting/textBg.png")
GUI:Image_setScale9Slice(Image_2, 9, 9, 9, 9)
GUI:setContentSize(Image_2, 28, 28)
GUI:setIgnoreContentAdaptWithSize(Image_2, false)
GUI:setAnchorPoint(Image_2, 0.5, 0.5)
GUI:setTouchEnabled(Image_2, false)
-- 开关容器
local CheckBox_able = GUI:Layout_Create(Panel_Layout, "CheckBox_able", 200, 26, 44, 18, false)
GUI:setAnchorPoint(CheckBox_able, 0, 0.5)
GUI:setTouchEnabled(CheckBox_able, true)
GUI:setTag(CheckBox_able, 42)
-- 开关背景
local Image_5 = GUI:Image_Create(CheckBox_able, "Image_5", 22, 9, "res/private/new_setting/clickbg2.png")
GUI:setAnchorPoint(Image_5, 0.5, 0.5)
GUI:setTouchEnabled(Image_5, false)
-- 关闭状态
local Panel_1 = GUI:Layout_Create(CheckBox_able, "Panel_1", 0, 0, 44, 18, false)
GUI:setTouchEnabled(Panel_1, false)
local Image_8 = GUI:Image_Create(Panel_1, "Image_8", 10.28, 8.78, "res/private/new_setting/click3.png")
GUI:setAnchorPoint(Image_8, 0.5, 0.5)
GUI:setTouchEnabled(Image_8, false)
-- 开启状态
local Panel_2 = GUI:Layout_Create(CheckBox_able, "Panel_2", 0, 0, 44, 18, false)
GUI:setTouchEnabled(Panel_2, false)
local Image_5 = GUI:Image_Create(Panel_2, "Image_5", 22, 9, "res/private/new_setting/clickbg1.png")
GUI:setAnchorPoint(Image_5, 0.5, 0.5)
GUI:setTouchEnabled(Image_5, false)
local Image_8 = GUI:Image_Create(Panel_2, "Image_8", 33.28, 8.78, "res/private/new_setting/click3.png")
GUI:setAnchorPoint(Image_8, 0.5, 0.5)
GUI:setTouchEnabled(Image_8, false)
local values = SL:GetValue("SETTING_VALUE", data.id)
local enable = values[1] == 1
local count = values[2] or 0
--输入框
local TextField_input = GUI:TextInput_Create(Image_2, "TextField_input", 12, 15, 24, 24, 14)
GUI:setAnchorPoint(TextField_input, 0.5, 0.5)
GUI:TextInput_setTextHorizontalAlignment(TextField_input, 1)
GUI:TextInput_setMaxLength(TextField_input, 3)
GUI:TextInput_setInputMode(TextField_input, 2)
GUI:TextInput_setString(TextField_input, count)
GUI:TextInput_addOnEvent(TextField_input, function(_, eventType)
if eventType == 1 then
local count = GUI:TextInput_getString(TextField_input)
if count ~= "" then
count = tonumber(count) or 0
count = math.max(math.min(100, count), 0)
GUI:TextInput_setString(TextField_input, count)
SL:SetValue("SETTING_VALUE", data.id, {nil, count })
end
end
end)
local func = function(enable)
--关闭状态ui
GUI:setVisible(Panel_1, not enable)
--开启状态ui
GUI:setVisible(Panel_2, enable)
end
--刷新开关状态
func(enable)
GUI:addOnClickEvent(CheckBox_able, function()
local values = SL:GetValue("SETTING_VALUE", data.id)
local enable = values[1] == 1
SL:SetValue("SETTING_VALUE", data.id, { enable and 0 or 1 })
--刷新开关状态
func(not enable)
end)
return Panel_Layout
end
function SettingProtect.CreateClickProgressSelectCell(parent, data)
local values = SL:GetValue("SETTING_VALUE", data.id)
local enable = values[1] == 1
local percent = values[2] or 50
local t = values[3]
-- 容器
local Panel_Layout = GUI:Layout_Create(parent, "Panel_" .. data.id, 0, 0, 343, 54, false)
GUI:setTouchEnabled(Panel_Layout, false)
Panel_Layout.config = data
-- 开关容器
local CheckBox_able = GUI:Layout_Create(Panel_Layout, "CheckBox_able", 8, 20, 19, 18, false)
GUI:setAnchorPoint(CheckBox_able, 0, 0.5)
GUI:setTouchEnabled(CheckBox_able, true)
-- 开关背景
local Image_5 = GUI:Image_Create(CheckBox_able, "Image_5", 0, 9, "res/private/new_setting/clickbg2.png")
GUI:Image_setScale9Slice(Image_5, 9, 9, 5, 5)
GUI:setContentSize(Image_5, 18, 18)
GUI:setIgnoreContentAdaptWithSize(Image_5, false)
GUI:setAnchorPoint(Image_5, 0, 0.5)
GUI:setTouchEnabled(Image_5, false)
-- 开关
local Image_sel = GUI:Image_Create(CheckBox_able, "Image_sel", 10, 8, "res/private/new_setting/click3.png")
GUI:setAnchorPoint(Image_sel, 0.5, 0.5)
GUI:setTouchEnabled(Image_sel, false)
-- 描述
local Text_desc = GUI:Text_Create(Panel_Layout, "Text_desc", 102, 41, 12, "#ffffff", string.format(data.content, percent) or "")
GUI:setAnchorPoint(Text_desc, 0.5, 0.5)
GUI:setTouchEnabled(Text_desc, false)
GUI:Text_enableOutline(Text_desc, "#000000", 1)
-- 滑动条
local Slider_progress = GUI:Slider_Create(Panel_Layout, "Slider_progress", 124, 20, "res/private/new_setting/bg_progress.png", "res/private/new_setting/bg_progress2.png", "res/private/new_setting/icon_xdtzy_17.png")
GUI:setContentSize(Slider_progress, 178, 14)
GUI:setIgnoreContentAdaptWithSize(Slider_progress, false)
GUI:Slider_setPercent(Slider_progress, 50)
GUI:setAnchorPoint(Slider_progress, 0.5, 0.5)
GUI:setTouchEnabled(Slider_progress, true)
-- 配置背景
local Image_2 = GUI:Image_Create(Panel_Layout, "Image_2", 257, 20, "res/private/new_setting/textBg.png")
GUI:Image_setScale9Slice(Image_2, 33, 33, 9, 9)
GUI:setContentSize(Image_2, 49, 28)
GUI:setIgnoreContentAdaptWithSize(Image_2, false)
GUI:setAnchorPoint(Image_2, 0.5, 0.5)
GUI:setTouchEnabled(Image_2, true)
-- 配置
local Text_desc_0 = GUI:Text_Create(Image_2, "Text_desc_0", 24, 16, 12, "#109c18", [[配置]])
GUI:setAnchorPoint(Text_desc_0, 0.5, 0.5)
GUI:setTouchEnabled(Text_desc_0, false)
GUI:Text_enableOutline(Text_desc_0, "#111111", 1)
GUI:setVisible(Image_sel, enable)
GUI:Slider_setPercent(Slider_progress, percent)
local progressBarPath = ""
local progressSlidBallPath = ""
--红条
if data.id == SLDefine.SETTINGID.SETTING_IDX_HP_PROTECT1
or data.id == SLDefine.SETTINGID.SETTING_IDX_HP_PROTECT2
or data.id == SLDefine.SETTINGID.SETTING_IDX_HP_PROTECT3
or data.id == SLDefine.SETTINGID.SETTING_IDX_HP_PROTECT4
or data.id == SLDefine.SETTINGID.SETTING_IDX_HERO_HP_PROTECT1
or data.id == SLDefine.SETTINGID.SETTING_IDX_HERO_HP_PROTECT2
or data.id == SLDefine.SETTINGID.SETTING_IDX_HERO_HP_PROTECT3
or data.id == SLDefine.SETTINGID.SETTING_IDX_HERO_HP_PROTECT4 then
progressBarPath = GUIDefine.PATH_RES_PRIVATE .. "new_setting/bg_progress3.png"
progressSlidBallPath = GUIDefine.PATH_RES_PRIVATE .. "new_setting/hpbar.png"
else --蓝条
progressBarPath = GUIDefine.PATH_RES_PRIVATE .. "new_setting/bg_progress4.png"
progressSlidBallPath = GUIDefine.PATH_RES_PRIVATE .. "new_setting/mpbar.png"
end
GUI:Slider_loadProgressBarTexture(Slider_progress, progressBarPath)
GUI:Slider_loadSlidBallTextureNormal(Slider_progress, progressSlidBallPath)
GUI:Slider_addOnEvent(Slider_progress, function(_, eventType)
if eventType == 0 then
local newValue = GUI:Slider_getPercent(Slider_progress)
local values = SL:GetValue("SETTING_VALUE", data.id)
local percent = values[2] or 50
if math.abs(newValue - percent) >= 1 then
SL:SetValue("SETTING_VALUE", data.id, {nil, newValue })
GUI:Text_setString(Text_desc,string.format(data.content, newValue))
end
end
end)
GUI:addOnClickEvent(CheckBox_able, function()
local values = SL:GetValue("SETTING_VALUE", data.id)
local enable = values[1] == 1
SL:SetValue("SETTING_VALUE", data.id, { enable and 0 or 1 })
--刷新ui
GUI:setVisible(Image_sel, not enable)
end)
GUI:addOnClickEvent(Image_2, function()
UIOperator:OpenProtectSettingUI(data)
end)
return Panel_Layout
end

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,73 +1,73 @@
local config = {
[1] = {
equipid="71#72#73#74",
suitid=1001,
name="22/250|长鸣灯",
distinct=1,
level=1,
num=1,
id=1,
name="22/250|长鸣灯",
suitid=1001,
level=1,
suittype=1,
equopshow="22/250|长鸣灯",
suittype=1
distinct=1,
equipid="71#72#73#74"
},
[2] = {
equipid="71#72#73#74",
suitid=1002,
name="22/250|翻天印",
distinct=1,
level=1,
num=1,
id=2,
name="22/250|翻天印",
suitid=1002,
level=1,
suittype=1,
equopshow="22/250|翻天印",
suittype=1
distinct=1,
equipid="71#72#73#74"
},
[3] = {
equipid="30#31#32#33#34#35#36#37#38#39#40#41",
suitid=2001,
name="7/250|生肖套装",
distinct=1,
level=1,
num=12,
desc="3#250/251|开天斩CD-1s<br>烈火剑法CD-1s<br>逐日剑法CD-1s",
id=3,
name="7/250|生肖套装",
suitid=2001,
level=1,
suittype=2,
equopshow="22/250|鼠#牛#虎#兔#龙#蛇#马#羊#猴#鸡#狗#猪",
suittype=2
desc="3#250/251|开天斩CD-1s<br>烈火剑法CD-1s<br>逐日剑法CD-1s",
distinct=1,
equipid="30#31#32#33#34#35#36#37#38#39#40#41"
},
[4] = {
equipid="30#31#32#33#34#35#36#37#38#39#40#41",
suitid=2002,
name="7/250|黄金生肖套装",
distinct=1,
level=1,
num=12,
desc="3#250/251|开天斩CD-2s<br>烈火剑法CD-2s<br>逐日剑法CD-2s",
id=4,
name="7/250|黄金生肖套装",
suitid=2002,
level=1,
suittype=2,
equopshow="22/250|黄金鼠#黄金牛#黄金虎#黄金兔#黄金龙#黄金蛇#黄金马#黄金羊#黄金猴#黄金鸡#黄金狗#黄金猪",
suittype=2
desc="3#250/251|开天斩CD-2s<br>烈火剑法CD-2s<br>逐日剑法CD-2s",
distinct=1,
equipid="30#31#32#33#34#35#36#37#38#39#40#41"
},
[5] = {
equipid="30#31#32#33#34#35#36#37#38#39#40#41",
suitid=2003,
name="7/250|钻石生肖套装",
distinct=1,
level=1,
num=12,
desc="3#250/251|开天斩CD-3s<br>烈火剑法CD-3s<br>逐日剑法CD-3s",
id=5,
name="7/250|钻石生肖套装",
suitid=2003,
level=1,
suittype=2,
equopshow="22/250|钻石鼠#钻石牛#钻石虎#钻石兔#钻石龙#钻石蛇#钻石马#钻石羊#钻石猴#钻石鸡#钻石狗#钻石猪",
suittype=2
desc="3#250/251|开天斩CD-3s<br>烈火剑法CD-3s<br>逐日剑法CD-3s",
distinct=1,
equipid="30#31#32#33#34#35#36#37#38#39#40#41"
},
[6] = {
equipid="30#31#32#33#34#35#36#37#38#39#40#41",
suitid=2004,
name="7/250|至尊生肖套装",
distinct=1,
level=1,
num=12,
desc="3#250/251|开天斩CD-4s<br>烈火剑法CD-4s<br>逐日剑法CD-4s",
id=6,
name="7/250|至尊生肖套装",
suitid=2004,
level=1,
suittype=2,
equopshow="22/250|至尊鼠#至尊牛#至尊虎#至尊兔#至尊龙#至尊蛇#至尊马#至尊羊#至尊猴#至尊鸡#至尊狗#至尊猪",
suittype=2
desc="3#250/251|开天斩CD-4s<br>烈火剑法CD-4s<br>逐日剑法CD-4s",
distinct=1,
equipid="30#31#32#33#34#35#36#37#38#39#40#41"
},
}
return config

View file

@ -1 +1 @@
{"gm":0,"signkey":"634eff98723b31da43ed35f0dd4edf36","oper_mode":1,"modlist":"http://list.dhsf.xqhuyu.com/testmodlist/modlist_tool_16934.txt","resolution":"1024x768","channel":1}
{"gm":0,"signkey":"634eff98723b31da43ed35f0dd4edf36","oper_mode":1,"modlist":"http:\/\/list.dhsf.xqhuyu.com\/testmodlist\/modlist_tool_16934.txt","resolution":"1024x768","channel":1}