RankExprieRewardInfo.lua 2.44 KB
cc.exports.RankExprieRewardInfo = {}

local xml = require("core.utils.pl.xml")

local rewardMap = {};

local function init()
    local configStr = cc.FileUtils:getInstance():getStringFromFile("res/config/rank_exprie_reward.xml");
    local data = xml.parse(configStr, false, true);

    for i,v in pairs(data) do
        if v.tag == "type" then
            local rewardList = rewardMap[v.attr.id];
            if not rewardList then
                rewardList = {};
                rewardMap[v.attr.id] = rewardList;
            end
            for ii,vv in pairs(v) do
                if vv.tag == "data" then
                    local rewardInfo = {};
                    rewardInfo.start_time = tonumber(vv.attr.timeBegin);
                    rewardInfo.end_time = tonumber(vv.attr.timeEnd);
                    rewardInfo.list = {};
                    for iii,vvv in pairs(vv) do
                        if vvv.tag == "reward" then
                            local info = {};
                            info.noBegin = tonumber(vvv.attr.noBegin);
                            info.noEnd = tonumber(vvv.attr.noEnd);
                            info.item = vvv.attr.item;
                            rewardInfo.list[#rewardInfo.list+1] = info;
                        end
                    end
                    table.sort(rewardInfo.list,function (aa,bb)
                        return aa.noBegin<bb.noBegin;
                    end);
                    rewardList[#rewardList+1] = rewardInfo;
                end
            end
        end
    end
end
init();

--获取当前正在进行中的斗地主周排行奖励信息
function RankExprieRewardInfo.getDdzExprieRewardListByTime(_time)
    local rewardInfo = nil;
    if rewardMap["13"] then
        local rankList = rewardMap["13"];
        for i,v in ipairs(rankList) do
            if _time >= v.start_time and _time <= v.end_time then
                rewardInfo = v;
                break;
            end
        end
    end
    return rewardInfo;
end

--获取当前正在进行中的麻将周排行奖励信息
function RankExprieRewardInfo.getMjExprieRewardListByTime(_time)
    local rewardInfo = nil;
    if rewardMap["14"] then
        local rankList = rewardMap["14"];
        for i,v in ipairs(rankList) do
            if _time >= v.start_time and _time <= v.end_time then
                rewardInfo = v;
                break;
            end
        end
    end
    return rewardInfo;
end

return RankExprieRewardInfo