You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

182 lines
6.4 KiB

  1. local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
  2. local MJSound = MJFramework.MJImport("mj.luaScript.MJSound")
  3. local MJFunction = MJFramework.MJImport("mj.luaScript.MJFunction")
  4. local MJRoomSettingView = MJFramework.MJFrameworkClassImprot("mj.luaScript.Views.Room.MJRoomSettingView")
  5. local luzhouguiRoomSettingView = class("luzhouguiRoomSettingView", MJRoomSettingView)
  6. local CheckBox_Nor_Color = cc.c4b(21,99,97,255)
  7. local CheckBox_Sel_Color = cc.c4b(213,46,11,255)
  8. function luzhouguiRoomSettingView:ctor()
  9. luzhouguiRoomSettingView.super.ctor(self);
  10. end
  11. function luzhouguiRoomSettingView:onEnter()
  12. luzhouguiRoomSettingView.super.onEnter(self)
  13. end
  14. --按钮事件
  15. function luzhouguiRoomSettingView:initButton()
  16. -- 关闭
  17. self.ui.Items.Button_Close:registerClick(handler(self , self.onClickClose))
  18. --音乐
  19. self.ui.Items.Layout_Music:registerClick(handler(self , self.onClickMusic))
  20. --音效
  21. self.ui.Items.Layout_Effect:registerClick(handler(self , self.onClickEffect))
  22. --道具
  23. self.ui.Items.Layout_Prop:registerClick(handler(self , self.onClickProp))
  24. --语音
  25. self.ui.Items.Layout_Voice:registerClick(handler(self , self.onClickVoice))
  26. -- self.languageRadioManager = import("luaScript.Tools.RadioManager"):new()
  27. self.viewTypeRadioManager = import("luaScript.Tools.RadioManager"):new()
  28. self.bg3dRadioManager = import("luaScript.Tools.RadioManager"):new()
  29. self.bg2dRadioManager = import("luaScript.Tools.RadioManager"):new()
  30. self.mj2dTypeRadioManager = import("luaScript.Tools.RadioManager"):new()
  31. --视图类型
  32. self.viewTypeRadioManager:addItem(self.ui.Items.CheckBox_3D, MJDefine.DesktopType.ThreeD)
  33. self.viewTypeRadioManager:addItem(self.ui.Items.CheckBox_2D, MJDefine.DesktopType.TwoD)
  34. self.viewTypeRadioManager:setDefault(app.systemSetting.info.viewType)
  35. self.viewTypeRadioManager:setCallback(function (value)
  36. if self.isFobidChangeDesktop then
  37. showTooltip("操作太频繁,请稍候再试!")
  38. return
  39. end
  40. self:setCheckBox_3DEnable(false)
  41. self:setCheckBox_2DEnable(false)
  42. app.systemSetting.info.viewType = value
  43. app.systemSetting:save()
  44. --showTooltip("设置将在下一局生效!")
  45. self:updateBGRaidoEnable()
  46. app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewType,desktopType = value})
  47. self.isFobidChangeDesktop = true
  48. self:runDelay(1.0, function ()
  49. self.isFobidChangeDesktop = false
  50. self:setCheckBox_3DEnable(true)
  51. self:setCheckBox_2DEnable(true)
  52. end)
  53. end)
  54. --3D背景
  55. self.bg3dRadioManager:addItem(self.ui.Items.CheckBox_3D_1, 1)
  56. self.bg3dRadioManager:addItem(self.ui.Items.CheckBox_3D_2, 2)
  57. self.bg3dRadioManager:addItem(self.ui.Items.CheckBox_3D_3, 3)
  58. local mj_desktop_3d_bg = tonumber(loadUserInfo("mj_desktop_3d_bg")) or 1
  59. self.bg3dRadioManager:setDefault(mj_desktop_3d_bg)
  60. self:updateBG(MJDefine.DesktopType.ThreeD,mj_desktop_3d_bg)
  61. self.bg3dRadioManager:setCallback(function (value)
  62. self:updateBG(MJDefine.DesktopType.ThreeD,value)
  63. saveUserInfo("mj_desktop_3d_bg", value)
  64. if app.systemSetting.info.viewType == MJDefine.DesktopType.ThreeD then
  65. app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewBG})
  66. else
  67. showTooltip("当前选项不是透视场景!")
  68. end
  69. end)
  70. --2D视图麻将牌类型
  71. self.mj2dTypeRadioManager:addItem(self.ui.Items.CheckBox_2D_MJ, MJDefine.DesktopType.TwoD)
  72. self.mj2dTypeRadioManager:addItem(self.ui.Items.CheckBox_2D_MJ_Gold, MJDefine.DesktopType.TwoDGold)
  73. local mj_desktop_2d_mjType = loadUserInfo("mj_desktop_2d_mjType") or MJDefine.DesktopType.TwoD
  74. self.mj2dTypeRadioManager:setDefault(mj_desktop_2d_mjType)
  75. self.mj2dTypeRadioManager:setCallback(function (value)
  76. if self.isFobidChangeDesktop then
  77. showTooltip("操作太频繁,请稍候再试!")
  78. return
  79. end
  80. self:setCheckBox_2D_MJEnable(false)
  81. self:setCheckBox_2D_MJ_GoldEnable(false)
  82. saveUserInfo("mj_desktop_2d_mjType", value)
  83. local mj_desktop_2d_bg = tonumber(loadUserInfo("mj_desktop_2d_bg")) or 1
  84. self:updateBG(MJDefine.DesktopType.TwoD,mj_desktop_2d_bg)
  85. if app.systemSetting.info.viewType == MJDefine.DesktopType.TwoD then
  86. --showTooltip("设置将在下一局生效!")
  87. app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewType,desktopType = value})
  88. else
  89. showTooltip("当前选项不是平面场景!")
  90. end
  91. self.isFobidChangeDesktop = true
  92. self:runDelay(1.0, function ()
  93. self.isFobidChangeDesktop = false
  94. self:setCheckBox_2D_MJEnable(true)
  95. self:setCheckBox_2D_MJ_GoldEnable(true)
  96. end)
  97. end)
  98. --2D背景
  99. self.bg2dRadioManager:addItem(self.ui.Items.CheckBox_2D_1, 1)
  100. self.bg2dRadioManager:addItem(self.ui.Items.CheckBox_2D_2, 2)
  101. self.bg2dRadioManager:addItem(self.ui.Items.CheckBox_2D_3, 3)
  102. self.bg2dRadioManager:addItem(self.ui.Items.CheckBox_2D_4, 4)
  103. local mj_desktop_2d_bg = tonumber(loadUserInfo("mj_desktop_2d_bg")) or 1
  104. self.bg2dRadioManager:setDefault(mj_desktop_2d_bg)
  105. self:updateBG(MJDefine.DesktopType.TwoD,mj_desktop_2d_bg)
  106. self.bg2dRadioManager:setCallback(function (value)
  107. self:updateBG(MJDefine.DesktopType.TwoD,value)
  108. saveUserInfo("mj_desktop_2d_bg", value)
  109. if app.systemSetting.info.viewType == MJDefine.DesktopType.TwoD then
  110. app:dispatchEvent({name = MJDefine.MJEvent.ChangeViewBG})
  111. else
  112. showTooltip("当前选项不是平面场景!")
  113. end
  114. end)
  115. self:updateBGRaidoEnable()
  116. self:initLanguage()
  117. self:updateButton("Music",app.systemSetting.info.music)
  118. self:updateButton("Effect",app.systemSetting.info.sound)
  119. local voiceEnable = tonumber(loadUserInfo("voiceEnable")) or 1
  120. local propEnable = tonumber(loadUserInfo("propEnable")) or 1
  121. self:updateButton("Voice",voiceEnable==1)
  122. self:updateButton("Prop",propEnable==1)
  123. self.ui.Items.Layout_Prop:setVisible(not MJFunction.isPropFobided())
  124. self.ui.Items.Layout_Voice:setVisible(not MJFunction.isVoiceFobided())
  125. end
  126. function luzhouguiRoomSettingView:setCheckBox_3DEnable(able)
  127. self.ui.Items.CheckBox_3D:setTouchEnabled(able)
  128. self.ui.Items.Text:setTouchEnabled(able)
  129. self.ui.Items.ImageView_3D:setTouchEnabled(able)
  130. end
  131. function luzhouguiRoomSettingView:setCheckBox_2DEnable(able)
  132. self.ui.Items.CheckBox_2D:setTouchEnabled(able)
  133. self.ui.Items.Text_4:setTouchEnabled(able)
  134. self.ui.Items.ImageView_2D:setTouchEnabled(able)
  135. end
  136. function luzhouguiRoomSettingView:setCheckBox_2D_MJEnable(able)
  137. self.ui.Items.CheckBox_2D_MJ:setTouchEnabled(able)
  138. self.ui.Items.ImageView_3:setTouchEnabled(able)
  139. end
  140. function luzhouguiRoomSettingView:setCheckBox_2D_MJ_GoldEnable(able)
  141. self.ui.Items.CheckBox_2D_MJ_Gold:setTouchEnabled(able)
  142. self.ui.Items.ImageView_2:setTouchEnabled(able)
  143. end
  144. return luzhouguiRoomSettingView