diff --git a/lua_probject/base_project/Game/Controller/Broadcast.lua b/lua_probject/base_project/Game/Controller/Broadcast.lua new file mode 100644 index 00000000..a3631193 --- /dev/null +++ b/lua_probject/base_project/Game/Controller/Broadcast.lua @@ -0,0 +1,44 @@ +Broadcast = {} +local _events = {} + +function Broadcast.AddListener(eventName, Func, Obj) + if _events[eventName] == nil then + _events[eventName] = {} + end + local event = _events[eventName] + event[#event + 1] = { + func = Func, + obj = Obj + } +end + +function Broadcast.RemoveListener(eventName, func) + local event = _events[eventName] + if event == nil then + return + end + + for _, e in pairs(event) do + if e.func == func then + event[_] = nil + return + end + end +end + +function Broadcast.Send(eventName, ...) + local event = _events[eventName] + if event == nil then + return + end + + for _, e in pairs(event) do + e.func(e.obj, ...) + end +end + +BroadcastEvent = { + + OnJoinsChange = 'OnJoinsChange' +} + diff --git a/lua_probject/base_project/Game/View/EXsettingView.lua b/lua_probject/base_project/Game/View/EXsettingView.lua new file mode 100644 index 00000000..51905481 --- /dev/null +++ b/lua_probject/base_project/Game/View/EXsettingView.lua @@ -0,0 +1,98 @@ +--设置窗口对象 + +local EXSettingView = {} + +local M = EXSettingView +setmetatable(M, { __index = BaseWindow }) + +function EXSettingView:Show(room) + self._room = room + + -- 房主,第一个进房间的人 + local roomOwner = self._room.player_list[1].self_user.account_id + + if roomOwner == DataManager.SelfUser.account_id then + self.cBtn.selectedIndex = 1 + else + self.cBtn.selectedIndex = 0 + end + + BaseWindow.Show(self) +end + +function EXSettingView.new(main_view, flag_witness) + local self = setmetatable({}, { __index = M }) + self.class = 'EXSettingView' + self._close_destroy = true + self._mainView = main_view + self._flag_witness = flag_witness + self:init('ui://Main_Majiang/Setting') + return self +end + +function M:init(url) + BaseWindow.init(self, url) + + local view = self._view + local slider_sound = view:GetChild('slider_vedio_sound') + local slider_music = view:GetChild('slider_vedio_music') + local btn_music = view:GetChild('btn_vedio_music') + local btn_sound = view:GetChild('btn_vedio_sound') + + self.cBtn = self._view:GetController('cBtn') + + -- slider_sound.value = GameApplication.Instance.SoundValue + -- slider_music.value = GameApplication.Instance.MusicValue + + slider_music.onChanged:Add(function() + -- GameApplication.Instance.MusicValue = slider_music.value + -- btn_music.selected = false + -- GameApplication.Instance.MusicMute = false; + end) + + slider_sound.onChanged:Add(function() + -- GameApplication.Instance.SoundValue = slider_sound.value + -- btn_sound.selected = false + -- GameApplication.Instance.SoundMute = false; + end) + + btn_sound.onClick:Add(function() + -- GameApplication.Instance.SoundMute = btn_sound.selected; + end) + + btn_music.onClick:Add(function() + -- GameApplication.Instance.MusicMute = btn_music.selected; + end) + + local _btn_logout = self._view:GetChild('btn_cancelRoom') + _btn_logout.onClick:Set(function() + if self._flag_witness then + local _room = DataManager.CurrenRoom + pt(_room) + self._mainView._gamectr:ExitWitnessGame(_room.play_id, _room.game_id, + _room.room_id) + ViewManager.ChangeView(ViewManager.View_Family) + else + if self._mainView.dismiss_room_cd_time > 0 then + ViewUtil.ErrorTip(nil, "您还处于解散冷却时间当中,请稍后重试!") + else + local _gamectr = ControllerManager.GetController(GameController) + _gamectr:AskDismissRoom() + end + end + end) + + self._view:GetChild("btn_closeRoom").onClick:Set(function() + local _gamectr = ControllerManager.GetController(GameController) + _gamectr:LevelRoom(function(res) + print("退出房间") + if res.ReturnCode ~= 0 then + ViewUtil.ErrorTip(res.ReturnCode) + return + end + ViewManager.ChangeView(ViewManager.View_Family) + end) + end) +end + +return M diff --git a/lua_probject/base_project/Game/View/WitnessView.lua b/lua_probject/base_project/Game/View/WitnessView.lua new file mode 100644 index 00000000..9086275c --- /dev/null +++ b/lua_probject/base_project/Game/View/WitnessView.lua @@ -0,0 +1,27 @@ +local MJSettingView = require("main.majiang.MJSettingViewNew") +local TableBG = require("Game.Data.TableBG") + +local bg_config = { + { id = 1, url = "base/main_majiang/bg/bg1", thumb = "ui://Main_Majiang/b01" }, + { id = 2, url = "base/main_majiang/bg/bg2", thumb = "ui://Main_Majiang/b02" }, + { id = 3, url = "base/main_majiang/bg/bg3", thumb = "ui://Main_Majiang/b03" }, + { id = 3, url = "base/main_majiang/bg/bg4", thumb = "ui://Main_Majiang/b04" } +} + +local WitnessView = {} +setmetatable(WitnessView, { __index = BaseView }) +function WitnessView:init() + self.btn_setting = self._view:GetChild("btn_setting") + + self.btn_setting.onClick:Set(function() + local view = MJSettingView.new(self, true) + view:Show() + end) +end + +function WitnessView:InitView() + local default_bg = 1 + TableBG.LoadTableBG(default_bg, self._room.game_id, self._root_view, bg_config) +end + +return WitnessView \ No newline at end of file diff --git a/wb_new_ui/assets/Main_Majiang/Main_new/Component/com_logo.xml b/wb_new_ui/assets/Main_Majiang/Main_new/Component/com_logo.xml new file mode 100644 index 00000000..8284113a --- /dev/null +++ b/wb_new_ui/assets/Main_Majiang/Main_new/Component/com_logo.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/wb_new_ui/assets/Main_Majiang/Main_new/Image/121.png b/wb_new_ui/assets/Main_Majiang/Main_new/Image/121.png new file mode 100644 index 00000000..733e4942 Binary files /dev/null and b/wb_new_ui/assets/Main_Majiang/Main_new/Image/121.png differ diff --git a/wb_new_ui/assets/Main_Majiang/Main_new/Image/122.png b/wb_new_ui/assets/Main_Majiang/Main_new/Image/122.png new file mode 100644 index 00000000..a06538b4 Binary files /dev/null and b/wb_new_ui/assets/Main_Majiang/Main_new/Image/122.png differ diff --git a/wb_new_ui/assets/Main_Majiang/Main_new/Image/123.png b/wb_new_ui/assets/Main_Majiang/Main_new/Image/123.png new file mode 100644 index 00000000..6eab1cda Binary files /dev/null and b/wb_new_ui/assets/Main_Majiang/Main_new/Image/123.png differ diff --git a/wb_new_ui/assets/Main_Majiang/Main_new/Image/124.png b/wb_new_ui/assets/Main_Majiang/Main_new/Image/124.png new file mode 100644 index 00000000..bebdc2af Binary files /dev/null and b/wb_new_ui/assets/Main_Majiang/Main_new/Image/124.png differ diff --git a/wb_new_ui/assets/Main_Majiang/Main_new/Image/125.png b/wb_new_ui/assets/Main_Majiang/Main_new/Image/125.png new file mode 100644 index 00000000..a00b2750 Binary files /dev/null and b/wb_new_ui/assets/Main_Majiang/Main_new/Image/125.png differ diff --git a/wb_new_ui/assets/Main_Majiang/Main_new/Image/126.png b/wb_new_ui/assets/Main_Majiang/Main_new/Image/126.png new file mode 100644 index 00000000..6aeeb1fc Binary files /dev/null and b/wb_new_ui/assets/Main_Majiang/Main_new/Image/126.png differ diff --git a/wb_new_ui/assets/Main_Majiang/Main_new/Image/127.png b/wb_new_ui/assets/Main_Majiang/Main_new/Image/127.png new file mode 100644 index 00000000..ea8e1f20 Binary files /dev/null and b/wb_new_ui/assets/Main_Majiang/Main_new/Image/127.png differ diff --git a/wb_new_ui/assets/Main_Majiang/Main_new/Image/132.png b/wb_new_ui/assets/Main_Majiang/Main_new/Image/132.png new file mode 100644 index 00000000..db83ff83 Binary files /dev/null and b/wb_new_ui/assets/Main_Majiang/Main_new/Image/132.png differ diff --git a/wb_new_ui/assets/Main_Majiang/Main_new/Image/dismiss1.png b/wb_new_ui/assets/Main_Majiang/Main_new/Image/dismiss1.png new file mode 100644 index 00000000..5ac6dc14 Binary files /dev/null and b/wb_new_ui/assets/Main_Majiang/Main_new/Image/dismiss1.png differ diff --git a/wb_new_ui/assets/Main_Majiang/Main_new/Main/Component/btn_vipCancel.xml b/wb_new_ui/assets/Main_Majiang/Main_new/Main/Component/btn_vipCancel.xml new file mode 100644 index 00000000..10f9838d --- /dev/null +++ b/wb_new_ui/assets/Main_Majiang/Main_new/Main/Component/btn_vipCancel.xml @@ -0,0 +1,10 @@ + + + + + + + + +