144 lines
3.7 KiB
Lua
144 lines
3.7 KiB
Lua
local RateUI = class("RateUI", BaseUI)
|
|
|
|
local COLOR = BF.Color(1, 1, 1, 1)
|
|
|
|
local BTN_ICON = {
|
|
"common_btn_green_2",
|
|
"common_btn_grey_2"
|
|
}
|
|
|
|
function RateUI:isFullScreen()
|
|
return false
|
|
end
|
|
|
|
function RateUI:showCommonBG()
|
|
return false
|
|
end
|
|
|
|
function RateUI:getPrefabPath()
|
|
return "assets/prefabs/ui/setting/rate_ui.prefab"
|
|
end
|
|
|
|
function RateUI:ctor()
|
|
self.curStar = 0
|
|
end
|
|
|
|
function RateUI:onClose()
|
|
if self.starSeq then
|
|
self.starSeq:Kill()
|
|
self.starSeq = nil
|
|
end
|
|
end
|
|
|
|
function RateUI:onLoadRootComplete()
|
|
self:_display()
|
|
self:_addListeners()
|
|
end
|
|
|
|
function RateUI:_display()
|
|
local uiMap = self.root:genAllChildren()
|
|
|
|
uiMap["rate_ui.bg.desc_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.RATE_DESC_1))
|
|
uiMap["rate_ui.later_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.RATE_DESC_2))
|
|
|
|
if not self.stars then
|
|
self.stars = {}
|
|
for i = 1, 5 do
|
|
self.stars[i] = {
|
|
touchNode = uiMap["rate_ui.bg.bg_" .. i],
|
|
star = uiMap["rate_ui.bg.bg_" .. i .. ".star"]
|
|
}
|
|
self.stars[i].star:setVisible(true)
|
|
end
|
|
end
|
|
|
|
self:onClickStar(0)
|
|
end
|
|
|
|
function RateUI:_addListeners()
|
|
local uiMap = self.root:genAllChildren()
|
|
|
|
uiMap["rate_ui.bg.bg_1"]:addClickListener(function()
|
|
self:onClickStar(1)
|
|
end)
|
|
|
|
uiMap["rate_ui.bg.bg_2"]:addClickListener(function()
|
|
self:onClickStar(2)
|
|
end)
|
|
|
|
uiMap["rate_ui.bg.bg_3"]:addClickListener(function()
|
|
self:onClickStar(3)
|
|
end)
|
|
|
|
uiMap["rate_ui.bg.bg_4"]:addClickListener(function()
|
|
self:onClickStar(4)
|
|
end)
|
|
|
|
uiMap["rate_ui.bg.bg_5"]:addClickListener(function()
|
|
self:onClickStar(5)
|
|
end)
|
|
|
|
uiMap["rate_ui.bg.btn"]:addClickListener(function()
|
|
if self.curStar <= 0 then
|
|
return
|
|
end
|
|
|
|
BIReport:postRateClose(self.curStar)
|
|
self:closeUI()
|
|
|
|
if self.curStar > 3 then
|
|
local url = "https://play.google.com/store/apps/details?id=com.combo.heroes.puzzle.rpg"
|
|
if Platform:isIosPlatform() then
|
|
url = "https://itunes.apple.com/app/6450101181"
|
|
end
|
|
GFunc.openUrl(url)
|
|
end
|
|
end)
|
|
|
|
uiMap["rate_ui.later_tx"]:addClickListener(function()
|
|
self:closeUI()
|
|
end)
|
|
BIReport:postRateOpen()
|
|
end
|
|
|
|
function RateUI:onClickStar(star)
|
|
self.curStar = star
|
|
for index, starInfo in ipairs(self.stars) do
|
|
starInfo.star:setVisible(index <= star)
|
|
end
|
|
|
|
local uiMap = self.root:genAllChildren()
|
|
local icon = BTN_ICON[1]
|
|
|
|
local btnTx = uiMap["rate_ui.bg.btn.ok_tx"]
|
|
local btnTxGray = uiMap["rate_ui.bg.btn.ok_tx_gray"]
|
|
if self.curStar <= 0 then
|
|
icon = BTN_ICON[2]
|
|
btnTx:setText(GConst.EMPTY_STRING)
|
|
btnTxGray:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_OK))
|
|
else
|
|
btnTx:setText(I18N:getGlobalText(I18N.GlobalConst.BTN_TEXT_OK))
|
|
btnTxGray:setText(GConst.EMPTY_STRING)
|
|
end
|
|
local btn = uiMap["rate_ui.bg.btn"]
|
|
btn:setSprite(GConst.ATLAS_PATH.COMMON, icon)
|
|
btn:setTouchEnable(self.curStar > 0)
|
|
|
|
if self.starSeq then
|
|
self.starSeq:Kill()
|
|
self.starSeq = nil
|
|
end
|
|
|
|
self.stars[1].star:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_IMAGE).color = COLOR
|
|
if self.curStar > 0 then
|
|
return
|
|
else
|
|
self.starSeq = self.root:createBindTweenSequence()
|
|
self.stars[1].star:setVisible(true)
|
|
self.starSeq:Append(self.stars[1].star:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_IMAGE):DOFade(0, 1))
|
|
self.starSeq:Append(self.stars[1].star:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_IMAGE):DOFade(1, 1))
|
|
self.starSeq:SetLoops(-1)
|
|
end
|
|
end
|
|
|
|
return RateUI |