// Learn TypeScript: // - https://docs.cocos.com/creator/2.4/manual/en/scripting/typescript.html // Learn Attribute: // - https://docs.cocos.com/creator/2.4/manual/en/scripting/reference/attributes.html // Learn life-cycle callbacks: // - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html import { ryw_Event } from "../../FrameWork/Event/EventEnum" import EventMgr from "../../FrameWork/Event/EventMgr" import User from "../../FrameWork/User/User" import Common5 from "../../Platform/th/Common5" import BagManager from "./BagManager" import JieDaoManager from "./JieDaoManager" // let zaocanConfig = [ // { id: 0, zaocan: ['馒头', '肉包', '烧卖', '红薯'], needLevel: [1, 5, 10, 20], initPrice: 100, jiacheng: [1, 2, 3, 4] }, // { id: 0, zaocan: ['馒头', '肉包', '烧卖', '红薯'], needLevel: [1, 5, 10, 20], initPrice: 100, jiacheng: [1, 2, 3, 4] }, // { id: 1, zaocan: ['鸡蛋', '茶叶蛋', '玉米', '西兰花'], needLevel: [1, 5, 10, 20], initPrice: 100, jiacheng: [1, 2, 3, 4] }, // { id: 2, zaocan: ['饺子', '韭菜盒子', '鸡蛋饼', '牛排'], needLevel: [1, 5, 10, 20], initPrice: 100, jiacheng: [1, 2, 3, 4] }, // { id: 3, zaocan: ['油条', '麻球', '油饼', '鸡腿'], needLevel: [1, 5, 10, 20], initPrice: 100, jiacheng: [1, 2, 3, 4] }, // { id: 4, zaocan: ['豆浆', '小米粥', '燕麦', '咖啡机'], needLevel: [1, 5, 10, 20], initPrice: 100, jiacheng: [1, 2, 3, 4] }, // ] let zaocanConfig = [ { id: 0, type: 0, zaocan: '馒头', needLevel: 1, jiacheng: 1 }, { id: 1, type: 1, zaocan: '鸡蛋', needLevel: 1, jiacheng: 1 }, { id: 3, type: 2, zaocan: '煎鸡蛋', needLevel: 1, jiacheng: 1 }, { id: 3, type: 3, zaocan: '油条', needLevel: 1, jiacheng: 1 }, { id: 4, type: 4, zaocan: '豆浆', needLevel: 1, jiacheng: 1 }, { id: 5, type: 0, zaocan: '肉包', needLevel: 250, jiacheng: 0.3 }, { id: 6, type: 1, zaocan: '茶叶蛋', needLevel: 300, jiacheng: 0.5 }, { id: 7, type: 2, zaocan: '韭菜盒子', needLevel: 350, jiacheng: 0.7 }, { id: 8, type: 3, zaocan: '麻球', needLevel: 400, jiacheng: 1 }, { id: 9, type: 4, zaocan: '小米粥', needLevel: 450, jiacheng: 1.5 }, { id: 10, type: 0, zaocan: '烧卖', needLevel: 500, jiacheng: 2 }, { id: 11, type: 1, zaocan: '玉米', needLevel: 550, jiacheng: 3 }, { id: 12, type: 2, zaocan: '葱油饼', needLevel: 600, jiacheng: 4 }, { id: 13, type: 3, zaocan: '油饼', needLevel: 650, jiacheng: 5 }, { id: 14, type: 4, zaocan: '燕麦粥', needLevel: 700, jiacheng: 7 }, { id: 15, type: 0, zaocan: '红薯', needLevel: 750, jiacheng: 8 }, { id: 16, type: 1, zaocan: '西兰花', needLevel: 800, jiacheng: 9 }, { id: 17, type: 2, zaocan: '牛排', needLevel: 900, jiacheng: 10 }, { id: 18, type: 3, zaocan: '鸡腿', needLevel: 1000, jiacheng: 12 }, { id: 19, type: 4, zaocan: '咖啡', needLevel: 1200, jiacheng: 15 }, ] let levelUpUnLockTanWei = [ { level: 0, unlock: '油条' }, { level: 50, unlock: '鸡蛋' }, { level: 100, unlock: '饺子' }, { level: 150, unlock: '豆浆' }, { level: 200, unlock: '馒头' }, ] //食谱 export default class ZaoCanManager { public static initManager() { let array = User.getzaoCanArray() if (array.length == 0) { //插入数据 let tempArray = [] for (let i = 0; i < zaocanConfig.length; i++) { let obj = { id: 0, isLock: true } obj.id = zaocanConfig[i].id obj.isLock = true //最开始0-4的五个默认早餐默认已解锁 if (obj.id <= 4) { obj.isLock = false } tempArray[tempArray.length] = obj } User.setzaoCanArray(tempArray) } else { } } public static getManagerConfigDate() { return zaocanConfig } /** * 剔除初始的5个早餐 * @returns */ public static getManagerConfigDateHaveJiaCheng() { let configs = [] for (let i = 5; i < zaocanConfig.length; i++) { configs.push(Common5.deepClone(zaocanConfig[i])) } return configs } /** * 获取所有已解锁的早餐加成 剔除初始的5个早餐 */ public static getAllZaoCanJiaCheng() { let jiacheng = 0 let getzaoCanArray = User.getzaoCanArray() for (let i = 5; i < getzaoCanArray.length; i++) { let obj = getzaoCanArray[i]; if (!obj.isLock) { //已解锁 jiacheng += zaocanConfig[i].jiacheng } } // 没有加成就是1倍加成 if (jiacheng == 0) { jiacheng = 1 } return jiacheng + 1 } /** * 根据id获取解锁状态,0是未解锁,1是待解锁,2是已解锁 */ public static getIsLockById(id) { let lockType = 0 let level = User.getMyLevel() let getzaoCanArray = User.getzaoCanArray() for (let i = 0; i < getzaoCanArray.length; i++) { let obj = getzaoCanArray[i]; if (obj.id == id && !obj.isLock) { lockType = 2 break } else if (obj.id == id && obj.isLock) { if (level >= zaocanConfig[i].needLevel) { lockType = 1 } else { lockType = 0 } break } } return lockType } /** * 解锁 */ public static setUnLock(id) { let lockType = this.getIsLockById(id) //是不是等待解锁的状态 if (lockType == 1) { let getzaoCanArray = User.getzaoCanArray() for (let i = 0; i < getzaoCanArray.length; i++) { let obj = getzaoCanArray[i]; if (id == obj.id) { obj.isLock = false break } } User.setzaoCanArray(getzaoCanArray) } } public static getDanJia() { let level = User.getMyLevel() let price = Math.ceil(35 * Math.pow(1.025, level - 1)) // let jiedaoJiacheng = JieDaoManager.getJieDaoBeiShu() // return Math.ceil(level * jiedaoJiacheng) return price } public static getLastDanJia() { let level = User.getMyLevel() - 1 let price = Math.ceil(35 * Math.pow(1.025, level - 1)) // let jiedaoJiacheng = JieDaoManager.getJieDaoBeiShu() // return Math.ceil(level * jiedaoJiacheng) return price } public static getCurNameByType(type) { let name let getzaoCanArray = User.getzaoCanArray() for (let i = 0; i < getzaoCanArray.length; i++) { let obj = getzaoCanArray[i]; if (zaocanConfig[i].type == type && !obj.isLock) { name = zaocanConfig[i].zaocan } } return name } public static getEffectUrlByType(type) { let name let getzaoCanArray = User.getzaoCanArray() let effectUrls = ['sound/蒸笼/放饺子', 'sound/煮锅/煮东西', 'sound/煎锅/煎东西', 'sound/油锅/油炸', 'sound/豆浆桶/盛东西'] for (let i = 0; i < getzaoCanArray.length; i++) { if (zaocanConfig[i].type == type) { name = effectUrls[i] break } } return name } public static getUnlockTanWei() { let level = User.getMyLevel() let unlocks = [] for (let i = 0; i < levelUpUnLockTanWei.length; i++) { if (level >= levelUpUnLockTanWei[i].level) { unlocks.push(levelUpUnLockTanWei[i].unlock) } } return unlocks } // public static getCurPriceById(id) { // let config = zaocanConfig[id] // let level = User.getMyLevel() // let price = config.initPrice + level // return price // } // public static getNextPriceById(id) { // let config = zaocanConfig[id] // let level = User.getMyLevel() + 1 // let price = config.initPrice + level // return price // } // public static isCanLevelUpById(id) { // let config = zaocanConfig[id] // let level = User.getMyLevel() + 1 // let isCan = false // for (let i = 0; i < config.needLevel.length; i++) { // let _needLevel = config.needLevel[i]; // if (level == _needLevel) { // isCan = true // } // } // return isCan // } // /** // * 获取所有已解锁的早餐加成 // */ // public static getAllZaoCanJiaCheng() { // let jiacheng = 0 // let level = User.getMyLevel() // for (let i = 0; i < zaocanConfig.length; i++) { // let _needLevel = zaocanConfig[i].needLevel // for (let j = 0; j < _needLevel.length; j++) { // if (level >= _needLevel[j]) { // jiacheng += zaocanConfig[i].jiacheng[j] // } // } // } // // 没有加成就是1倍加成 // if (jiacheng == 0) { // jiacheng = 1 // } // return jiacheng // } // /** // * 获取所有需要解锁的早餐,初始的早餐不计入 // */ // public static getAllZaoCan() { // let all = [] // for (let i = 0; i < zaocanConfig.length; i++) { // let _zaocan = zaocanConfig[i].zaocan // // 初始的早餐不计入 // for (let j = 1; j < _zaocan.length; j++) { // all.push({ name: zaocanConfig[i].zaocan[j], addPercent: zaocanConfig[i].jiacheng[j] }) // } // } // return all // } // /** // * 获取早餐是否解锁 // */ // public static isUnLockByName(name) { // let level = User.getMyLevel() // let lockState = false // for (let i = 0; i < zaocanConfig.length; i++) { // let _zaocan = zaocanConfig[i].zaocan // let _needLevel = zaocanConfig[i].needLevel // for (let j = 0; j < _zaocan.length; j++) { // //是当前早餐并且等级已经到了自动解锁 // if (name == _zaocan[j] && level >= _needLevel[j]) { // lockState = true // break // } // } // } // return lockState // } // /** // * 获取早餐解锁等级要求 // */ // public static getZaoCanNeedLevelByName(name) { // let needLevel = 0 // for (let i = 0; i < zaocanConfig.length; i++) { // let _zaocan = zaocanConfig[i].zaocan // let _needLevel = zaocanConfig[i].needLevel // for (let j = 0; j < _zaocan.length; j++) { // //是当前早餐 // if (name == _zaocan[j]) { // needLevel = _needLevel[j] // break // } // } // } // return needLevel // } }