dezhou_client/lua_probject/base_project/Game/View/Lobby/CreateRoomView.lua

93 lines
2.6 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---创建房间View对象
local GameListView = import(".GameListView")
local CreateRoomView = {}
local M = CreateRoomView
function CreateRoomView.new(index)
setmetatable(M, {__index = BaseWindow})
local self = setmetatable({}, {__index = M})
self.class = "CreateRoomView"
self._animation = false
self._full = true
self._full_offset = false
self._modeMap = {}
self.selectedIndex = index
self._close_destroy = true
self._put_map = false
self._new_hide = false
self._queue = false
self:init("ui://Lobby/Win_CreateRoom")
return self
end
function M:init(url)
BaseWindow.init(self,url)
self.gl_view = GameListView.new(self._view,self.selectedIndex,nil,function(mode_data)
self:OnCreateRoom(mode_data)
end,true)
--self.gl_view.IsHallGame=true
end
function M:OnCreateRoom(mode_data)
if mode_data.type == 0 then
local mode = mode_data.data
--点击建房按钮后保存当前游戏的config
local _data = mode:SelectedConfigData()
--pt(_data)
if not _data["stamina"] then _data["stamina"] = 0 end
local user_id = DataManager.SelfUser.account_id
local config_data = {}
local game_id = mode.game_data.game_id
config_data["game_id"] = game_id
config_data["version"] = mode.game_data.version
config_data["config"] = _data
Utils.SaveLocalFile(user_id, json.encode(config_data))
local loddyCtr = ControllerManager.GetController(LoddyController)
-- 对强制开启gps的玩法进行判断
if not DataManager.SelfUser.location then
DataManager.SelfUser.location = Location.new()
end
if _data["GPSDetection"] and _data["GPSDetection"] > 0 and DataManager.SelfUser.location:Location2String() == "" then
-- if DataManager.SelfUser.location:Location2String() == "" then
ViewUtil.ErrorTip(nil, "正在获取GPS定位请稍候重试。")
get_gps()
return
end
ViewUtil.ShowModalWait(self._root_view,"正在创建房间...")
loddyCtr:CreateRoom(game_id,_data, function (res)
self:__OnCreateRoomAction(res)
end)
end
end
function M:__OnCreateRoomAction(response)
ViewUtil.CloseModalWait()
if (response.ReturnCode == -2) then
return
end
if (response.ReturnCode ~= 0) then
ViewUtil.ErrorTip(response.ReturnCode,"创建房间失败")
return
end
self:Destroy()
if self.onCeateRoom then self.onCeateRoom() end
end
function M:Destroy()
self.gl_view:Destroy()
BaseWindow.Destroy(self)
end
return M