local MJSound=MJFramework.MJImport("mj.luaScript.MJSound") -- 主界面 local MJMainView = class("MJMainView", cc.UIView) -- require("LiuHuQiangDef") -- require("LiuHuQiangFunctions") -- local MJRoomReplayView=MJFramework.MJImport("mj.luaScript.Views.Room.MJRoomReplayView") -- local MJAnimationCompnent=MJFramework.MJImport("mj.luaScript.Views.Compnent.MJAnimationCompnent") -- local MJRoomDaJuView=MJFramework.MJImport("mj.luaScript.Views.Room.MJRoomDaJuView") -- local MJHandCardView=MJFramework.MJImport("mj.luaScript.Views.Game.MJHandCardView") function MJMainView:ctor() MJMainView.super.ctor(self); self:loadUI() MJSound.PlayHallBGM() end function MJMainView:loadUI() local ui = loadUI("mj/res/ui/ui_dating/mj_ui_hall.ui"); self.ui = ui; self:addChild(ui); end function MJMainView:onEnter() MJMainView.super.onEnter(self) -- MJDefine.getMjValue(0x25) -- local sprite=MJAnimationCompnent.CreateOperareEffect(MJDefine.MJOperateType.OPREATE_PENG) -- self:addChild(sprite) -- sprite:setPosition(640,360) -- local bg=cc.Sprite:create("mj/res/ui/zy_fangjian/mj_3d_bg.png")--"mj/res/test.png") -- self:addChild(bg) -- bg:setPosition(640,360) -- local views={} -- local view = MJHandCardView:new(nil,MJDefine.DesktopType.TwoD) -- self:addChild(view) -- table.insert(views,view) -- local view = MJHandCardView:new(MJDefine.PlayerViewType.Left,MJDefine.DesktopType.TwoD) -- self:addChild(view) -- table.insert(views,view) -- local view = MJHandCardView:new(MJDefine.PlayerViewType.Right,MJDefine.DesktopType.TwoD) -- self:addChild(view) -- table.insert(views,view) -- local view = MJHandCardView:new(MJDefine.PlayerViewType.Top,MJDefine.DesktopType.TwoD) -- self:addChild(view) -- table.insert(views,view) -- MJAnimationCompnent.CreateStartSendCards(views) -- app:addProtocolZhanJi(GAME_IDS.LiuHuQiang) -- local view=MJRoomReplayView:new() -- self:addChild(view) -- local view=MJRoomDaJuView:new() -- 初始化玩家信息 self:initUserInfo() -- 返回大厅 self.ui.Items.Button_Back:registerClick(handler(self, self.OnClickButtonBack)) self.ui.Items.Button_Coin_Buy:setVisible(false) -- 创建房间 self.ui.Items.Button_Coin:registerClick(handler(self, self.OnClickCoinMode)) self.ui.Items.Button_Coin:setVisible(false) -- 创建房间 self.ui.Items.Button_Create:registerClick(handler(self, self.OnClickButtonCreate)) -- 加入房间 self.ui.Items.Button_Join:registerClick(handler(self, self.OnClickButtonJoin)) --战绩 self.ui.Items.Button_ZhanJi:registerClick(handler(self,self.OnClickButtonZhanJi)) --帮助 self.ui.Items.Button_Help:registerClick(handler(self,self.OnClickWanFa)) --设置 self.ui.Items.Button_Set:registerClick(handler(self,self.OnClickSet)) --代开列表 self.ui.Items.Button_List:registerClick(handler(self,self.OnClickList)) if isRuanZhu() then if tonumber(app.gameId) == GAME_IDS.HongZhong then self.ui.Items.ImageView_title:loadTexture("mj_hall_title_hunanmj.png", cc.TextureResType.plistType) end end self:initNotice() self:initVersion() self:initZhanJiProtocol() end function MJMainView:initZhanJiProtocol() -- 注册战绩协议 app:addProtocolZhanJi(app.gameId) -- 拉取战绩数据 local protocolZhanJi = app:getProtocolZhanJi(app.gameId) if protocolZhanJi then protocolZhanJi:init() end end -- 初始化用户信息 function MJMainView:initUserInfo() local userInfo = json.decode(app.user.userInfo); local id = tonumber(app.user.loginInfo.uid) or 0 self.ui.Items.Text_ID:setText(string.format("ID:%06d", id)) local nickname = getSubStringNickname(userInfo.nickname,self.ui.Items.Text_Name) self.ui.Items.Text_Name:setText(nickname or tostring("游客"..app.user.loginInfo.uid)) -- 房卡数量 self.ui.Items.Text_Diamond:bind(app.user.loginInfo, "curCardNum", function() self.ui.Items.Text_Diamond:setString(tostring(app.user.loginInfo.curCardNum)) end) --金币数量 self.ui.Items.Text_Coin:bind(app.user.loginInfo, "curJingbiNum", function() local num = tonumber(app.user.loginInfo.curJingbiNum) or 0 num = num + 2000 local str if num > 100000 then str = tostring(math.floor(num / 1000) / 10).."W" else str = tostring(num) end self.ui.Items.Text_Coin:setString(str) end) local nodeHead = self.ui.Items.ImageView_Head; setPlayerHeadImage(app.user.loginInfo.uid, userInfo.headimgurl, nodeHead) end -- 返回大厅 function MJMainView:OnClickButtonBack() playBtnEffect() --app:gotoView(import("luaScript.Views.Main.MainView"):new()) gotoMainView() end -- 创建房间 function MJMainView:OnClickCoinMode() playBtnEffect() showTooltip("敬请期待!") end -- 创建房间 function MJMainView:OnClickButtonCreate() playBtnEffect() local MJCreateRoomView=MJFramework.MJImport("mj.luaScript.Views.Main.MJCreateRoomView") local view = MJCreateRoomView:new() view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end -- 加入房间 function MJMainView:OnClickButtonJoin() playBtnEffect() local view = import("luaScript.Views.Main.JoinRoomView"):new(app.gameId) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end -- 玩法 function MJMainView:OnClickWanFa() playBtnEffect() local MJWanFa=MJFramework.ImportWanFa("luaScript.SubGameDefine.MaJiang.MJWanFa") local view = import("luaScript.Views.Main.HelpView"):new(MJWanFa.ruleText) view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) -- local sprite=MJAnimationCompnent.CreateOperareEffect(MJDefine.MJOperateType.OPREATE_PENG) -- self:addChild(sprite) -- sprite:setPosition(640,360) end --设置 function MJMainView:OnClickSet() playBtnEffect() local view = import("luaScript.Views.Main.MainSettingView"):new() view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end --战绩 function MJMainView:OnClickButtonZhanJi() playBtnEffect() --showTooltip("敬请期待!") local view = import("mj.luaScript.Views.Zhanji.MJZhanJiView"):new(); view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end --房间列表 function MJMainView:OnClickList() playBtnEffect() local view = import("mj.luaScript.Views.Main.MJRoomListView"):new(); view:setAnchorPoint(cc.p(0.5, 0.5)) app:showWaitDialog(view) end -- 初始化公告 function MJMainView:initNotice() self.index = 0 --[[self.noticeTimer = cc.Director:getInstance():getScheduler():scheduleScriptFunc(function() local list = self.ui.Items.PageView:getPages() local max = table.nums(list) self.index = self.index + 1 if self.index >= max then self.index = 0 end self.ui.Items.PageView:scrollToPage(self.index) end,3.0,false)--]] -- 公告内容模板 self.templatePage = self.ui.Items.Layout_PageItem self.templatePage:setVisible(false) -- 公告圆点 self.templateDian = self.ui.Items.Layout_DianItem self.templateDian:setVisible(false) -- 清空 local uiPageView = self.ui.Items.PageView local uiLayoutDian = self.ui.Items.Layout_Dian uiPageView:removeAllChildren() uiLayoutDian:removeAllChildren() local function createNoticeItem(imageName) local uiItem = self.templatePage:getCopied() uiItem.Items = getUIItems(uiItem) dump(app.php.daili) local dailis=app.php.daili[app.gameId] or app.php.daili[-1] or {} local text="" for k,v in pairs(dailis) do if text=="" then text=v else text=text..","..v end end uiItem.Items.Text_WeiXinId:setString(text) --[[ local texture = loadTextureFromFile(imageName) if texture then uiItem:loadTextures(texture) end --]] return uiItem end local function createDianItem() local uiItem = self.templateDian:getCopied() uiItem.Items = getUIItems(uiItem) uiItem.setSelected = function(bSelected) uiItem.Items.ImageView_DianD:setVisible(bSelected) end uiItem.setSelected(false) return uiItem end -- 所有的原点 local ttDian = {} -- 监听滑动事件 uiPageView:addEventListener(function() local idxPage = uiPageView:getCurPageIndex() logD(idxPage) self.index = idxPage local idxDian = tonumber(idxPage) + 1 for k,v in pairs(ttDian) do v.setSelected(tonumber(k) == tonumber(idxDian)) end end) -- 加载公告 for i = 1,1 do local uiNoticePage = createNoticeItem("") uiPageView:addPage(uiNoticePage) local uiDian = createDianItem() uiLayoutDian:addChild(uiDian) ttDian[i] = uiDian end -- 默认选中第一个 if table.nums(ttDian) > 0 then ttDian[1].setSelected(true) end end function MJMainView:onExit() MJMainView.super.onExit(self) if self.noticeTimer then cc.Director:getInstance():getScheduler():unscheduleScriptEntry(self.noticeTimer) end stopBGMusic() -- MJFramework.Clean() end -- 初始化游戏版本信息 function MJMainView:initVersion() if isReviewVersion() then self.ui.Items.Layout_Version:setVisible(false) return end self.ui.Items.Text_Type:setVisible(isDebug()) local mjInfo = require("mj.luaScript.MJVersion") local versionInfo = MJFramework.MJImport("mj.luaScript.MJVersion")--require("HongZhongVersion") self.ui.Items.Text_Version:setText("Res.v."..mjInfo.ResourceVersion.."."..versionInfo.ResourceVersion) end return MJMainView