You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
395 lines
13 KiB
395 lines
13 KiB
// 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 BagManager from "./BagManager"
|
|
|
|
|
|
|
|
let tanweiConfig = [
|
|
{ id: 0, addPercent: 2.0, curLevel: 1, gameName: '', name: '擀面杖', unlLock1: 200, needShipuId: -9999, gameType: null, unLockMoney: 20000000, levelUpSpnedMoney: 3000000, inComeMultiple: 2 },
|
|
{ id: 1, addPercent: 3.0, curLevel: 1, gameName: '', name: '砧板', unlLock1: 300, needShipuId: -9999, gameType: null, unLockMoney: 300000000, levelUpSpnedMoney: 3000000, inComeMultiple: 3 },
|
|
{ id: 2, addPercent: 4.0, curLevel: 1, gameName: 'xx', name: '面锅', unlLock1: 400, needShipuId: -9999, gameType: null, unLockMoney: 10000000000, levelUpSpnedMoney: 3000000, inComeMultiple: 4 },
|
|
{ id: 3, addPercent: 5.0, curLevel: 1, gameName: '', name: '漏勺', unlLock1: 500, needShipuId: -9999, gameType: null, unLockMoney: 120000000000, levelUpSpnedMoney: 3000000, inComeMultiple: 5 },
|
|
{ id: 4, addPercent: 15.0, curLevel: 1, gameName: '', name: '汤勺', unlLock1: 600, needShipuId: -9999, gameType: null, unLockMoney: 5000000000000, levelUpSpnedMoney: 3000000, inComeMultiple: 15 },
|
|
{ id: 5, addPercent: 20.0, curLevel: 1, gameName: '', name: '摆摊车', unlLock1: 700, needShipuId: -9999, gameType: null, unLockMoney: 60000000000000, levelUpSpnedMoney: 3000000, inComeMultiple: 20 },
|
|
{ id: 6, addPercent: 25.0, curLevel: 1, gameName: 'xx', name: '调料盒', unlLock1: 800, needShipuId: -9999, gameType: null, unLockMoney: 500000000000000, levelUpSpnedMoney: 3000000, inComeMultiple: 25 },
|
|
{ id: 7, addPercent: 50.0, curLevel: 1, gameName: '', name: '长筷子', unlLock1: 900, needShipuId: -9999, gameType: null, unLockMoney: 30000000000000000, levelUpSpnedMoney: 3000000, inComeMultiple: 50 },
|
|
{ id: 8, addPercent: 60.0, curLevel: 1, gameName: '', name: '抹布', unlLock1: 1200, needShipuId: -9999, gameType: null, unLockMoney: 100000000000000000000, levelUpSpnedMoney: 3000000, inComeMultiple: 60 },
|
|
{ id: 9, addPercent: 240.0, curLevel: 1, gameName: 'xx', name: '煤气灶', unlLock1: 1500, needShipuId: -9999, gameType: null, unLockMoney: 40000000000000000000000000, levelUpSpnedMoney: 3000000, inComeMultiple: 240 },
|
|
{ id: 10, addPercent: 480.0, curLevel: 1, gameName: 'xx', name: '招牌', unlLock1: 1800, needShipuId: -9999, gameType: null, unLockMoney: 4000000000000000000000000000, levelUpSpnedMoney: 3000000, inComeMultiple: 480 },
|
|
|
|
]
|
|
|
|
|
|
//食谱
|
|
export default class TanWeiManager {
|
|
|
|
public static getManagerConfigDate() {
|
|
return tanweiConfig
|
|
|
|
}
|
|
|
|
public static initManager() {
|
|
let array = User.getTanweiArray()
|
|
if (array.length == 0) {
|
|
//插入数据
|
|
let tempArray = []
|
|
for (let i = 0; i < tanweiConfig.length; i++) {
|
|
let obj = { id: 0, isLock: true, level: 0 }
|
|
obj.id = tanweiConfig[i].id
|
|
obj.isLock = true
|
|
obj.level = 0
|
|
tempArray[tempArray.length] = obj
|
|
}
|
|
User.setTanweiArray(tempArray)
|
|
} else {
|
|
|
|
}
|
|
}
|
|
|
|
public static getShipuUserDate(id) {
|
|
let array = User.getTanweiArray()
|
|
for (let i = 0; i < array.length; i++) {
|
|
if (array[i].id == id) {
|
|
return array[i]
|
|
}
|
|
}
|
|
return null
|
|
}
|
|
|
|
public static getShipuConfigDate(id) {
|
|
for (let i = 0; i < tanweiConfig.length; i++) {
|
|
if (tanweiConfig[i].id == id) {
|
|
return tanweiConfig[i]
|
|
}
|
|
}
|
|
return null
|
|
}
|
|
|
|
public static shipuUnLockById(id) {
|
|
let array = User.getTanweiArray()
|
|
|
|
for (let i = 0; i < array.length; i++) {
|
|
if (array[i].id == id) {
|
|
array[i].isLock = false
|
|
array[i].level = 1
|
|
break
|
|
}
|
|
}
|
|
User.setTanweiArray(array)
|
|
//发送通知
|
|
EventMgr.emitEvent_custom(ryw_Event.unlockItem)
|
|
}
|
|
|
|
public static shipuLevelUpById(id, num = 1) {
|
|
let array = User.getTanweiArray()
|
|
let maxLevel = 6
|
|
for (let i = 0; i < array.length; i++) {
|
|
if (array[i].id == id) {
|
|
array[i].level += num
|
|
|
|
if (array[i].level >= maxLevel) {
|
|
array[i].level = maxLevel
|
|
}
|
|
|
|
break
|
|
}
|
|
}
|
|
User.setTanweiArray(array)
|
|
EventMgr.emitEvent_custom(ryw_Event.levelUpitem)
|
|
}
|
|
|
|
public static shipuIsMaxLevel(id) {
|
|
let array = User.getTanweiArray()
|
|
let maxLevel = 6
|
|
for (let i = 0; i < array.length; i++) {
|
|
if (array[i].id == id) {
|
|
if (array[i].level >= maxLevel) {
|
|
return true
|
|
} else {
|
|
return false
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
public static getShipuClickInCome(id) {
|
|
let array = User.getTanweiArray()
|
|
for (let i = 0; i < array.length; i++) {
|
|
if (array[i].id == id) {
|
|
if (array[i].isLock) {
|
|
return false
|
|
} else {
|
|
return true
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
//点击收益
|
|
public static getAllClickInCome() {
|
|
let allNum = 0
|
|
let array = User.getTanweiArray()
|
|
for (let i = 0; i < array.length; i++) {
|
|
if (array[i].isLock == false) {
|
|
let config = this.getShipuConfigDate(array[i].id)
|
|
allNum += (config.addPercent * 100)
|
|
}
|
|
}
|
|
|
|
return allNum / 100
|
|
}
|
|
|
|
public static haveMoneyLockItem() {
|
|
let isLock = false
|
|
for (let i = 0; i < tanweiConfig.length; i++) {
|
|
let userDate = this.getShipuUserDate(tanweiConfig[i].id)
|
|
if (userDate && userDate.isLock && this.getCurShipuCanUnLock(tanweiConfig[i].id) == 'all') {
|
|
if (User.getMoney() - tanweiConfig[i].unLockMoney >= 0) {
|
|
isLock = true
|
|
break
|
|
}
|
|
}
|
|
}
|
|
if (isLock) {
|
|
return isLock
|
|
}
|
|
// //升级
|
|
// let maxLevel = 6
|
|
// for (let i = 0; i < tanweiConfig.length; i++) {
|
|
// let userDate = this.getShipuUserDate(tanweiConfig[i].id)
|
|
// if (userDate.isLock == false && userDate.level < maxLevel) {
|
|
// let spend = this.levelUpShipuSpendMoney(tanweiConfig[i].id)
|
|
// if (User.getMoney() - spend >= 0) {
|
|
// isLock = true
|
|
// break
|
|
// }
|
|
// }
|
|
// }
|
|
return isLock
|
|
}
|
|
|
|
public static getCurShipuCanUnLock(id) {
|
|
let config = this.getShipuConfigDate(id)
|
|
|
|
let myLevel = User.getMyLevel()
|
|
|
|
let unLockLevel = config.unlLock1
|
|
let needShipuId = config.needShipuId
|
|
|
|
let condition1 = false
|
|
if (myLevel >= unLockLevel) {
|
|
condition1 = true
|
|
}
|
|
|
|
let condition2 = false
|
|
if (needShipuId == -9999) {
|
|
condition2 = true
|
|
} else {
|
|
if (BagManager.getBagGoodNums(needShipuId) > 0) {
|
|
condition2 = true
|
|
}
|
|
}
|
|
|
|
if (condition1 && condition2) {
|
|
return 'all'
|
|
}
|
|
else {
|
|
if (!condition1) {
|
|
return 'myLevel'
|
|
} else {
|
|
return 'caipu'
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
public static levelUpShipuSpendMoney(id) {
|
|
let config = this.getShipuConfigDate(id)
|
|
let userDate = this.getShipuUserDate(id)
|
|
let unLockMoney = config.unLockMoney
|
|
let level = userDate.level
|
|
let maxLevel = 6
|
|
if (level >= maxLevel) {
|
|
level = maxLevel
|
|
}
|
|
|
|
let xishu = 1.1
|
|
let spendMoney = Math.pow(level, 1.1) * xishu
|
|
spendMoney = Math.floor(unLockMoney * spendMoney)
|
|
|
|
return spendMoney
|
|
}
|
|
|
|
public static getShipuInComeNextLevel(id) {
|
|
let config = this.getShipuConfigDate(id)
|
|
let userDate = this.getShipuUserDate(id)
|
|
|
|
let inComeMultiple = config.inComeMultiple
|
|
let level = userDate.level
|
|
let maxLevel = 6
|
|
let nextLevel = level + 1
|
|
if (nextLevel >= maxLevel) {
|
|
nextLevel = maxLevel
|
|
}
|
|
|
|
// let num = inComeMultiple + (nextLevel * 0.5)
|
|
let xishu = 1.2
|
|
let powNum = 1
|
|
if (nextLevel > 1) {
|
|
powNum = Math.pow(xishu, nextLevel)
|
|
}
|
|
let num = inComeMultiple * powNum
|
|
return Math.floor(num * 10) / 10
|
|
|
|
|
|
}
|
|
|
|
public static getShipuInComeCurLevel(id) {
|
|
let config = this.getShipuConfigDate(id)
|
|
let userDate = this.getShipuUserDate(id)
|
|
|
|
let inComeMultiple = config.inComeMultiple
|
|
let level = userDate.level
|
|
if (level == 0) {
|
|
return 0
|
|
}
|
|
let maxLevel = 6
|
|
if (level >= maxLevel) {
|
|
level = maxLevel
|
|
}
|
|
// let num = inComeMultiple + (level * 0.5)
|
|
// return Math.floor(num * 10) / 10
|
|
let xishu = 1.2
|
|
let powNum = 1
|
|
if (level > 1) {
|
|
powNum = Math.pow(xishu, level)
|
|
}
|
|
let num = inComeMultiple * powNum
|
|
return Math.floor(num * 10) / 10
|
|
}
|
|
|
|
//获取当前id的某个等级提升的倍数
|
|
public static getShipuInComeByIdAndLevel(id, _level) {
|
|
let config = this.getShipuConfigDate(id)
|
|
|
|
let inComeMultiple = config.inComeMultiple
|
|
let level = _level
|
|
if (level == 0) {
|
|
return 0
|
|
}
|
|
let maxLevel = 6
|
|
if (level >= maxLevel) {
|
|
level = maxLevel
|
|
}
|
|
// let num = inComeMultiple + (level * 0.5)
|
|
let xishu = 1.2
|
|
let powNum = 1
|
|
if (level > 1) {
|
|
powNum = Math.pow(xishu, level)
|
|
}
|
|
let num = inComeMultiple * powNum
|
|
return Math.floor(num * 10) / 10
|
|
|
|
}
|
|
|
|
//获取当前id的两个等级之间的相差倍数
|
|
public static getShipuInComeCha(id, level1, level2) {
|
|
// let num = (Math.abs(level2 - level1) * 0.5)
|
|
let config = this.getShipuConfigDate(id)
|
|
let inComeMultiple = config.inComeMultiple
|
|
let xishu = 1.2
|
|
let powNum1 = 1
|
|
if (level1 > 1) {
|
|
powNum1 = Math.pow(xishu, level1)
|
|
}
|
|
let powNum2 = 1
|
|
if (level2 > 1) {
|
|
powNum2 = Math.pow(xishu, level2)
|
|
}
|
|
let num = inComeMultiple * powNum1 - inComeMultiple * powNum2
|
|
return Math.floor(num * 10) / 10
|
|
|
|
}
|
|
|
|
public static getAllShipuInCome() {
|
|
let allNum = 0
|
|
let array = User.getTanweiArray()
|
|
for (let i = 0; i < array.length; i++) {
|
|
let num = this.getShipuInComeCurLevel(array[i].id)
|
|
allNum += num
|
|
}
|
|
|
|
if (allNum == 0) {
|
|
return 1
|
|
}
|
|
return allNum
|
|
}
|
|
|
|
|
|
public static getLockItemIndex() {
|
|
let index = 0
|
|
let isLock = false
|
|
for (let i = 0; i < tanweiConfig.length; i++) {
|
|
let userDate = this.getShipuUserDate(tanweiConfig[i].id)
|
|
if (userDate && userDate.isLock && this.getCurShipuCanUnLock(tanweiConfig[i].id) == 'all') {
|
|
if (User.getMoney() - tanweiConfig[i].unLockMoney >= 0) {
|
|
isLock = true
|
|
index = i
|
|
break
|
|
}
|
|
}
|
|
}
|
|
if (isLock) {
|
|
return index
|
|
}
|
|
// //升级
|
|
// let maxLevel = 6
|
|
// for (let i = 0; i < tanweiConfig.length; i++) {
|
|
// let userDate = this.getShipuUserDate(tanweiConfig[i].id)
|
|
// if (userDate.isLock == false && userDate.level < maxLevel) {
|
|
// let spend = this.levelUpShipuSpendMoney(tanweiConfig[i].id)
|
|
// if (User.getMoney() - spend >= 0) {
|
|
// isLock = true
|
|
// index = i
|
|
|
|
// }
|
|
// }
|
|
// }
|
|
return index
|
|
|
|
}
|
|
|
|
public static getUnLockNum() {
|
|
let array = User.getTanweiArray()
|
|
let num = 0
|
|
for (let i = 0; i < array.length; i++) {
|
|
if (!array[i].isLock) {
|
|
num++
|
|
}
|
|
}
|
|
return num
|
|
}
|
|
|
|
public static getLockById(id) {
|
|
let array = User.getTanweiArray()
|
|
let isLock = true
|
|
for (let i = 0; i < array.length; i++) {
|
|
if (array[i].id == id) {
|
|
isLock = array[i].isLock
|
|
}
|
|
}
|
|
return isLock
|
|
}
|
|
}
|
|
|