local MainRightPanelView = { -- 查看记录 onLogCallback = nil } local M = MainRightPanelView local function __init(self, mainView, view) local right_panel = view local btn_setting = right_panel:GetChild('btn_setting') btn_setting.onClick:Set( function() local _settingView = mainView:NewSettingView() _settingView.stateIndex = (mainView._room.curren_round >= 1 and mainView._allow_dissmiss) and 2 or 1 _settingView.cd_time = mainView.dismiss_room_cd_time _settingView:Show() local room = DataManager.CurrenRoom _settingView.onCallback:Add( function(context) local _gamectr = ControllerManager.GetController(GameController) if (room.CurnrenState == StateType.Ready) then _gamectr:LevelRoom( function(response) if (response.ReturnCode == 0) then ViewManager.ChangeView(ViewManager.View_Lobby) GameApplication.Instance:ShowTips('房间已解散!') end end ) else _gamectr:AskDismissRoom() end end ) end ) self._tex_data = right_panel:GetChild('tex_data') self._tex_time = right_panel:GetChild('tex_time') self._pb_batteryLevel = right_panel:GetChild('pb_batteryLevel') self._xinhao = right_panel:GetController('xinhao') self.ctr_xh = right_panel:GetChild('gcm_xinhao'):GetController('c1') self.ctr_wifi = right_panel:GetChild('gcm_wifi'):GetController('c1') self._tex_ping = right_panel:GetChild('gcm_xinhao'):GetChild('n7') self.ctr_log = right_panel:GetController('log') local btn_log = right_panel:GetChild('btn_log') btn_log.onClick:Set( function() if self.onLogCallback then self.onLogCallback() end end ) self._total_time = 0 self:__UpdateTime() -- self._timer = Timer.New(handler(self,self.__UpdateTime),10,-1,true) -- self._timer:Start() end --- Create a new MainRightPanelView function MainRightPanelView.new(mainView, view) local self = setmetatable({}, {__index = M}) self.class = 'MainRightPanelView' -- 显示选项,1是正常,2的ping没有括号 self._opt = 1 __init(self, mainView, view) return self end function M:__UpdateTime() if self._total_time >= 10 then self._total_time = 0 else return end self:_ShowTime() end function M:_ShowTime() self._tex_data.text = os.date('%Y-%m-%d') self._tex_time.text = os.date('%H:%M') if Application.platform == RuntimePlatform.IPhonePlayer or Application.platform == RuntimePlatform.Android then self._pb_batteryLevel.value = GameApplication.Instance:GetBatteryLevel() end local NetworkReachability = UnityEngine.NetworkReachability local _client = ControllerManager.GameNetClinet if not _client then return end local ping = _client:getAveragePingTime() if not ping then return end ping = math.floor(ping / 2) if ping > 300 then ping = 300 end if ping <= 100 then self.ctr_xh.selectedIndex = 0 elseif ping <= 300 then self.ctr_xh.selectedIndex = 1 else self.ctr_xh.selectedIndex = 2 end local str_ping = '(' .. ping .. 'ms)' if self._opt == 2 then str_ping = ping .. 'ms' end self._tex_ping.text = str_ping end -- function M:OnUpdate(deltaTime) self:__UpdateTime() self._total_time = self._total_time + deltaTime end function M:Destroy() -- self._timer:Stop() end return M