--电池信号 local RoomSinglePowerComponent = class("RoomSinglePowerComponent") function RoomSinglePowerComponent:ctor(sigleImg,powerLoadbar) -- if not isSupportVersion(121) then -- showTooltip("该版本不支持电池信号显示") -- return -- end self.sigleImg = sigleImg self.powerLoadbar = powerLoadbar if sigleImg and not tolua.isnull(sigleImg) then -- sigleImg:setVisible(false) self:updateSingle() end if powerLoadbar and not tolua.isnull(powerLoadbar) then self:updatePower() end end --更新信号 function RoomSinglePowerComponent:updateSingle() local isAndroid = isAndroidPlatform() local function update(ret) local level = 3 -- if isAndroid then --安卓 -- level = getSingleLevel() -- level = level>3 and 3 or level -- logD("updateSingle:"..level) -- else local ms = tonumber(ret) or 300 if ms<=100 then level = 3 elseif ms>100 and ms<=150 then level = 2 elseif ms>150 and ms<=200 then level = 1 else level = 0 end logD("updateSingle:"..level.." "..ms.."ms") -- end if self.sigleImg and not tolua.isnull(self.sigleImg) then self.sigleImg:loadTexture("fangjian2_room_sigle_"..level..".png", cc.TextureResType.plistType) end end update(1) local t = isAndroid and 2 or 10 if isAndroid then app.plugin:startPing() end self.sigleImg:runAction(cc.RepeatForever:create(cc.Sequence:create(cc.DelayTime:create(t),cc.CallFunc:create(function () if isAndroid then update(app.plugin:getPing()) logD("isAndroid updateSingle") else logD("isIos updateSingle") ping(update) end end)))) end --更新电量 function RoomSinglePowerComponent:updatePower() local function update() local power = getPowerLevel() logD("updatePower:"..power) if self.powerLoadbar and not tolua.isnull(self.powerLoadbar) then self.powerLoadbar:setPercent(power) end end -- update() --第一次2秒获取一次 因为电量为广播获取 存在延迟 self.powerLoadbar:runAction(cc.Sequence:create(cc.DelayTime:create(2),cc.CallFunc:create(function () update() end))) self.powerLoadbar:runAction(cc.RepeatForever:create(cc.Sequence:create(cc.DelayTime:create(30),cc.CallFunc:create(function () update() end)))) end function RoomSinglePowerComponent:exit() if isAndroidPlatform() then app.plugin:stopPing() end end return RoomSinglePowerComponent;