|
- --电池信号
- 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;
|