2025-05-24 14:29:14 +08:00
|
|
|
|
-- 牌友圈玩法设置
|
|
|
|
|
|
local GroupNumberInputView = import(".GroupNumberInputView")
|
|
|
|
|
|
local GroupRoomColorView = import(".GroupRoomColorView")
|
|
|
|
|
|
local GameListView = require "Game/View/Lobby/GameListView"
|
|
|
|
|
|
local GroupGameSettingView = {}
|
|
|
|
|
|
|
|
|
|
|
|
local M = GroupGameSettingView
|
|
|
|
|
|
|
2025-06-19 23:14:44 +08:00
|
|
|
|
function GroupGameSettingView.new(blur_view, gid, pid, room_config, hpdata, callback)
|
|
|
|
|
|
setmetatable(M, { __index = BaseWindow })
|
|
|
|
|
|
local self = setmetatable({}, { __index = M })
|
2025-05-24 14:29:14 +08:00
|
|
|
|
self.class = "GroupGameSettingView"
|
|
|
|
|
|
self._animation = false
|
|
|
|
|
|
self._full = true
|
|
|
|
|
|
self._full_offset = false
|
|
|
|
|
|
self.selectedIndex = index
|
|
|
|
|
|
self._close_destroy = true
|
|
|
|
|
|
self._put_map = false
|
|
|
|
|
|
self._new_hide = false
|
|
|
|
|
|
self._queue = false
|
|
|
|
|
|
self.group_id = gid
|
|
|
|
|
|
self.play = DataManager.groups:get(gid):getPlay(pid)
|
|
|
|
|
|
self.table_color = self.play and self.play.deskId or 0
|
|
|
|
|
|
if room_config then
|
|
|
|
|
|
self.room_config = json.decode(room_config)
|
|
|
|
|
|
end
|
2025-06-19 23:14:44 +08:00
|
|
|
|
self.lastHpdata = hpdata
|
2025-05-24 14:29:14 +08:00
|
|
|
|
self.rewards_data = {}
|
|
|
|
|
|
self.callback = callback
|
|
|
|
|
|
self._full = true
|
|
|
|
|
|
self:init("ui://NewGroup/View_GroupGameSetting")
|
|
|
|
|
|
return self
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function M:init(url)
|
2025-06-19 23:14:44 +08:00
|
|
|
|
BaseWindow.init(self, url)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
self.hpData = {}
|
|
|
|
|
|
|
|
|
|
|
|
self:FillGameData()
|
|
|
|
|
|
|
|
|
|
|
|
self._view:GetChild("btn_next").onClick:Set(function()
|
|
|
|
|
|
if self._view:GetChild("tex_name").text == "" then
|
|
|
|
|
|
ViewUtil.ErrorTip(nil, "输入玩法名才能进入下一步")
|
|
|
|
|
|
return
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
local game_data = self.gl_view:GetModeData().data.game_data
|
|
|
|
|
|
if not game_data then
|
|
|
|
|
|
ViewUtil.ErrorTip(nil, "请先下载游戏")
|
|
|
|
|
|
return
|
|
|
|
|
|
end
|
|
|
|
|
|
self.rewards_data = {}
|
|
|
|
|
|
self:FillFagData()
|
|
|
|
|
|
self._view:GetController("page").selectedIndex = 1
|
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
|
|
self._view:GetChild("btn_color").onClick:Set(function()
|
|
|
|
|
|
local grcv = GroupRoomColorView.new(self._root_view, self.table_color, function(index)
|
|
|
|
|
|
self.table_color = index
|
|
|
|
|
|
end)
|
|
|
|
|
|
grcv:Show()
|
|
|
|
|
|
end)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
-- 显示游戏列表
|
|
|
|
|
|
function M:FillGameData()
|
|
|
|
|
|
local index = 1
|
|
|
|
|
|
-- 显示所有游戏
|
2025-06-19 23:14:44 +08:00
|
|
|
|
local games = DataManager.SelfUser.games
|
2025-05-24 14:29:14 +08:00
|
|
|
|
local lst_game = self._view:GetChild("lst_game")
|
|
|
|
|
|
-- local n65 = lst_game:GetChild("n65")
|
|
|
|
|
|
printlog("jefe all games")
|
|
|
|
|
|
pt(games)
|
|
|
|
|
|
-- n65.visible = false
|
|
|
|
|
|
for i = 1, #games do
|
|
|
|
|
|
local game = games[i]
|
|
|
|
|
|
if (self.room_config and self.room_config.game_id == game.game_id) or i == 1 then
|
|
|
|
|
|
index = i
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
2025-06-19 23:14:44 +08:00
|
|
|
|
self.gl_view = GameListView.new(lst_game, index, self.room_config)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
local btn_close = lst_game:GetChild("btn_close")
|
|
|
|
|
|
btn_close.onClick:Set(function()
|
|
|
|
|
|
self:Destroy()
|
|
|
|
|
|
end)
|
|
|
|
|
|
-- 玩法名
|
|
|
|
|
|
if self.play then
|
|
|
|
|
|
local tex_name = self._view:GetChild("tex_name")
|
|
|
|
|
|
tex_name.text = self.play.name
|
|
|
|
|
|
end
|
2025-06-19 23:14:44 +08:00
|
|
|
|
end
|
2025-05-24 14:29:14 +08:00
|
|
|
|
|
2025-06-19 23:14:44 +08:00
|
|
|
|
local tuoguanTimeList = { 10, 30, 60, 120, 180, 240, 300 }
|
2025-05-24 14:29:14 +08:00
|
|
|
|
-- 显示玩法体力值配置
|
2025-06-19 23:14:44 +08:00
|
|
|
|
function M:FillFagData()
|
2025-05-24 14:29:14 +08:00
|
|
|
|
local mod = self.gl_view:GetModeData()
|
|
|
|
|
|
local game_id = mod.data.game_data.game_id
|
|
|
|
|
|
|
|
|
|
|
|
local panel_play_set = self._view:GetChild("panel_play_set")
|
|
|
|
|
|
local ctr_show_nonnegative = panel_play_set:GetController("show_nonnegative") --玩法不可负分开关
|
2025-06-19 23:14:44 +08:00
|
|
|
|
local btn_nonnegative = panel_play_set:GetChild("btn_nonnegative") --不可负分开关
|
|
|
|
|
|
local btn_no_upper = panel_play_set:GetChild("btn_no_upper") --没有上限
|
|
|
|
|
|
local btn_tuoguan = panel_play_set:GetChild("btn_tuoguan") --托管开关
|
2025-05-24 14:29:14 +08:00
|
|
|
|
btn_tuoguan.selected = true
|
2025-06-19 23:14:44 +08:00
|
|
|
|
|
2025-05-24 14:29:14 +08:00
|
|
|
|
local btn_BanDismiss = panel_play_set:GetChild("btn_BanDismiss")
|
|
|
|
|
|
local cb_tuoguan_time = panel_play_set:GetChild("comb_offline") --托管时间
|
2025-06-19 23:14:44 +08:00
|
|
|
|
local cb_tuoguan_type = panel_play_set:GetChild("comb_result") --托管结算类型
|
|
|
|
|
|
local btn_hidden = panel_play_set:GetChild("btn_hidden") --防作弊开关
|
|
|
|
|
|
local btn_vip = panel_play_set:GetChild("btn_vip") --vip房间开关
|
2025-05-24 14:29:14 +08:00
|
|
|
|
--根据hpType显示
|
|
|
|
|
|
local game_data = mod.data.game_data
|
|
|
|
|
|
panel_play_set:GetController("game_type").selectedIndex = game_data and game_data.hpType or 0
|
|
|
|
|
|
--体力值开关
|
|
|
|
|
|
local ctr_switch = panel_play_set:GetController("hp_switch")
|
|
|
|
|
|
local group = DataManager.groups:get(self.group_id)
|
|
|
|
|
|
if group.type == 2 then
|
|
|
|
|
|
ctr_switch.selectedIndex = 1
|
|
|
|
|
|
panel_play_set:GetController("type").selectedIndex = 1
|
2025-06-19 23:14:44 +08:00
|
|
|
|
end
|
2025-05-24 14:29:14 +08:00
|
|
|
|
local hpData
|
|
|
|
|
|
|
|
|
|
|
|
if self.play then
|
|
|
|
|
|
-- 如果有玩法信息,加载玩法的hpdata
|
|
|
|
|
|
if self.play.hpOnOff == 1 then
|
|
|
|
|
|
hpData = json.decode(self.play.hpData)
|
|
|
|
|
|
end
|
|
|
|
|
|
local config = json.decode(self.play.config)
|
|
|
|
|
|
ctr_switch.selectedIndex = self.play.hpOnOff
|
2025-06-19 23:14:44 +08:00
|
|
|
|
|
|
|
|
|
|
btn_BanDismiss.selected = (config.isBanDismiss and config.isBanDismiss ~= 0) and true or false
|
2025-05-24 14:29:14 +08:00
|
|
|
|
btn_tuoguan.selected = (config.tuoguan and config.tuoguan ~= 0) and true or false
|
|
|
|
|
|
if btn_tuoguan.selected then
|
|
|
|
|
|
cb_tuoguan_time.value = config.tuoguan_active_timeIndex or 1
|
|
|
|
|
|
cb_tuoguan_type.value = config.tuoguan_result_type
|
|
|
|
|
|
end
|
2025-06-19 23:14:44 +08:00
|
|
|
|
|
|
|
|
|
|
if btn_hidden then
|
|
|
|
|
|
btn_hidden.selected = (config.isHidden and config.isHidden ~= 0) and true or false
|
|
|
|
|
|
end
|
|
|
|
|
|
if btn_vip then
|
|
|
|
|
|
btn_vip.selected = (config.isvip and config.isvip ~= 0) and true or false
|
|
|
|
|
|
end
|
|
|
|
|
|
|
2025-05-24 14:29:14 +08:00
|
|
|
|
btn_nonnegative.selected = config.isNonnegative and config.isNonnegative == 1
|
|
|
|
|
|
btn_no_upper.selected = config.hp_no_limit and config.hp_no_limit == 1
|
|
|
|
|
|
end
|
|
|
|
|
|
local game = DataManager.SelfUser:getGameData(game_id)
|
|
|
|
|
|
ctr_show_nonnegative.selectedIndex = game.isNonnegative
|
|
|
|
|
|
if game.isNonnegative == 0 then
|
|
|
|
|
|
btn_nonnegative.selected = false
|
|
|
|
|
|
btn_no_upper.selected = false
|
|
|
|
|
|
else
|
2025-06-19 23:14:44 +08:00
|
|
|
|
btn_nonnegative.selected = true
|
2025-05-24 14:29:14 +08:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local panel_fag = panel_play_set:GetChild("panel_fag")
|
|
|
|
|
|
-- 加入限制
|
|
|
|
|
|
local btn_join_limit = panel_play_set:GetChild("btn_join_limit")
|
|
|
|
|
|
local tex_join_limit = panel_play_set:GetChild("tex_join_limit")
|
|
|
|
|
|
tex_join_limit.text = hpData and d2ad(hpData.limitInRoom) or 0
|
|
|
|
|
|
btn_join_limit.onClick:Set(function()
|
2025-06-19 23:14:44 +08:00
|
|
|
|
self:__input_num(tex_join_limit, "limitInRoom")
|
2025-05-24 14:29:14 +08:00
|
|
|
|
end)
|
|
|
|
|
|
--机器人
|
|
|
|
|
|
local btn_robot_room = panel_fag:GetChild("robot_room")
|
|
|
|
|
|
local tex_robot_room = panel_fag:GetChild("tex_robot_room")
|
|
|
|
|
|
tex_robot_room.text = hpData and (hpData.robot_room and (hpData.robot_room) or 0) or 0
|
|
|
|
|
|
btn_robot_room.onClick:Set(function()
|
2025-06-19 23:14:44 +08:00
|
|
|
|
self:__input_num(tex_robot_room, "robot_room")
|
2025-05-24 14:29:14 +08:00
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
|
|
--抢庄限制
|
2025-06-19 23:14:44 +08:00
|
|
|
|
-- local btn_bank_limit = panel_play_set:GetChild("btn_bank_limit")
|
2025-05-24 14:29:14 +08:00
|
|
|
|
--local tex_bank_limit = panel_play_set:GetChild("tex_bank_limit")
|
2025-06-19 23:14:44 +08:00
|
|
|
|
-- tex_bank_limit.text = hpData and hpData.limitloot and d2ad(hpData.limitloot) or 0
|
|
|
|
|
|
-- btn_bank_limit.onClick:Set(function()
|
|
|
|
|
|
-- self:__input_num(tex_bank_limit,"limitloot")
|
|
|
|
|
|
-- end)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
|
|
|
|
|
|
-- 退出限制
|
|
|
|
|
|
local btn_exit_limit = panel_play_set:GetChild("btn_exit_limit")
|
|
|
|
|
|
local tex_exit_limit = panel_play_set:GetChild("tex_exit_limit")
|
|
|
|
|
|
tex_exit_limit.text = hpData and hpData.limitPlay and d2ad(hpData.limitPlay) or 1
|
|
|
|
|
|
btn_exit_limit.onClick:Set(function()
|
|
|
|
|
|
-- self:__input_num(tex_exit_limit, "limitPlay")
|
2025-06-19 23:14:44 +08:00
|
|
|
|
local gfiv = GroupNumberInputView.new(self._root_view, function(num)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
if num == 0 then
|
2025-06-19 23:14:44 +08:00
|
|
|
|
ViewUtil.ErrorMsg(nil, -9, "不能输入0")
|
|
|
|
|
|
return
|
2025-05-24 14:29:14 +08:00
|
|
|
|
end
|
|
|
|
|
|
tex_exit_limit.text = num
|
|
|
|
|
|
end)
|
|
|
|
|
|
gfiv:Show()
|
|
|
|
|
|
end)
|
|
|
|
|
|
--体力值倍数
|
|
|
|
|
|
local tex_times = panel_play_set:GetChild("tex_times")
|
|
|
|
|
|
if game_id ~= 41 then
|
|
|
|
|
|
tex_times.text = hpData and d2ad(hpData.times) or 1
|
|
|
|
|
|
local btn_times_input = panel_play_set:GetChild("btn_times_input")
|
|
|
|
|
|
btn_times_input.onClick:Set(function()
|
|
|
|
|
|
self:__input_num(tex_times, "times", 3)
|
|
|
|
|
|
end)
|
|
|
|
|
|
else
|
|
|
|
|
|
tex_times.text = 1
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
local btn_sub = panel_play_set:GetChild("btn_sub")
|
|
|
|
|
|
btn_sub.onClick:Set(function()
|
2025-06-19 23:14:44 +08:00
|
|
|
|
local value = tonumber(tex_times.text)
|
|
|
|
|
|
if value > 1 then
|
2025-05-24 14:29:14 +08:00
|
|
|
|
value = value - 1
|
|
|
|
|
|
tex_times.text = tostring(value)
|
2025-06-19 23:14:44 +08:00
|
|
|
|
end
|
2025-05-24 14:29:14 +08:00
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
|
|
local btn_add = panel_play_set:GetChild("btn_add")
|
|
|
|
|
|
btn_add.onClick:Set(function()
|
|
|
|
|
|
local value = tonumber(tex_times.text)
|
2025-06-19 23:14:44 +08:00
|
|
|
|
value = value + 1
|
2025-05-24 14:29:14 +08:00
|
|
|
|
tex_times.text = tostring(value)
|
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-06-19 23:14:44 +08:00
|
|
|
|
--显示创建空房间
|
|
|
|
|
|
local tex_times_room = panel_play_set:GetChild("tex_times_room")
|
|
|
|
|
|
|
|
|
|
|
|
if hpData and hpData.tex_times_room then
|
2025-06-19 23:51:18 +08:00
|
|
|
|
tex_times_room.text = hpData.tex_times_room / 100
|
2025-06-19 23:14:44 +08:00
|
|
|
|
else
|
|
|
|
|
|
tex_times_room.text = 1
|
|
|
|
|
|
end
|
|
|
|
|
|
|
2025-05-24 14:29:14 +08:00
|
|
|
|
|
|
|
|
|
|
local btn_sub_room = panel_play_set:GetChild("btn_sub_room")
|
|
|
|
|
|
btn_sub_room.onClick:Set(function()
|
2025-06-19 23:14:44 +08:00
|
|
|
|
local value = tonumber(tex_times_room.text)
|
|
|
|
|
|
if value > 1 then
|
2025-05-24 14:29:14 +08:00
|
|
|
|
value = value - 1
|
|
|
|
|
|
tex_times_room.text = tostring(value)
|
2025-06-19 23:14:44 +08:00
|
|
|
|
end
|
2025-05-24 14:29:14 +08:00
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
|
|
local btn_add_room = panel_play_set:GetChild("btn_add_room")
|
|
|
|
|
|
btn_add_room.onClick:Set(function()
|
|
|
|
|
|
local value = tonumber(tex_times_room.text)
|
2025-06-19 23:14:44 +08:00
|
|
|
|
value = value + 1
|
2025-05-24 14:29:14 +08:00
|
|
|
|
tex_times_room.text = tostring(value)
|
|
|
|
|
|
end)
|
|
|
|
|
|
|
2025-06-19 23:14:44 +08:00
|
|
|
|
|
2025-05-24 14:29:14 +08:00
|
|
|
|
-- 显示抽水列表
|
2025-06-19 23:14:44 +08:00
|
|
|
|
if hpData and hpData.rewards_list then
|
2025-05-24 14:29:14 +08:00
|
|
|
|
self.rewards_data = hpData.rewards_list
|
2025-06-19 23:14:44 +08:00
|
|
|
|
else
|
2025-05-24 14:29:14 +08:00
|
|
|
|
local tem = {}
|
|
|
|
|
|
-- tem.limitPump = hpData and hpData.limitPump or 0
|
|
|
|
|
|
-- tem.type = hpData and hpData.type or 1
|
|
|
|
|
|
tem.pumpProportion = hpData and hpData.pumpProportion or 0
|
|
|
|
|
|
tem.UpperLimit = hpData and hpData.UpperLimit or 0
|
|
|
|
|
|
table.insert(self.rewards_data, tem)
|
|
|
|
|
|
end
|
|
|
|
|
|
self._type = hpData and hpData.type or 1
|
|
|
|
|
|
self._limitPump = hpData and tonumber(hpData.limitPump) or 0
|
|
|
|
|
|
self:UpdateRewards()
|
|
|
|
|
|
|
|
|
|
|
|
-- 编辑类型,0是全显示,1是显示百分比,2是显示人头制, 3是全民推广
|
|
|
|
|
|
local ctr_edit_type = panel_fag:GetController("edit_type")
|
|
|
|
|
|
local ctr_edit_value_type = panel_fag:GetController("edit_value_type")
|
|
|
|
|
|
if not self.play then
|
|
|
|
|
|
ctr_edit_type.selectedIndex = 0
|
|
|
|
|
|
ctr_edit_value_type.selectedIndex = 0
|
|
|
|
|
|
elseif hpData then
|
|
|
|
|
|
ctr_edit_type.selectedIndex = self.play.rewardType
|
|
|
|
|
|
ctr_edit_value_type.selectedIndex = self.play.rewardValueType or 1
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
local ctr_edit_type1 = panel_fag:GetController("edit_type1")
|
|
|
|
|
|
local ctr_edit_value_type1 = panel_fag:GetController("edit_value_type1")
|
|
|
|
|
|
if not self.play then
|
|
|
|
|
|
ctr_edit_type1.selectedIndex = 0
|
|
|
|
|
|
ctr_edit_value_type1.selectedIndex = 0
|
|
|
|
|
|
elseif hpData then
|
|
|
|
|
|
ctr_edit_type1.selectedIndex = self.play.xipai_rewardType
|
|
|
|
|
|
ctr_edit_value_type1.selectedIndex = self.play.xipai_rewardValueType or 1
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
local ctr_rewards1 = panel_fag:GetController("rewards1")
|
|
|
|
|
|
ctr_rewards1.selectedIndex = 2
|
|
|
|
|
|
local ctr_rewards_value1 = panel_fag:GetController("rewards_value1")
|
|
|
|
|
|
-- 奖励类型:0百分比 1人头制 2全民推广
|
|
|
|
|
|
if self.play then
|
|
|
|
|
|
ctr_rewards1.selectedIndex = self.play.xipai_rewardType - 1
|
|
|
|
|
|
ctr_rewards_value1.selectedIndex = (self.play.xipai_rewardValueType or 1) - 1
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
local ctr_rewards2 = panel_fag:GetController("rewards2")
|
|
|
|
|
|
ctr_rewards2.selectedIndex = 2
|
|
|
|
|
|
local ctr_rewards_value2 = panel_fag:GetController("rewards_value2")
|
|
|
|
|
|
-- 奖励类型:0百分比 1人头制 2全民推广
|
|
|
|
|
|
if self.play then
|
2025-06-19 23:14:44 +08:00
|
|
|
|
-- ctr_rewards1.selectedIndex = self.play.xipai_rewardType - 1
|
2025-05-24 14:29:14 +08:00
|
|
|
|
ctr_rewards_value2.selectedIndex = (self.play.anchou_rewardValueType or 1) - 1
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local base_pump = 0
|
2025-06-19 23:14:44 +08:00
|
|
|
|
if hpData ~= nil and hpData.basePump ~= nil then
|
2025-05-24 14:29:14 +08:00
|
|
|
|
base_pump = d2ad(hpData.basePump)
|
|
|
|
|
|
end
|
|
|
|
|
|
local tex_base_pump = panel_fag:GetChild("tex_base_pump")
|
2025-06-19 23:14:44 +08:00
|
|
|
|
tex_base_pump.text = "" .. base_pump
|
2025-05-24 14:29:14 +08:00
|
|
|
|
|
|
|
|
|
|
local btn_base_pump = panel_fag:GetChild("btn_base_pump")
|
|
|
|
|
|
btn_base_pump.onClick:Set(function()
|
|
|
|
|
|
self:__input_num(tex_base_pump, "basePump", 3)
|
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
|
|
-- panel_fag:GetController("alliance").selectedIndex = group.type == 2 and 1 or 0
|
|
|
|
|
|
panel_fag:GetController("alliance").selectedIndex = 0
|
|
|
|
|
|
local ctr_rewards = panel_fag:GetController("rewards")
|
|
|
|
|
|
local ctr_rewards_value = panel_fag:GetController("rewards_value")
|
|
|
|
|
|
-- 奖励类型:0百分比 1人头制 2全民推广
|
|
|
|
|
|
if self.play then
|
|
|
|
|
|
ctr_rewards.selectedIndex = self.play.rewardType - 1
|
|
|
|
|
|
ctr_rewards_value.selectedIndex = (self.play.rewardValueType or 1) - 1
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
-- 点击确定按钮 更新玩法数据
|
|
|
|
|
|
local btn_ok = self._view:GetChild("btn_ok")
|
2025-06-19 23:14:44 +08:00
|
|
|
|
btn_ok.onClick:Set(function()
|
2025-05-24 14:29:14 +08:00
|
|
|
|
local _data = mod.data:SelectedConfigData()
|
2025-06-19 23:14:44 +08:00
|
|
|
|
_data.game_id = game_id
|
2025-05-24 14:29:14 +08:00
|
|
|
|
_data.isNonnegative = btn_nonnegative.selected and 1 or 0
|
|
|
|
|
|
_data.hp_no_limit = (btn_nonnegative.selected and btn_no_upper.selected) and 1 or 0
|
|
|
|
|
|
_data.tuoguan = btn_tuoguan.selected
|
2025-06-19 23:14:44 +08:00
|
|
|
|
|
|
|
|
|
|
_data.tuoguan_active_time = _data.tuoguan and tuoguanTimeList[(tonumber(cb_tuoguan_time.value))] or 0
|
|
|
|
|
|
_data.tuoguan_active_timeIndex = tonumber(cb_tuoguan_time.value)
|
|
|
|
|
|
_data.tuoguan_result_type = _data.tuoguan and tonumber(cb_tuoguan_type.value) or 0
|
|
|
|
|
|
if btn_BanDismiss.selected then
|
2025-05-24 14:29:14 +08:00
|
|
|
|
_data.isBanDismiss = 1
|
|
|
|
|
|
end
|
2025-06-19 23:14:44 +08:00
|
|
|
|
|
|
|
|
|
|
if btn_hidden then
|
|
|
|
|
|
_data.isHidden = btn_hidden.selected and 1 or 0
|
|
|
|
|
|
else
|
|
|
|
|
|
_data.isHidden = 0
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
if btn_vip then
|
|
|
|
|
|
_data.isvip = btn_vip.selected and 1 or 0
|
|
|
|
|
|
else
|
|
|
|
|
|
_data.isvip = 0
|
|
|
|
|
|
end
|
|
|
|
|
|
|
2025-05-24 14:29:14 +08:00
|
|
|
|
|
|
|
|
|
|
local hpType = mod.data.game_data.hpType
|
|
|
|
|
|
self.hpData.limitInRoom = ad2d(tonumber(panel_play_set:GetChild("tex_join_limit").text))
|
|
|
|
|
|
self.hpData.limitPlay = ad2d(tonumber(panel_play_set:GetChild("tex_exit_limit").text))
|
2025-06-19 23:14:44 +08:00
|
|
|
|
self.hpData.limitloot = 0 -- ad2d(tonumber(panel_play_set:GetChild("tex_bank_limit").text))
|
2025-05-24 14:29:14 +08:00
|
|
|
|
self.hpData.robot_room = (tonumber(panel_fag:GetChild("tex_robot_room").text))
|
|
|
|
|
|
self.hpData.type = self._type
|
|
|
|
|
|
self.hpData.limitPump = self._limitPump
|
|
|
|
|
|
local hpOnOff = ctr_switch.selectedIndex
|
|
|
|
|
|
if game_id == 41 then
|
|
|
|
|
|
if self.hpData.limitloot < ad2d(_data.up_bank) then
|
2025-06-19 23:14:44 +08:00
|
|
|
|
ViewUtil.ErrorMsg(self._root_view, -9, "抢庄限制必须大于等于" .. _data.up_bank)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
return
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
if hpType > 1 and hpOnOff == 1 then
|
|
|
|
|
|
if self.hpData.limitInRoom < self.hpData.limitPlay then
|
2025-06-19 23:14:44 +08:00
|
|
|
|
ViewUtil.ErrorMsg(self._root_view, -9, "进入限制必须大于等于退出限制")
|
2025-05-24 14:29:14 +08:00
|
|
|
|
return
|
|
|
|
|
|
end
|
|
|
|
|
|
if self.hpData.limitPlay == 0 then
|
2025-06-19 23:14:44 +08:00
|
|
|
|
ViewUtil.ErrorMsg(self._root_view, -9, "退出房间限制不能为0")
|
2025-05-24 14:29:14 +08:00
|
|
|
|
return
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
local times = tonumber(tex_times.text)
|
|
|
|
|
|
self.hpData.times = ad2d(tonumber(times))
|
2025-06-19 23:14:44 +08:00
|
|
|
|
|
|
|
|
|
|
local tex_times_room = tonumber(tex_times_room.text)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
self.hpData.tex_times_room = ad2d(tonumber(tex_times_room))
|
2025-06-19 23:14:44 +08:00
|
|
|
|
|
2025-05-24 14:29:14 +08:00
|
|
|
|
|
|
|
|
|
|
local base_pump = tonumber(tex_base_pump.text)
|
|
|
|
|
|
self.hpData.basePump = ad2d(tonumber(base_pump))
|
|
|
|
|
|
|
|
|
|
|
|
self.hpData.rewards_list = {}
|
|
|
|
|
|
local lst_rewards = panel_fag:GetChild("lst_rewards")
|
|
|
|
|
|
for i = 1, lst_rewards.numItems do
|
|
|
|
|
|
local r_item = lst_rewards:GetChildAt(i - 1)
|
|
|
|
|
|
local tem = {}
|
|
|
|
|
|
-- 大赢家
|
|
|
|
|
|
-- self.hpData.limitPump = tonumber(cb_type.value)
|
|
|
|
|
|
-- tem.limitPump = tonumber(r_item:GetChild("cb_type").value)
|
|
|
|
|
|
-- 抽水次数 固定抽水要发小数
|
|
|
|
|
|
local cb_method = r_item:GetChild("cb_method")
|
2025-06-19 23:14:44 +08:00
|
|
|
|
local proportion = string.gsub(
|
|
|
|
|
|
string.gsub(r_item:GetChild("cb_proportion" .. cb_method.value).title, "抽", ""), "次", "")
|
2025-05-24 14:29:14 +08:00
|
|
|
|
if cb_method.value == "1" then proportion = ad2d(proportion) end
|
|
|
|
|
|
-- 抽水分数
|
|
|
|
|
|
-- self.hpData.pumpProportion = tonumber(proportion)
|
|
|
|
|
|
tem.pumpProportion = tonumber(proportion)
|
|
|
|
|
|
if tonumber(cb_method.value) == 1 then
|
|
|
|
|
|
local v = string.gsub(r_item:GetChild("cb_min").title, "分", "")
|
|
|
|
|
|
-- self.hpData.UpperLimit = ad2d(tonumber(v))
|
|
|
|
|
|
tem.UpperLimit = ad2d(tonumber(v))
|
|
|
|
|
|
|
|
|
|
|
|
local vsend = string.gsub(r_item:GetChild("cb_min_send").title, "分", "")
|
|
|
|
|
|
tem.UpperLimitReward = ad2d(tonumber(vsend))
|
|
|
|
|
|
else
|
|
|
|
|
|
local v = string.gsub(r_item:GetChild("cb_max").title, "分", "")
|
|
|
|
|
|
-- self.hpData.UpperLimit = ad2d(tonumber(v))
|
|
|
|
|
|
tem.UpperLimit = ad2d(tonumber(v))
|
|
|
|
|
|
end
|
|
|
|
|
|
-- tem.type = cb_method.value
|
|
|
|
|
|
table.insert(self.hpData.rewards_list, tem)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
self.hpData.rewards_type = ctr_rewards.selectedIndex + 1
|
|
|
|
|
|
self.hpData.rewardValueType = ctr_rewards_value.selectedIndex + 1
|
|
|
|
|
|
|
|
|
|
|
|
self.hpData.xipai_rewardType = ctr_rewards1.selectedIndex + 1
|
|
|
|
|
|
self.hpData.xipai_rewardValueType = ctr_rewards_value1.selectedIndex + 1
|
|
|
|
|
|
|
|
|
|
|
|
self.hpData.anchou_rewardType = ctr_rewards2.selectedIndex + 1
|
|
|
|
|
|
self.hpData.anchou_rewardValueType = ctr_rewards_value2.selectedIndex + 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if self.hpData.rewardValueType == 1 then
|
|
|
|
|
|
self.hpData.rewards_val = 100
|
|
|
|
|
|
else
|
|
|
|
|
|
self.hpData.rewards_val = ad2d(10000)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
if self.hpData.xipai_rewardValueType == 1 then
|
|
|
|
|
|
self.hpData.xipai_rewards_val = 100
|
|
|
|
|
|
else
|
|
|
|
|
|
self.hpData.xipai_rewards_val = ad2d(10000)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if self.hpData.anchou_rewardValueType == 1 then
|
|
|
|
|
|
self.hpData.anchou_rewards_val = 100
|
|
|
|
|
|
else
|
|
|
|
|
|
self.hpData.anchou_rewards_val = ad2d(10000)
|
|
|
|
|
|
end
|
2025-06-19 23:14:44 +08:00
|
|
|
|
|
2025-05-24 14:29:14 +08:00
|
|
|
|
|
|
|
|
|
|
local tex_name = self._view:GetChild("tex_name")
|
|
|
|
|
|
local name = tex_name.text
|
|
|
|
|
|
print("jefe:")
|
|
|
|
|
|
pt(self.hpData)
|
|
|
|
|
|
|
|
|
|
|
|
local fgCtr = ControllerManager.GetController(NewGroupController)
|
|
|
|
|
|
ViewUtil.ShowModalWait(self._root_view)
|
|
|
|
|
|
if not self.play then
|
|
|
|
|
|
-- 新增玩法
|
2025-06-19 23:14:44 +08:00
|
|
|
|
fgCtr:FG_AddPlay(self.group_id, game_id, _data, name, self.hpData, hpOnOff, group.type, self.table_color,
|
|
|
|
|
|
function(res)
|
|
|
|
|
|
if self._is_destroy then
|
|
|
|
|
|
return
|
|
|
|
|
|
end
|
|
|
|
|
|
ViewUtil.CloseModalWait()
|
|
|
|
|
|
--print("======新增玩法=============")
|
|
|
|
|
|
--pt(res)
|
|
|
|
|
|
if res.ReturnCode == 0 then
|
|
|
|
|
|
local play = {}
|
|
|
|
|
|
play.name = name
|
|
|
|
|
|
play.deskId = self.table_color
|
|
|
|
|
|
play.game_name = mod.data.game_data.name
|
|
|
|
|
|
play.gameId = game_id
|
|
|
|
|
|
play.hpOnOff = hpOnOff
|
|
|
|
|
|
play.hpData = json.encode(self.hpData)
|
|
|
|
|
|
play.id = res.Data.pid
|
|
|
|
|
|
play.xipai_rewards_val = self.hpData.xipairewards_val
|
|
|
|
|
|
play.anchou_rewards_val = self.hpData.anchou_rewards_val
|
|
|
|
|
|
play.reward = self.hpData.rewards_val
|
|
|
|
|
|
play.rewardType = self.hpData.rewards_type
|
|
|
|
|
|
play.rewardValueType = self.hpData.rewardValueType
|
|
|
|
|
|
play.xipai_rewardType = self.hpData.xipai_rewardType
|
|
|
|
|
|
play.anchou_rewardType = 3
|
|
|
|
|
|
play.xipai_rewardValueType = self.hpData.xipai_rewardValueType
|
|
|
|
|
|
play.anchou_rewardValueType = 1
|
|
|
|
|
|
_data.maxPlayers = res.Data.maxPlayers
|
|
|
|
|
|
play.config = json.encode(_data)
|
|
|
|
|
|
play.hp_times = self.hpData.times
|
|
|
|
|
|
play.maxPlayers = _data.maxPlayers
|
2025-06-19 23:51:18 +08:00
|
|
|
|
play.roomNum = self.hpData.tex_times_room / 100
|
2025-06-19 23:14:44 +08:00
|
|
|
|
play.maxRound = res.Data.maxRound
|
2025-06-23 04:57:54 +08:00
|
|
|
|
play.gameType = res.Data.gameType
|
2025-06-19 23:14:44 +08:00
|
|
|
|
ViewUtil.ShowBannerOnScreenCenter("添加玩法成功")
|
|
|
|
|
|
self.callback(play)
|
|
|
|
|
|
self:Destroy()
|
|
|
|
|
|
else
|
|
|
|
|
|
ViewUtil.ErrorTip(res.ReturnCode, "添加玩法失败!")
|
|
|
|
|
|
end
|
|
|
|
|
|
end)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
else
|
|
|
|
|
|
-- 修改玩法
|
2025-06-19 23:14:44 +08:00
|
|
|
|
fgCtr:FG_UpdatePlay(self.group_id, game_id, _data, name, self.hpData, hpOnOff, self.play.id, group.type,
|
|
|
|
|
|
self.table_color, function(res)
|
|
|
|
|
|
if self._is_destroy then
|
|
|
|
|
|
return
|
|
|
|
|
|
end
|
|
|
|
|
|
ViewUtil.CloseModalWait()
|
|
|
|
|
|
--print("======修改玩法=============")
|
|
|
|
|
|
--pt(res)
|
|
|
|
|
|
if res.ReturnCode == 0 then
|
|
|
|
|
|
local play = {}
|
|
|
|
|
|
play.name = name
|
|
|
|
|
|
play.deskId = self.table_color
|
|
|
|
|
|
play.game_name = mod.data.game_data.name
|
|
|
|
|
|
play.gameId = game_id
|
|
|
|
|
|
play.id = self.play.id
|
|
|
|
|
|
play.hpOnOff = hpOnOff
|
|
|
|
|
|
play.hpData = json.encode(self.hpData)
|
|
|
|
|
|
play.xipai_rewards_val = self.hpData.xipairewards_val
|
|
|
|
|
|
play.anchou_rewards_val = self.hpData.anchou_rewards_val
|
|
|
|
|
|
play.reward = self.hpData.rewards_val
|
|
|
|
|
|
play.rewardType = self.hpData.rewards_type
|
|
|
|
|
|
play.rewardValueType = self.hpData.rewardValueType
|
|
|
|
|
|
play.xipai_rewardType = self.hpData.xipai_rewardType
|
|
|
|
|
|
play.anchou_rewardType = 3
|
|
|
|
|
|
play.xipai_rewardValueType = self.hpData.xipai_rewardValueType
|
|
|
|
|
|
play.anchou_rewardValueType = 1
|
|
|
|
|
|
_data.maxPlayers = res.Data.maxPlayers
|
|
|
|
|
|
play.config = json.encode(_data)
|
|
|
|
|
|
play.hp_times = self.hpData.times
|
|
|
|
|
|
play.maxPlayers = _data.maxPlayers
|
2025-06-19 23:51:18 +08:00
|
|
|
|
play.roomNum = self.hpData.tex_times_room / 100
|
2025-06-19 23:14:44 +08:00
|
|
|
|
play.maxRound = res.Data.maxRound
|
|
|
|
|
|
self.callback(play)
|
|
|
|
|
|
self:Destroy()
|
|
|
|
|
|
else
|
|
|
|
|
|
ViewUtil.ErrorTip(res.ReturnCode, "修改玩法失败!")
|
|
|
|
|
|
end
|
|
|
|
|
|
end)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
end
|
|
|
|
|
|
end)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function M:UpdateRewards()
|
|
|
|
|
|
local lst_rewards = self._view:GetChild("panel_play_set"):GetChild("panel_fag"):GetChild("lst_rewards")
|
|
|
|
|
|
lst_rewards:RemoveChildrenToPool()
|
|
|
|
|
|
for i = 1, #self.rewards_data do
|
|
|
|
|
|
local item = lst_rewards:AddItemFromPool()
|
|
|
|
|
|
self:OnRenderItem(i, item)
|
|
|
|
|
|
end
|
|
|
|
|
|
lst_rewards.height = 120 * #self.rewards_data
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function M:OnRenderItem(index, obj)
|
|
|
|
|
|
local data = self.rewards_data[index]
|
|
|
|
|
|
-- 抽水方法,固定、浮动
|
|
|
|
|
|
local cb_method = obj:GetChild("cb_method")
|
2025-06-19 23:14:44 +08:00
|
|
|
|
cb_method.value = 1
|
|
|
|
|
|
-- cb_method.onChanged:Set(function()
|
|
|
|
|
|
-- local tem = membe_clone(self.rewards_data[1])
|
|
|
|
|
|
-- tem.pumpProportion = 0
|
|
|
|
|
|
-- self._type = tonumber(cb_method.value)
|
|
|
|
|
|
-- self.rewards_data = {}
|
|
|
|
|
|
-- self.rewards_data[1] = tem
|
|
|
|
|
|
-- self:UpdateRewards()
|
|
|
|
|
|
-- end)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
--大赢家
|
|
|
|
|
|
local tem = obj:GetController("c1").selectedIndex
|
|
|
|
|
|
for i = 1, 2 do
|
|
|
|
|
|
local cb_type = obj:GetChild("cb_type" .. i)
|
|
|
|
|
|
if self._limitPump <= 4 - tem then
|
2025-06-19 23:14:44 +08:00
|
|
|
|
cb_type.value = tostring(self._limitPump)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
else
|
|
|
|
|
|
self._limitPump = tonumber(cb_type.value)
|
2025-06-19 23:14:44 +08:00
|
|
|
|
end
|
|
|
|
|
|
cb_type.onChanged:Set(function()
|
2025-05-24 14:29:14 +08:00
|
|
|
|
local limitPump = cb_type.value
|
|
|
|
|
|
self._limitPump = tonumber(limitPump)
|
|
|
|
|
|
self:UpdateRewards()
|
|
|
|
|
|
end)
|
|
|
|
|
|
end
|
|
|
|
|
|
-- hptype控制器,根据不同的hptype显示
|
|
|
|
|
|
local ctr_type = obj:GetController("type")
|
|
|
|
|
|
ctr_type.selectedIndex = self.gl_view:GetModeData().data.game_data.hpType
|
|
|
|
|
|
self._type = tonumber(cb_method.value)
|
|
|
|
|
|
--抽水次数
|
|
|
|
|
|
local val = data.pumpProportion
|
|
|
|
|
|
if cb_method.value ~= tostring(self._type) then
|
|
|
|
|
|
val = 0
|
|
|
|
|
|
elseif cb_method.value == "1" then
|
|
|
|
|
|
val = d2ad(val)
|
|
|
|
|
|
end
|
|
|
|
|
|
local cb_proportion1 = obj:GetChild("cb_proportion1")
|
|
|
|
|
|
local cb_proportion2 = obj:GetChild("cb_proportion2")
|
2025-06-19 23:14:44 +08:00
|
|
|
|
print(cb_method.value)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
obj:GetChild("cb_proportion" .. cb_method.value).title = "抽" .. val .. "次"
|
|
|
|
|
|
cb_proportion1.onChanged:Set(function()
|
|
|
|
|
|
data.pumpProportion = ad2d(string.gsub(string.gsub(cb_proportion1.title, "抽", ""), "次", ""))
|
|
|
|
|
|
end)
|
|
|
|
|
|
cb_proportion2.onChanged:Set(function()
|
|
|
|
|
|
local v = string.gsub(string.gsub(cb_proportion2.title, "抽", ""), "次", "")
|
|
|
|
|
|
data.pumpProportion = tonumber(v)
|
|
|
|
|
|
end)
|
|
|
|
|
|
--抽水上限
|
|
|
|
|
|
local cb_max = obj:GetChild("cb_max")
|
|
|
|
|
|
--抽水门槛
|
|
|
|
|
|
local cb_min = obj:GetChild("cb_min")
|
|
|
|
|
|
local cb_min_send = obj:GetChild("cb_min_send")
|
|
|
|
|
|
local UpperLimit = d2ad(data.UpperLimit)
|
|
|
|
|
|
local UpperLimitReward = d2ad(data.UpperLimitReward or 0)
|
|
|
|
|
|
if tonumber(cb_method.value) == 1 then
|
|
|
|
|
|
cb_min.title = UpperLimit .. "分" or "0分"
|
|
|
|
|
|
cb_min_send.title = UpperLimitReward .. "分" or "0分"
|
|
|
|
|
|
if UpperLimitReward == 0 then
|
|
|
|
|
|
obj:GetController("give_owner").selectedIndex = 0
|
|
|
|
|
|
else
|
|
|
|
|
|
obj:GetController("give_owner").selectedIndex = 1
|
|
|
|
|
|
end
|
|
|
|
|
|
else
|
2025-06-19 23:14:44 +08:00
|
|
|
|
cb_max.value = UpperLimit .. "分"
|
2025-05-24 14:29:14 +08:00
|
|
|
|
self:SetIndex(cb_max, d2ad(data.UpperLimit))
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
obj:GetController("give_owner").onChanged:Add(function()
|
|
|
|
|
|
if obj:GetController("give_owner").selectedIndex == 0 then
|
|
|
|
|
|
data.UpperLimitReward = 0
|
|
|
|
|
|
self:UpdateRewards()
|
|
|
|
|
|
end
|
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
|
|
if cb_max.selectedIndex == -1 then
|
|
|
|
|
|
cb_max.selectedIndex = 0
|
|
|
|
|
|
end
|
|
|
|
|
|
if cb_min.selectedIndex == -1 then
|
|
|
|
|
|
cb_min.selectedIndex = 0
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
if cb_min_send.selectedIndex == -1 then
|
|
|
|
|
|
cb_min_send.selectedIndex = 0
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
-- 显示备注
|
|
|
|
|
|
local str_min_tip, str_max_tip
|
|
|
|
|
|
if index == 1 then
|
|
|
|
|
|
local tem = ""
|
|
|
|
|
|
local next_data = self.rewards_data[index + 1]
|
|
|
|
|
|
if next_data then
|
|
|
|
|
|
tem = string.format("小于%s", d2ad(next_data.UpperLimit))
|
|
|
|
|
|
end
|
2025-06-19 23:14:44 +08:00
|
|
|
|
local tem1 = ""
|
2025-05-24 14:29:14 +08:00
|
|
|
|
if UpperLimitReward ~= 0 then
|
2025-06-19 23:14:44 +08:00
|
|
|
|
tem1 = string.format(",每个玩家赠送盟主%s分", UpperLimitReward)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
end
|
2025-06-19 23:14:44 +08:00
|
|
|
|
str_min_tip = string.format("(低于%s分不抽水%s)", UpperLimit, tem1)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
-- str_max_tip = string.format("(低于%s按此设置抽水)", UpperLimit)
|
|
|
|
|
|
elseif index == #self.rewards_data then
|
|
|
|
|
|
str_min_tip = string.format("(大于等于%s按此设置抽水)", UpperLimit)
|
|
|
|
|
|
-- str_max_tip = string.format("(大于等于%s,小于%s按此设置抽水)", last_upper, UpperLimit)
|
|
|
|
|
|
else
|
|
|
|
|
|
local next_upper = d2ad(self.rewards_data[index + 1].UpperLimit)
|
|
|
|
|
|
str_min_tip = string.format("(大于等于%s,小于%s按此设置抽水)", UpperLimit, next_upper)
|
|
|
|
|
|
-- str_max_tip = string.format("(大于等于%s,小于%s按此设置抽水)", last_upper, UpperLimit)
|
|
|
|
|
|
end
|
|
|
|
|
|
obj:GetChild("tex_min_tip").text = str_min_tip
|
|
|
|
|
|
-- obj:GetChild("tex_max_tip").text = str_max_tip
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local input_limit = 1000
|
|
|
|
|
|
local btn_input = obj:GetChild("btn_input")
|
|
|
|
|
|
btn_input.onClick:Set(function()
|
2025-06-19 23:14:44 +08:00
|
|
|
|
local gfiv = GroupNumberInputView.new(self._root_view, function(num)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
if num > input_limit then
|
2025-06-19 23:14:44 +08:00
|
|
|
|
ViewUtil.ErrorMsg(self._root_view, -9, "输入最大不能超过" .. input_limit)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
return
|
|
|
|
|
|
end
|
|
|
|
|
|
cb_proportion1.title = "抽" .. num .. "次"
|
|
|
|
|
|
data.pumpProportion = ad2d(num)
|
|
|
|
|
|
end, 3)
|
|
|
|
|
|
gfiv:Show()
|
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
|
|
local input_limit2 = 1000
|
|
|
|
|
|
local min_v, max_v = 0, input_limit2 + 1
|
|
|
|
|
|
if index > 1 then
|
|
|
|
|
|
local last_data = self.rewards_data[index - 1]
|
|
|
|
|
|
min_v = d2ad(last_data.UpperLimit)
|
|
|
|
|
|
end
|
|
|
|
|
|
if index < #self.rewards_data then
|
|
|
|
|
|
local next_data = self.rewards_data[index + 1]
|
|
|
|
|
|
max_v = d2ad(next_data.UpperLimit)
|
|
|
|
|
|
end
|
|
|
|
|
|
local btn_input2 = obj:GetChild("btn_input2")
|
|
|
|
|
|
btn_input2.onClick:Set(function()
|
2025-06-19 23:14:44 +08:00
|
|
|
|
local gfiv = GroupNumberInputView.new(self._root_view, function(num)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
if num > input_limit2 then
|
2025-06-19 23:14:44 +08:00
|
|
|
|
ViewUtil.ErrorMsg(nil, -9, "输入值不能超过" .. input_limit2)
|
|
|
|
|
|
return
|
2025-05-24 14:29:14 +08:00
|
|
|
|
elseif num >= max_v then
|
2025-06-19 23:14:44 +08:00
|
|
|
|
ViewUtil.ErrorMsg(nil, -9, "输入值必须小于" .. max_v)
|
|
|
|
|
|
return
|
2025-05-24 14:29:14 +08:00
|
|
|
|
elseif num <= min_v then
|
2025-06-19 23:14:44 +08:00
|
|
|
|
ViewUtil.ErrorMsg(nil, -9, "输入值必须大于" .. min_v)
|
|
|
|
|
|
return
|
2025-05-24 14:29:14 +08:00
|
|
|
|
end
|
|
|
|
|
|
-- cb_min.title = num .. "分"
|
|
|
|
|
|
data.UpperLimit = ad2d(num)
|
|
|
|
|
|
self:UpdateRewards()
|
|
|
|
|
|
end, 3)
|
|
|
|
|
|
gfiv:Show()
|
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
|
|
local btn_input2_send = obj:GetChild("btn_input2_send")
|
|
|
|
|
|
btn_input2_send.onClick:Set(function()
|
2025-06-19 23:14:44 +08:00
|
|
|
|
local gfiv = GroupNumberInputView.new(self._root_view, function(num)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
data.UpperLimitReward = ad2d(num)
|
|
|
|
|
|
self:UpdateRewards()
|
|
|
|
|
|
end, 3)
|
|
|
|
|
|
gfiv:Show()
|
|
|
|
|
|
end)
|
|
|
|
|
|
cb_min.onChanged:Set(function()
|
|
|
|
|
|
local tem = string.gsub(cb_min.title, "分", "")
|
|
|
|
|
|
local tem = tonumber(tem)
|
|
|
|
|
|
if tem > input_limit2 then
|
2025-06-19 23:14:44 +08:00
|
|
|
|
ViewUtil.ErrorMsg(nil, -9, "输入值不能超过" .. input_limit2)
|
|
|
|
|
|
return
|
2025-05-24 14:29:14 +08:00
|
|
|
|
elseif tem >= max_v then
|
|
|
|
|
|
cb_min.title = d2ad(data.UpperLimit) .. "分"
|
2025-06-19 23:14:44 +08:00
|
|
|
|
ViewUtil.ErrorMsg(nil, -9, "输入值必须小于" .. max_v)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
return
|
|
|
|
|
|
elseif tem <= min_v then
|
|
|
|
|
|
cb_min.title = d2ad(data.UpperLimit) .. "分"
|
2025-06-19 23:14:44 +08:00
|
|
|
|
ViewUtil.ErrorMsg(nil, -9, "输入值必须大于" .. min_v)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
return
|
|
|
|
|
|
end
|
|
|
|
|
|
data.UpperLimit = ad2d(string.gsub(cb_min.title, "分", ""))
|
|
|
|
|
|
self:UpdateRewards()
|
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
|
|
cb_min_send.onChanged:Set(function()
|
|
|
|
|
|
local tem = string.gsub(cb_min_send.title, "分", "")
|
|
|
|
|
|
local tem = tonumber(tem)
|
2025-06-19 23:14:44 +08:00
|
|
|
|
|
2025-05-24 14:29:14 +08:00
|
|
|
|
data.UpperLimitReward = ad2d(string.gsub(cb_min_send.title, "分", ""))
|
|
|
|
|
|
self:UpdateRewards()
|
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
|
|
cb_max.onChanged:Set(function()
|
|
|
|
|
|
local tem = string.gsub(cb_max.title, "分", "")
|
|
|
|
|
|
local tem = tonumber(tem)
|
2025-06-19 23:14:44 +08:00
|
|
|
|
if tem > max_v then
|
2025-05-24 14:29:14 +08:00
|
|
|
|
self:SetIndex(cb_max, d2ad(data.UpperLimit))
|
2025-06-19 23:14:44 +08:00
|
|
|
|
ViewUtil.ErrorMsg(nil, -9, "输入值必须小于" .. max_v)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
return
|
2025-06-19 23:14:44 +08:00
|
|
|
|
-- elseif tem <= min_v then
|
|
|
|
|
|
-- self:SetIndex(cb_max, d2ad(data.UpperLimit))
|
|
|
|
|
|
-- ViewUtil.ErrorMsg(nil,-9,"输入值必须大于" .. min_v)
|
|
|
|
|
|
-- return
|
2025-05-24 14:29:14 +08:00
|
|
|
|
end
|
|
|
|
|
|
data.UpperLimit = ad2d(tem)
|
|
|
|
|
|
self:UpdateRewards()
|
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
|
|
obj:GetController("first").selectedIndex = self._type == 1 and #self.rewards_data ~= 1 and 1 or 0
|
|
|
|
|
|
obj:GetController("last").selectedIndex = self._type == 1 and index == #self.rewards_data and 1 or 0
|
|
|
|
|
|
local btn_add = obj:GetChild("btn_add")
|
|
|
|
|
|
btn_add.onClick:Set(function()
|
|
|
|
|
|
-- 如果UpperLimit达到最大值,无法再增加
|
|
|
|
|
|
if (cb_method.value == "1" and data.UpperLimit >= ad2d(input_limit2)) or (cb_method.value == "2" and cb_max.selectedIndex == cb_max.values.Length - 1) then
|
|
|
|
|
|
ViewUtil.ErrorTip(nil, "已达到上限,无法再增加")
|
2025-06-19 23:14:44 +08:00
|
|
|
|
return
|
2025-05-24 14:29:14 +08:00
|
|
|
|
end
|
|
|
|
|
|
local ul = cb_method.value == "1" and data.UpperLimit + 10 or ad2d(cb_max.values[cb_max.selectedIndex + 1])
|
2025-06-19 23:14:44 +08:00
|
|
|
|
local tem = { type = data.type, pumpProportion = data.pumpProportion, UpperLimit = ul }
|
2025-05-24 14:29:14 +08:00
|
|
|
|
table.insert(self.rewards_data, tem)
|
|
|
|
|
|
self:UpdateRewards()
|
|
|
|
|
|
end)
|
|
|
|
|
|
local btn_remove = obj:GetChild("btn_remove")
|
|
|
|
|
|
btn_remove.onClick:Set(function()
|
|
|
|
|
|
local msg_tip = MsgWindow.new(self._root_view, "确定删除该项吗?", MsgWindow.MsgMode.OkAndCancel)
|
|
|
|
|
|
msg_tip.onOk:Add(function()
|
|
|
|
|
|
table.remove(self.rewards_data, index)
|
2025-06-19 23:14:44 +08:00
|
|
|
|
self:UpdateRewards()
|
2025-05-24 14:29:14 +08:00
|
|
|
|
end)
|
|
|
|
|
|
msg_tip:Show()
|
|
|
|
|
|
end)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function M:SetIndex(cb, value)
|
|
|
|
|
|
local str = tostring(value)
|
|
|
|
|
|
for i = 1, cb.values.Length do
|
|
|
|
|
|
if cb.values[i - 1] == str then
|
|
|
|
|
|
cb.selectedIndex = i - 1
|
|
|
|
|
|
return
|
|
|
|
|
|
end
|
|
|
|
|
|
end
|
|
|
|
|
|
cb.selectedIndex = 0
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function M:__input_num(tex, filed, itype)
|
|
|
|
|
|
itype = itype or 0
|
2025-06-19 23:14:44 +08:00
|
|
|
|
local gfiv = GroupNumberInputView.new(self._root_view, function(num)
|
2025-05-24 14:29:14 +08:00
|
|
|
|
tex.text = num
|
|
|
|
|
|
if filed == "robot_room" then
|
|
|
|
|
|
--printlog("cccccccccccccccc ",num)
|
|
|
|
|
|
self.hpData[filed] = (num)
|
|
|
|
|
|
else
|
|
|
|
|
|
self.hpData[filed] = ad2d(num)
|
|
|
|
|
|
end
|
|
|
|
|
|
end, itype)
|
|
|
|
|
|
gfiv:Show()
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
function M:Destroy()
|
|
|
|
|
|
BaseWindow.Destroy(self)
|
|
|
|
|
|
self.gl_view:Destroy()
|
|
|
|
|
|
end
|
|
|
|
|
|
|
2025-06-19 23:14:44 +08:00
|
|
|
|
return M
|