local BaseTips = require "app/ui/tips/base_tips"
local FundRewardUI = class("FundRewardUI", BaseTips)
--fund_reward_ui FundRewardUI
local REWARD_BOX_CELL = "app/ui/tips/cell/reward_box_cell"

function FundRewardUI:ctor(params)
	self.params = params or {}
    self.params.txTitle = self.params.txTitle
    self.params.giftIds = self.params.giftIds
	self.params.rewards = params.rewards or {}
    self.params.func = params.func
end

function FundRewardUI:getPrefabPath()
	return "assets/prefabs/ui/fund/fund_reward_ui.prefab"
end

function FundRewardUI:setRootUI(ui)
    self.parentUI = ui
end

function FundRewardUI:onLoadRootComplete()
    local uiMap = self.root:genAllChildren()
    self.btnCloseMask = uiMap["fund_reward_ui.btn_close_mask"]
    self.content = uiMap["fund_reward_ui.content"]
    self.txTitle = uiMap["fund_reward_ui.content.tx_title"]
    self.btnClose = uiMap["fund_reward_ui.content.btn_close"]
    self.imgArt = uiMap["fund_reward_ui.content.img_art"]
    self.imgProg = uiMap["fund_reward_ui.content.img_art.img_prog"]
    self.txPro = uiMap["fund_reward_ui.content.img_art.img_prog.tx_pro"]
    self.scrollrect = uiMap["fund_reward_ui.content.img_art.scrollrect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
    self.btnBuy = uiMap["fund_reward_ui.content.btn_buy"]
    self.txDescBuy = uiMap["fund_reward_ui.content.btn_buy.tx_desc_buy"]

    if self.params.giftIds ~= nil then
        local gift = ConfigManager:getConfig("act_gift")[self.params.giftIds]
        if gift ~= nil then
            self.txDescBuy:setText(GFunc.getFormatPrice(gift.recharge_id))
            self.txPro:setText(gift.value .. "%")
        end
        self.btnBuy:setVisible(true)
        self.imgProg:setVisible(true)
    else
        self.imgProg:setVisible(false)
        self.btnBuy:setVisible(false)
    end
    self.txTitle:setText(self.params.txTitle)

    self.btnBuy:addClickListener(function()
        if self.params.func ~= nil then
            self.params.func()
        end
        self:closeUI()
    end)

    self.btnCloseMask:addClickListener(function()
        self:closeUI()
    end)
    self.btnClose:addClickListener(function()
        self:closeUI()
    end)

    local count = #self.params.rewards
    if count <= 5 then
        uiMap["fund_reward_ui.content.img_art.scrollrect"]:setAnchoredPositionY(-191)
    else
        uiMap["fund_reward_ui.content.img_art.scrollrect"]:setAnchoredPositionY(-128)
    end

    self.scrollrect:addInitCallback(function()
        return GConst.TYPEOF_LUA_CLASS.REWARD_CELL
    end)
    self.scrollrect:addRefreshCallback(function(index, cell)
        cell:refreshByConfig(self.params.rewards[index])
    end)
    if self.scrollrect:getTotalCount() == #self.params.rewards then
        self.scrollrect:updateAllCell()
    else
        self.scrollrect:refillCells(#self.params.rewards)
    end
end

return FundRewardUI