咸鱼的反击
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.
 
 
 
xianyudefanji/assets/Scripts/Manager/TanWeiManager.ts

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
}
}