------------------------------------------------ --作者: 杨全福 --日期: 2019-04-19 --文件: StarCopyMapData.lua --模块: StarCopyMapData --描述: 星级副本数据,根据星级获得奖励 ------------------------------------------------ local CopyMapBaseData = require("Logic.CopyMapSystem.CopyMapBaseData") --构造函数 local StarCopyMapData = { --当前已通关次数 JionCount = 0, --剩余的免费次数 FreeCount = 0, --剩余的购买过的次数 VIPCount = 0, --还可以购买的次数 CanBuyCount = 0, --是否合并次数 MergeCount = false, --是否自动购买 AutoBuy = false, } function StarCopyMapData:New(cfgData) local _n = Utils.DeepCopy(self); local _mn = setmetatable(_n, {__index = CopyMapBaseData:New(cfgData)}); return _mn; end --解析基础数据 function StarCopyMapData:ParseBaseMsg(msg) end --解析副本数据 function StarCopyMapData:ParseMsg(msg) self:ParseCountData(msg) self.MergeCount = msg.mergeCount; self.AutoBuy = msg.autoBuy; end --解析次数数据 function StarCopyMapData:ParseCountData(msg) --已参与次数 self.JionCount = msg.maxCount - msg.remainCount --总的免费次数 local _allFreeCount = msg.maxCount - msg.buyCount if self.JionCount > _allFreeCount then --参与次数大于总的免费次数,表示免费次数已经用完 self.FreeCount = 0 self.VIPCount = msg.remainCount else --参与次数小于总的免费次数,表示还有免费次数 self.FreeCount = _allFreeCount - self.JionCount self.VIPCount = msg.buyCount end self.CanBuyCount = msg.canBuyCount end return StarCopyMapData