1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633 |
- var ItemType = require("ItemType");
- var RewardType = require("RewardType");
- var MateBonusType = require("MateBonusType");
- var SkillType = require("SkillType");
- var MateUnLockType = require("MateUnLockType");
- var MateGetType = require("MateGetType");
- var UserState = require("UserState");
- var AchieveCondData = require("AchieveCondData");
- var AchieveCond = require("AchieveCond");
- //以下的数据要做永久保存
- var SkillStruct = require("SkillStruct");
- var AchieveStruct = require("AchieveStruct");
- var RecordStruct = require("RecordStruct");
- //下面的数值是不会永久保存的 指只会当局游戏保存
- var GoodsStruct = require("GoodsStruct");
- var CarStruct = require("CarStruct");
- var HouseStruct = require("HouseStruct");
- var CompanyStruct = require("CompanyStruct");
- var MateStruct = require("MateStruct");
- //数据操作结构
- var UserDataMgr = cc.Class({
- extends: cc.Component,
- properties:{
- //本地保存数据
- tutorialInBus:false,
- tutorialInDate:false,
- tutorialInMarket:false,
- tutorialStockBonus:false,
- tutorialMatePoint:false,
- VideoLastTime:"",//每天看视频时间记录
- VideoAdsTimes:cc.Integer,//次数
- playTimes:cc.Integer,//游戏次数
- playerName:"Alex",
- Sex:cc.Integer, //1 man 2 woman
- SkillList:{
- default:[],
- type:[SkillStruct],
- },
- AchievementList:{
- default:[],
- type:[AchieveStruct],
- },
- RecordList:{
- default:[],
- type:[RecordStruct],
- },
- MarryAge:cc.Integer,
- MarryRoleId:cc.Integer,
- DivorceAge:cc.Integer,
- FundationAge:cc.Integer,
- FundationCompanyId:cc.Integer,
- BankruptAge:cc.Integer,
- MillionAge:cc.Integer,
- TenMillionAge:cc.Integer,
- HundredMillionAge:cc.Integer,
- //非本地保存数据
- RetireAge:cc.Integer, //退休年龄 这个值跟成就有关
- BetWinRatio:0.15, //賭博贏概率
- DateSuccescRatio:0.2, //約會成功概率
- //BetCost:cc.Integer,//赌博花费
- HighAssets:cc.Integer,//资产巅峰值
- InitMoney:cc.Integer,//刚出来闯荡时候的所有资产
- Cash:cc.Integer,//现金
- HpPoint:cc.Integer,//健康指数
- Age:cc.Integer,//年龄
- Honor:cc.Integer, //头衔 1 百万富翁 等等 这个在玩到一亿元之后会有新的玩意
- Reputation:cc.Integer, //名声指数
- AssetsMoney:cc.Integer, //总资产
- WareHouseCapcity:cc.Integer,//仓库剩余容量
- WareHouseAllCapcity:cc.Integer,//仓库总容量
- hasCompany:false,//是否已经创办公司
- CanGetStockProfit:false, //能否计算股票收益了
- RecoverYear:0,// 从恢复健康 剩余年限
- SkillBonusPoint:0,//技能点
- //加成点 伴侣加成 技能加成
- TreatBonus: 0.0, //治疗花费降低百分点
- WareHouseCapcityBonus:0, //仓储加成
- CashBonus:0, //金钱加成 每年加成
- CashRationBonus:0,
- ReputationBonus:0, //名声加成 每年
- HpPointBonus:0, //健康加成
- WareHouseBonusEveryYear:0, //每年的仓储加成
- RetireBonus:0, //增加退休年限
- DateBonus:0.0, //增加约会成功概率
- InitMoneyBonus:0,//增加初始现金
- StockAddBonus:0.0, //增加公司收益
- StockUpBonus:0.0, //股票上涨 概率增加
- DateMoneyBonus:0.0, //约会花费降低
- BetBonus:0.0, //赌博赢钱概率上升
- SkillPointGetBonus:0.0 ,//结算技能点获得提升
- ReputationInitBonus:0, //初始名声加成
- CarBuyBonus:0, //购买汽车价格降低
- EventCostBonus:0, //事件消耗金钱降低
- HouseBuyBonuse:0, //购买房屋 价格降低
- HistoryHighAssets:0,// 记录历史退休最高资产
- userState:{
- default:UserState.OK,
- type:UserState,
- },// 玩家状态
- EventDataIdList:{
- default:[],
- type:[cc.Integer],
- },//事件弹出 Id列表
- GoodsList:{
- default:[],
- type:[GoodsStruct],
- },
- CarList:{
- default:[],
- type:[CarStruct],
- },
- HouseList:{
- default:[],
- type:[HouseStruct],
- },
- CompanyList:{
- default:[],
- type:[CompanyStruct],
- },
- MateList:{
- default:[],
- type:[MateStruct],
- },
- //当前显示的五个物品 每次只显示五个物品 只保存 Id
- ShowGoodsList:{
- default:[],
- type:[cc.Integer],
- },
- },
- JudeGoodsOwned:function(Id){
- for (var i = this.GoodsList.length - 1; i >= 0; i--) {
- if(this.GoodsList[i].Id == Id && this.GoodsList[i].ownNum > 0)
- {
- return true;
- }
- }
- return false;
- },
- //清理市场显示数据
- ClearShowGoodsList:function(){
- this.ShowGoodsList.splice(0, this.ShowGoodsList.length);
- },
- //向显示数组中插入一个 显示数据 Id
- InsertGoodsIdToList:function(Id){
- this.ShowGoodsList.push(Id);
- },
- //检查Id 是否当前显示
- CheckIdIsInShowList:function(Id){
- var flag = false;
- for (var i = this.ShowGoodsList.length - 1; i >= 0; i--) {
- if(this.ShowGoodsList[i] == Id)
- {
- flag = true;
- break;
- }
- }
- return flag;
- },
- initData:function () {
- cc.Mgr.initData = false;
- this.userState = UserState.OK;//健康状态
- cc.Mgr.global.InitEventHappenAge();
- //本地存储数据
- var StorageData = cc.sys.localStorage.getItem('XMB_userdata'); //作为一个整体保存起来
- if(StorageData == null || StorageData == "")
- {
- //cc.log("还没有保存过持久数据");
- var userdata = {};
- userdata.SkillList = null;
- userdata.AchievementList = null;
- userdata.playerName = "";
- userdata.Sex = 1;
- userdata.playTimes = 0;
- userdata.SkillBonusPoint = 0;
- userdata.tutorialInBus = false;
- userdata.tutorialInDate = false;
- userdata.tutorialInMarket = false;
- userdata.tutorialStockBonus = false;
- userdata.tutorialMatePoint = false;
- userdata.VideoAdsTimes = 0;
- userdata.VideoLastTime = "";
- userdata.HistoryHighAssets = 0;
- this.VideoLastTime = "";
- this.VideoAdsTimes = 0;
- this.playerName = userdata.playerName;
- this.Sex = userdata.Sex;
- this.playTimes = userdata.playTimes;
- this.tutorialInBus = userdata.tutorialInBus;
- this.tutorialInMarket = userdata.tutorialInMarket;
- this.tutorialInDate = userdata.tutorialInDate;
- this.tutorialStockBonus = userdata.tutorialStockBonus;
- this.tutorialMatePoint = userdata.tutorialMatePoint;
- this.SkillBonusPoint = userdata.SkillBonusPoint;
-
- var SkillList = cc.Mgr.MapDataMgr.getDataListByItemType(ItemType.Skill);
- for (var i = 0; i < SkillList.length; i++) {
- var data = SkillList[i];
- var sk = new SkillStruct();
- sk.name = data.name;
- sk.icon = data.icon;
- sk.Id = data.Id;
- sk.desId = data.desId;
- sk.subId = data.subId;
- sk.Uplv = data.upLevel;
- sk.skillType = data.skillType;
- sk.level = 0;
- this.SkillList[i] = sk;
- }
- var AchievementList = cc.Mgr.MapDataMgr.getDataListByItemType(ItemType.Achieve);
- for (var i = 0; i < AchievementList.length; i++) {
- var data = AchievementList[i];
- var ac = new AchieveStruct();
- ac.Id = data.Id;
- ac.icon = data.icon;
- ac.name = data.name;
- ac.desId = data.desId;
- ac.hasFinish = false;
- this.AchievementList[i] = ac;
- }
- userdata.SkillList = this.SkillList;
- userdata.AchievementList = this.AchievementList;
-
- userdata.RecordList = this.RecordList;
- cc.sys.localStorage.setItem('XMB_userdata',JSON.stringify(userdata));
-
- }
- else
- {
- //cc.log("有之前保存的持久数据存在");
- var Data = JSON.parse(StorageData);
- this.playerName = Data.playerName;
- this.Sex = Data.Sex;
- this.playTimes = Data.playTimes;
- this.tutorialInBus = Data.tutorialInBus;
- this.tutorialInMarket = Data.tutorialInMarket;
- this.tutorialInDate = Data.tutorialInDate;
- this.tutorialStockBonus = Data.tutorialStockBonus;
- this.tutorialMatePoint = Data.tutorialMatePoint;
- this.HistoryHighAssets = Data.HistoryHighAssets;
- this.SkillList = Data.SkillList;
- this.SkillBonusPoint = Data.SkillBonusPoint;
- this.AchievementList = Data.AchievementList;
- this.VideoLastTime = Data.VideoLastTime;
- var testDate = new Date();
-
- //cc.log("++++++++++++++++++++++++++ " + testDate.toDateString());
- if(Data.VideoLastTime != testDate.toDateString())
- {
- this.VideoAdsTimes = 0;
- }
- else
- {
- this.VideoAdsTimes = Data.VideoAdsTimes;
- }
- if(Data.RecordList != null)
- this.RecordList = Data.RecordList;
- }
- //获取其实天赋点加成
- this.GetInitSkillBonus(this.SkillList);
- this.MarryAge = 0;
- this.MarryRoleId = 0;
- this.DivorceAge = 0;
- this.FundationAge = 0;
- this.FundationCompanyId = 0;
- this.BankruptAge = 0;
- this.MillionAge = 0;
- this.TenMillionAge = 0;
- this.HundredMillionAge = 0;
- //初始化 玩一局的数据
- this.retireAge = cc.Mgr.global.RetireInitAge + this.RetireBonus;
- this.BetWinRatio = cc.Mgr.global.BetWinRatio + (this.BetBonus / 100); //后面还会要加上加成
- this.DateSuccescRatio = cc.Mgr.global.DateSuccescRatio + (this.DateBonus / 100);
- this.Cash = 0;
- this.HighAssets = 0;
- this.HpPoint = 100;
- this.RecoverYear = 0;
- this.userState = UserState.OK;
- this.Age = 20;
- this.Honor = 0; //没有头衔
- this.Reputation = this.ReputationInitBonus; //名声
- this.AssetsMoney = 0;//资产
- this.WareHouseBonusEveryYear = 0;
-
- this.WareHouseCapcity = cc.Mgr.global.InitWareHouseCapcity + this.WareHouseCapcityBonus;//仓库容量初始定100 这个值到时要根据 成就定
- this.WareHouseAllCapcity = cc.Mgr.global.InitWareHouseCapcity + this.WareHouseCapcityBonus;
- this.hasCompany = false;//没有公司
- this.CanGetStockProfit = false;//还不能计算股票收益
-
- var GoodsList = cc.Mgr.MapDataMgr.getDataListByItemType(ItemType.Goods);
- for (var i = 0; i < GoodsList.length; i++) {
- var data = GoodsList[i];
- var ac = new GoodsStruct();
- ac.name = data.name;
- ac.Id = data.Id;
- ac.icon = data.icon;
- ac.ownNum = 0;
- ac.buyPrice = 0; //买入价格
- ac.marketPrice = 0;//市场价格
- this.GoodsList[i] = ac;
- }
- var CarList = cc.Mgr.MapDataMgr.getDataListByItemType(ItemType.Car);
- for (var i = 0; i < CarList.length; i++) {
- var data = CarList[i];
- var ac = new CarStruct();
- ac.Id = data.Id;
- ac.icon = data.icon;
- ac.name = data.name;
- ac.ownNum = 0;
- ac.price = data.price;
- ac.addBonus = data.addBonus;
- ac.addHp = data.addHp;
- ac.addDate = data.addDate;
- this.CarList[i] = ac;
- }
- var HouseList = cc.Mgr.MapDataMgr.getDataListByItemType(ItemType.House);
- for (var i = 0; i < HouseList.length; i++) {
- var data = HouseList[i];
- var ac = new HouseStruct();
- ac.Id = data.Id;
- ac.icon = data.icon;
- ac.name = data.name;
- ac.ownNum = 0;
- ac.price = data.price;
- ac.addBonus = data.addBonus;
- ac.addHp = data.addHp;
- this.HouseList[i] = ac;
- }
- var CompanyList = cc.Mgr.MapDataMgr.getDataListByItemType(ItemType.Company);
- for (var i = 0; i < CompanyList.length; i++) {
- var data = CompanyList[i];
- var ac = new CompanyStruct();
- ac.Id = data.Id;
- ac.icon = data.icon;
- ac.name = data.name;
- ac.bonusRatio = data.bonusRatio;
- ac.isOwned = false;
- ac.stockNum = 0;
- ac.stockCost = 0;
- ac.bankruptPrice = data.outPrice;
- ac.stockPrice = data.inPrice;
- ac.LimitYear = data.LimitYear;
- this.CompanyList[i] = ac;
- }
- var MateList = cc.Mgr.MapDataMgr.getDataListByItemType(ItemType.Mate);
- for (var i = 0; i < MateList.length; i++) {
- var data = MateList[i];
- var ac = new MateStruct();
- ac.Id = data.Id;
- ac.icon = data.icon;
- ac.name = data.name;
- ac.sex = data.sex;
- ac.LovePoint = 0;
- ac.canDate = false;
- ac.unlockCond = data.unlockCond;
- if(data.unlockCond == MateUnLockType.NULL)
- {
- ac.canDate = true;
- }
- ////cc.log(data.name + " 是否可以直接约会 " + data.unlockCond);
- ac.curLevel = 0;//等级
- ac.UpLv = false;//没有满级
- this.MateList[i] = ac;
- }
- //保存下 事件Id 每次刷一次事件 就会剔除一次
- var EventList = cc.Mgr.MapDataMgr.getDataListByItemType(ItemType.EventData);
- for (var i = 0; i < EventList.length; i++) {
- var data = EventList[i];
- this.EventDataIdList[i] = data.Id;
- }
- cc.Mgr.initData = true;
- },
- //初始 天赋技能获得加成数据
- GetInitSkillBonus:function(skillList)
- {
- this.TreatBonus = 0; //治疗花费降低百分点
- this.WareHouseCapcityBonus = 0; //仓储加成
- this.CashBonus = 0; //金钱加成 每年加成
- this.CashRationBonus = 0;
- this.ReputationBonus = 0; //名声加成 每年
- this.HpPointBonus = 0; //健康加成
- this.RetireBonus = 0; //增加退休年限
- this.DateBonus = 0; //增加约会成功概率
- this.InitMoneyBonus = 0; //增加初始现金
- this.StockAddBonus = 0; //增加公司收益
- this.StockUpBonus = 0; //股票上涨 概率增加
- this.DateMoneyBonus = 0; //约会花费降低
- this.BetBonus = 0; //赌博赢钱概率上升
- this.SkillPointGetBonus = 0; //结算技能点提升
- this.ReputationInitBonus = 0; //初始名声加成
- this.CarBuyBonus = 0; //购买汽车价格降低
- this.EventCostBonus = 0; //事件消耗金钱降低
- this.HouseBuyBonuse = 0; //购买房屋 价格降低
- for (var i = 0; i < skillList.length; i++) {
- var data = skillList[i];
- //获得数据
- var bonus = cc.Mgr.MapDataMgr.getSkillAddBonusByTwoIdAndLv(data.Id, data.subId, data.level);
- ////cc.log(data.skillType + "++++++++++++初始技能加成+++++++++++"+bonus);
- switch (data.skillType) {
- case SkillType.WLNS:
- this.WareHouseCapcityBonus = bonus; //已經計算
- break;
- case SkillType.THY:
- this.DateBonus = bonus; //百分比 已經計算
- break;
- case SkillType.XSJY:
- this.CashRationBonus = bonus; //已经加入计算
- break;
- case SkillType.FGZJ:
- this.InitMoneyBonus = bonus; //已经计算
- break;
- case SkillType.GSGL:
- this.StockAddBonus = bonus; //百分百 已经计算
- break;
- case SkillType.TPGS:
- this.StockUpBonus = bonus; //百分比 已经计算
- break;
- case SkillType.JZCC:
- this.SkillPointGetBonus = bonus; //百分比 已經計算
- break;
- case SkillType.MLSZ:
- this.DateMoneyBonus = bonus; //百分比 一计算
- break;
- case SkillType.DS:
- this.BetBonus = bonus; //百分比 已經計算
- break;
- case SkillType.LDYZ:
- this.RetireBonus = bonus; //已經算進去
- break;
- case SkillType.NSCM:
- this.ReputationInitBonus = bonus; //已經計算
- break;
- case SkillType.QCDR:
- this.CarBuyBonus = bonus; //百分比 一計算
- break;
- case SkillType.HYLL:
- this.EventCostBonus = bonus; //百分比 一计算
- break;
- case SkillType.DCZJ:
- this.HouseBuyBonuse = bonus; //百分比 一計算
- break;
- }
- }
- },
- //获取每年都会获得的加成数额
- GetBonusRewardEveryYear:function () {
- // 包括 金钱 名声 健康值
- this.Cash += this.CashBonus;
- this.Cash = Math.floor(this.Cash * (1+this.CashRationBonus));
- if(this.Cash < 100)
- this.Cash = 0;
- this.Reputation += this.ReputationBonus;
- if(this.Reputation < 0)
- this.Reputation = 0;
- this.HpPoint += this.HpPointBonus;
- if(this.HpPoint > 100)
- {
- this.HpPoint = 100;
- }
- this.WareHouseCapcity += this.WareHouseBonusEveryYear;
- this.WareHouseAllCapcity += this.WareHouseBonusEveryYear;
- if(this.WareHouseCapcity > 200)
- this.WareHouseCapcity = 200;
- if(this.WareHouseAllCapcity > 200)
- this.WareHouseAllCapcity = 200;
- },
- //获取一次事件id 并从数列中剔除这个 Id
- GetEventDataAndSpliceId:function(){
- var len = this.EventDataIdList.length;
- //cc.log("11 事件数据剩余个数 = " + len);
- var seed = Math.floor(Math.random() * len);
- var out = this.EventDataIdList[seed];
- this.EventDataIdList.splice(seed, 1);
- //cc.log(out + " 事件数据剩余个数 = " + this.EventDataIdList.length);
- return out;
- },
- RefreshHistoryHighAsset:function(asset){
- this.HistoryHighAssets = asset;
- },
- //保存本地数据
- SaveUserData:function(){
- var userdata = {};
- userdata.playerName = this.playerName;
- userdata.Sex = this.Sex;
- userdata.SkillList = this.SkillList;
- //引导步骤
- userdata.tutorialInMarket = this.tutorialInMarket;
- userdata.tutorialInDate = this.tutorialInDate;
- userdata.tutorialInBus = this.tutorialInBus;
- userdata.tutorialStockBonus = this.tutorialStockBonus;
- userdata.tutorialMatePoint = this.tutorialMatePoint;
- userdata.HistoryHighAssets = this.HistoryHighAssets;
- userdata.VideoAdsTimes = this.VideoAdsTimes;
- userdata.VideoLastTime = this.VideoLastTime;
- userdata.playTimes = this.playTimes;
- userdata.AchievementList = this.AchievementList;
- userdata.RecordList = this.RecordList;
- userdata.SkillBonusPoint = this.SkillBonusPoint;
- cc.sys.localStorage.setItem('XMB_userdata',JSON.stringify(userdata));
- },
- CreateRecord:function(){
- var reD = new RecordStruct();
-
- var asLv = 0;
- var td = Math.floor(this.AssetsMoney / 1000000);
- if(td > 0 && td < 10)
- {
- asLv = 1;
- }
- else if(td > 10 && td < 100)
- {
- asLv = 2;
- }
- else if(td > 100)
- {
- asLv = 3;
- }
- reD.retireAge = this.Age;
- reD.level = asLv;
- reD.assets = this.AssetsMoney;
- reD.highAssets = this.HighAssets;
-
- this.RecordList.push(reD);
- //this.SaveUserData();
- },
- //升级技能点
- UpGradeSkill:function(Id, subId, toLv){
- var isOk = false;
- var NeedCost = cc.Mgr.MapDataMgr.getUpgradeCostByTwoId(Id, subId, toLv);
- if(this.SkillBonusPoint < NeedCost)
- return false;
- //不要求升级满技能即可升级下一个技能
- for (var i = 0; i < this.SkillList.length; i++) {
- if(this.SkillList[i].Id == Id && this.SkillList[i].subId + 1 == subId)
- {
- if(this.SkillList[i].level == 0)
- {
- //cc.log("上一个技能还没有升级到满级");
- return false;
- }
- //if(this.SkillList[i].level != this.SkillList[i].Uplv)
- //{
- //cc.log("上一个技能还没有升级到满级");
- // return false;
- //}
- }
- }
-
- for (var i = 0; i < this.SkillList.length; i++) {
- if(this.SkillList[i].Id ==Id && this.SkillList[i].subId == subId)
- {
- if(this.SkillList[i].level < this.SkillList[i].Uplv)
- {
- this.SkillList[i].level++;
- this.SkillBonusPoint -= NeedCost;
- isOk = true;
- }
- else
- {
- isOk = false;
- }
- break;
- }
- }
- return isOk;
- },
- CanShowUpTip:function(Id, subId, toLv){
- var isOk = false;
- var NeedCost = cc.Mgr.MapDataMgr.getUpgradeCostByTwoId(Id, subId, toLv);
- if(this.SkillBonusPoint < NeedCost)
- return false;
-
- for (var i = 0; i < this.SkillList.length; i++) {
- if(this.SkillList[i].Id == Id && this.SkillList[i].subId + 1 == subId)
- {
- if(this.SkillList[i].level == 0)
- {
- //cc.log("上一个技能还没有升级到满级");
- return false;
- }
- //if(this.SkillList[i].level != this.SkillList[i].Uplv)
- //{
- //cc.log("上一个技能还没有升级到满级");
- // return false;
- //}
- }
- }
-
- for (var i = 0; i < this.SkillList.length; i++) {
- if(this.SkillList[i].Id ==Id && this.SkillList[i].subId == subId)
- {
- if(this.SkillList[i].level < this.SkillList[i].Uplv)
- {
- isOk = true;
- }
- else
- {
- isOk = false;
- }
- break;
- }
- }
- return isOk;
- },
- //完成指定成就
- FinishAchievement:function(Id){
- var isOk = false;
- for (var i = 0; i < this.AchievementList.length; i++) {
- if(this.AchievementList[i].Id == Id)
- {
- this.AchievementList[i].hasFinish = true;
- isOk = true;
- break;
- }
- }
- return isOk;
- },
- //买入物品
- BuyGoods:function(data){ //data 包含 Id buyprire buynum
- for (var i = this.GoodsList.length - 1; i >= 0; i--) {
- if(data.Id == this.GoodsList[i].Id)
- {
- return this.GoodsList[i].RefeshDataAfterBuy(data);
- }
- }
- },
- //出售物品
- SaleGoods:function(data){
- for (var i = this.GoodsList.length - 1; i >= 0; i--) {
- if(data.Id == this.GoodsList[i].Id)
- {
- return this.GoodsList[i].RefeshDataAfterSale(data);
- }
- }
- },
- //创办公司
- CreateCompany:function(data){
- for (var i = this.CompanyList.length - 1; i >= 0; i--) {
- if(data.Id == this.CompanyList[i].Id)
- {
- return this.CompanyList[i].RefreshDataAfterOper(data);
- }
- }
- },
- //查看一下是否已经拥有五種物品
- CheckOwnedGoodsNum:function(){
- var Num = 0;
- for (var i = this.GoodsList.length - 1; i >= 0; i--) {
- if(this.GoodsList[i].ownNum > 0)
- {
- Num += 1;
- }
- }
- var Isfull = false;
- if(Num == 5)
- {
- Isfull = true;
- }
- return Isfull;
- },
- //购买股票
- BuyStocks:function(data){
- for (var i = this.CompanyList.length - 1; i >= 0; i--) {
- if(data.Id == this.CompanyList[i].Id)
- {
- return this.CompanyList[i].RefreshDataAfterOper(data);
- }
- }
- },
- //出售股票
- SaleStocks:function(data){
- for (var i = this.CompanyList.length - 1; i >= 0; i--) {
- if(data.Id == this.CompanyList[i].Id)
- {
- return this.CompanyList[i].RefreshDataAfterSale(data);
- }
- }
- },
- BuySaleCommonItem:function(data){
- //cc.log("=============" + data.Type + " Id = "+ data.Id)
- if(data.Type == ItemType.Car)
- {
- for (var i = this.CarList.length - 1; i >= 0; i--) {
- if(this.CarList[i].Id == data.Id)
- {
- this.CarList[i].RefreshData(data.addNum);
- }
- }
- }
- else if(data.Type == ItemType.House)
- {
- for (var i = this.HouseList.length - 1; i >= 0; i--) {
- if(this.HouseList[i].Id == data.Id)
- {
- this.HouseList[i].RefreshData(data.addNum);
- }
- }
- }
- },
- //刷新约会的亲密度
- RefreshMateData:function(Id){
- for (var i = this.MateList.length - 1; i >= 0; i--) {
- if(Id == this.MateList[i].Id)
- {
- return this.MateList[i].RefreshAfterLvUp();
- }
- }
- },
- //根據id解除婚姻
- DisvorceMateById:function(Id){
- for (var i = 0; i < this.MateList.length; i++) {
- if(this.MateList[i].Id == Id)
- {
- this.MateList[i].ReturnInitState();
- var data = cc.Mgr.MapDataMgr.getDataByItemTypeAndId(ItemType.Mate, Id);
- this.DeleteMateBonusReward(data.bonusList);
- //现金 股票减少 名声 健康受损
- this.Cash = Math.floor(this.Cash * 0.8);
- this.HpPoint = Math.floor(this.HpPoint * 0.8);
- this.Reputation = Math.floor(this.Reputation * 0.8);
- this.DisvorceDelStocks();
- break;
- }
- }
- },
- DisvorceDelStocks:function(){
- for (var i = this.CompanyList.length - 1; i >= 0; i--) {
- if(this.CompanyList[i].stockNum > 0)
- {
- this.CompanyList[i].RefreshDataAfterDisvorce();
- return;
- }
- }
- },
- //获得伴侣加成 结婚后获得
- getMateBonusReward:function(data){
- for (var i = 0; i < data.length; i++) {
- var dt = data[i];
- //cc.log("+++++++++++++++++++++oooooo+++++++++++++++++++++++" + dt.bonusNum);
- if(dt.bonusType == MateBonusType.NULL)
- {
- //cc.log("伴侣加成什么也没有");
- }
- else if(dt.bonusType == MateBonusType.HP)
- {
- this.HpPointBonus += dt.bonusNum;
- }
- else if(dt.bonusType == MateBonusType.Money)
- {
- this.CashBonus += dt.bonusNum;
- }
- else if(dt.bonusType == MateBonusType.Reputation)
- {
- this.ReputationBonus += dt.bonusNum;
- }
- else if(dt.bonusType == MateBonusType.WareHouseCapcity)
- {
- this.WareHouseCapcity += dt.bonusNum;
- this.WareHouseAllCapcity += dt.bonusNum;
- this.WareHouseBonusEveryYear += dt.bonusNum;
- if(this.WareHouseAllCapcity > 200)
- this.WareHouseAllCapcity = 200;
- if(this.WareHouseCapcity > 200)
- this.WareHouseCapcity = 200;
- }
- else if(dt.bonusType == MateBonusType.Treat)
- {
- this.TreatBonus += dt.bonusNum;
- }
- }
- },
- //移除伴侣获得的天赋加成
- DeleteMateBonusReward:function(data)
- {
- for (var i = 0; i < data.length; i++) {
- var dt = data[i];
- //cc.log("+++++++++++++++++++++oooooo+++++++++++++++++++++++" + dt.bonusNum);
- if(dt.bonusType == MateBonusType.NULL)
- {
- //cc.log("伴侣加成什么也没有");
- }
- else if(dt.bonusType == MateBonusType.HP)
- {
- this.HpPointBonus -= dt.bonusNum;
- }
- else if(dt.bonusType == MateBonusType.Money)
- {
- this.CashBonus -= dt.bonusNum;
- }
- else if(dt.bonusType == MateBonusType.Reputation)
- {
- this.ReputationBonus -= dt.bonusNum;
- if(this.ReputationBonus < 0)
- this.ReputationBonus = 0;
- }
- else if(dt.bonusType == MateBonusType.WareHouseCapcity)
- {
- //this.WareHouseCapcity -= dt.bonusNum;
- //this.WareHouseAllCapcity -= dt.bonusNum;
- this.WareHouseBonusEveryYear -= dt.bonusNum;
- if(this.WareHouseBonusEveryYear < 0)
- this.WareHouseBonusEveryYear = 0;
- }
- else if(dt.bonusType == MateBonusType.Treat)
- {
- this.TreatBonus -= dt.bonusNum;
- }
- }
- },
- getOwnDataListByType:function(itemType){
- var dataList = null;
- switch (itemType) {
- case ItemType.Goods:
- dataList = this.GoodsList;
- break;
- case ItemType.Skill:
- dataList = this.SkillList;
- break;
- case ItemType.Car:
- dataList = this.CarList;
- break;
- case ItemType.House:
- dataList = this.HouseList;
- break;
- case ItemType.Achieve:
- dataList = this.AchievementList;
- break;
- case ItemType.Company:
- dataList = this.CompanyList;
- break;
- case ItemType.Mate:
- dataList = this.MateList;
- break;
- }
- return dataList;
- },
- //获取已有数据 根据 类型和Id
- getDataByItemTypeAndId:function(itemType, Id){
- var dataList = null;
- switch (itemType) {
- case ItemType.Goods:
- dataList = this.GoodsList;
- break;
- case ItemType.Skill:
- dataList = this.SkillList;
- break;
- case ItemType.Car:
- dataList = this.CarList;
- break;
- case ItemType.House:
- dataList = this.HouseList;
- break;
- case ItemType.Achieve:
- dataList = this.AchievementList;
- break;
- case ItemType.Company:
- dataList = this.CompanyList;
- break;
- case ItemType.Mate:
- dataList = this.MateList;
- break;
- }
- if(dataList != null)
- {
- for (var i = dataList.length - 1; i >= 0; i--)
- {
- if(Id == dataList[i].Id)
- {
- return dataList[i];
- }
- }
- }
- //如果没有数据 为 null
- return null;
- },
- //刷新物品市场价格
- RefreshGoodsMarKetPrice:function(Id,marketPrice){
- for (var i = this.GoodsList.length - 1; i >= 0; i--) {
- if(Id == this.GoodsList[i].Id)
- {
- this.GoodsList[i].marketPrice = marketPrice;
- break;
- }
- }
- },
- //刷新股票商场价格和成本
- RefreshStockData:function(Id, param){
- for (var i = this.CompanyList.length - 1; i >= 0; i--) {
- if(Id == this.CompanyList[i].Id)
- {
- this.CompanyList[i].stockPrice = param.stockPrice;
- this.CompanyList[i].stockCost = param.stockCost;
- break;
- }
- }
- },
- //获取拥有的物品对应数据
- getGoodsDataById:function(Id){
- for (var i = this.GoodsList.length - 1; i >= 0; i--) {
- if(Id == this.GoodsList[i].Id)
- {
- return this.GoodsList[i];
- }
- }
- },
- //刷新个人资产 //caculateStock 是否計算股票收益
- RefreshUserAssets:function(caculateStock){
- var lastAsset = this.AssetsMoney;
- var assets = 0;
- //计算所拥有物品总价
- for (var i = this.GoodsList.length - 1; i >= 0; i--) {
- var data = this.GoodsList[i];
- var flag = this.CheckIdIsInShowList(data.Id);
- if(flag == true)
- {
- assets += data.ownNum * data.marketPrice;
- }
- else
- {
- assets += data.ownNum * data.buyPrice;
- }
- }
- //计算房屋拥有
- for (var i = this.HouseList.length - 1; i >= 0; i--) {
- var dt = this.HouseList[i];
- if(dt.ownNum > 0)
- {
- ////cc.log(dt.Id + " 房子的数量和价格 " + dt.ownNum + " " + dt.price);
- assets += dt.ownNum * dt.price;
- }
- }
- //计算车子所有
- for (var i = this.CarList.length - 1; i >= 0; i--) {
- var dt = this.CarList[i];
- if(dt.ownNum > 0)
- {
- assets += dt.ownNum * dt.price;
- }
- }
- //后面再加上 股票收益
- for (var i = this.CompanyList.length - 1; i >= 0; i--) {
- var da = this.CompanyList[i];
- if(da.stockNum > 0)
- {
- //this.Reputation += cc.Mgr.global.HasCompanyReputationAdd;
- assets += Math.floor(da.stockNum * da.stockPrice);
- if(this.CanGetStockProfit == true && caculateStock == true)
- {
- this.Cash += Math.floor(da.stockNum * da.stockPrice * (da.bonusRatio + (this.StockAddBonus / 100)));
- }
- }
- }
- assets += this.Cash;
- //资产暴涨时候健康迅速下降 暴涨5倍下降30
- this.AssetsMoney = assets;
- this.JudeFinishAnyAchievement(5); //成就 Id = 5 资产相关
- this.JudeFinishAnyAchievement(4); //成就 Id = 6
- cc.log(lastAsset + " L =========他妈的资产问题======== N " + assets);
- if(assets > this.HighAssets)
- {
- this.HighAssets = assets;
- }
- if(assets > 1000000 && this.MillionAge == 0)
- {
- this.MillionAge = this.Age;
- }
- if(assets > 10000000 && this.TenMillionAge == 0)
- {
- this.TenMillionAge = this.Age;
- }
- if(assets > 100000000 && this.HundredMillionAge == 0)
- {
- this.HundredMillionAge = this.Age;
- }
- if(Math.floor(assets / lastAsset) >= cc.Mgr.global.AssetExplorRate || (assets / lastAsset) <= cc.Mgr.global.AssetExplorDownRate)
- {
- if(this.userState == UserState.NotOK)
- return;
- this.HpPoint -= cc.Mgr.global.AssetBurden;
- if(this.HpPoint < cc.Mgr.global.HealthLine)
- {
- this.userState = UserState.NotOK;
- cc.Mgr.global.goToHospital += 1;
- this.RecoverYear = cc.Mgr.global.YearRecover;
- var param = {};
- param.forWhat = "HealthLine";
- param.text = cc.Mgr.global.getTranslation("RecoverHealth");
- cc.director.GlobalEvent.emit(cc.Mgr.Event.OpenCommonTip, param);
- //this.UnLockMateByInHospital(MateUnLockType.InHospital, this.Sex);
- }
- else
- {
- var param = {};
- param.forWhat = "";
- param.text = cc.Mgr.global.getTranslation("RecoverHealthD");
- cc.director.GlobalEvent.emit(cc.Mgr.Event.OpenCommonTip, param);
- }
- }
- },
- JudeFinishAnyAchievement:function (Id) {
- //cc.log(this.AchievementList.length + "======================判断成就是否完成" + Id);
- for (var i = 0; i < this.AchievementList.length; i++) {
- if(this.AchievementList[i].Id == Id)
- {
- if(this.AchievementList[i].hasFinish == true)
- {
- //cc.log("该成就已经完成了");
- return;
- }
- }
- }
- var acD = cc.Mgr.MapDataMgr.getDataByItemTypeAndId(ItemType.Achieve, Id);
- cc.log("======================判断成就是否完成 = " + acD.name);
- var condList = acD.condList;
- var finished = this.JudeCanFinishAchievementByCond(condList);
- if(finished)
- {
- for (var i = 0; i < this.AchievementList.length; i++) {
- if(this.AchievementList[i].Id == Id)
- {
- this.AchievementList[i].hasFinish = true;
- return;
- }
- }
- }
- },
- CaculateReputationFromCompany:function(){
- //后面再加上 股票造成的
- for (var i = this.CompanyList.length - 1; i >= 0; i--) {
- var da = this.CompanyList[i];
- if(da.stockNum > 0)
- {
- this.Reputation += cc.Mgr.global.HasCompanyReputationAdd;
- return;
- }
- }
- },
- JudeCanFinishAchievementByCond:function(condList){
- var finishedList = [];
- for (var i = 0; i < condList.length; i++) {
- var cond = condList[i];
- var finished = false;
- cc.log("类型要求 = " + cond.condType + " 数值要求 = " + cond.value);
- switch (cond.condType) {
- case AchieveCond.AssetMoneyUp:
- finished = this.JudeAssetCond(cond.value);
- break;
- case AchieveCond.InHospital:
- finished = this.JudegoToHosTimesCond(cond.value);
- break;
- case AchieveCond.Bankrupt:
- finished = this.JudeBankruptTimesCond(cond.value);
- break;
- case AchieveCond.CreateBusiness:
- finished = this.JudeCreateCompanyCond(cond.value);
- break;
- case AchieveCond.AgeCond:
- finished = this.JudeAgeCond(cond.value);
- break;
- case AchieveCond.HasMarryCond:
- finished = this.JudeHasMarryCond();
- break;
- case AchieveCond.LovePointCond:
- finished = this.JudeLovePointCond(cond.value);
- break;
- case AchieveCond.AssetMoneyDown:
- finished = this.JudeAssetDownCond(cond.value);
- break;
- case AchieveCond.NoMarryCond:
- finished = this.JudeNotMarryCond(cond.value);
- break;
- case AchieveCond.AgeCondUp:
- finished = this.JudeAgeCondUp(cond.value);
- break;
- }
- cc.log("是否完成 = " + finished);
- finishedList.push(finished);
- }
- for (var i = 0; i < finishedList.length; i++) {
- if(finishedList[i] == false)
- return false;
- }
- return true;
- },
- JudeAssetDownCond:function (value) {
- if(this.AssetsMoney < value * 1000000)
- return true;
- else
- return false;
- },
- //成就完成 资产限制
- JudeAssetCond:function (value) {
- if(this.AssetsMoney >= value * 1000000)
- return true;
- else
- return false;
- },
- //成就完成 年龄限制 小于
- JudeAgeCond:function (value) {
- if(this.Age <= value)
- return true;
- else
- return false;
- },
- JudeAgeCondUp:function(value){
- if(this.Age >= value)
- return true;
- else
- return false;
- },
- //成就完成 进医院次数
- JudegoToHosTimesCond:function (value) {
- if(cc.Mgr.global.goToHospital > value)
- return true;
- else
- return false;
- },
- //成就完成 破产次数
- JudeBankruptTimesCond:function (value) {
- if(cc.Mgr.global.BankruptTimes > value)
- return true;
- else
- return false;
- },
- //成就完成 创业次数
- JudeCreateCompanyCond:function (value) {
- if(cc.Mgr.global.CreateCompanyTimes > value)
- return true;
- else
- return false;
- },
- //成就完成 是否已婚
- JudeHasMarryCond:function () {
- for (var i = 0; i < this.MateList.length; i++) {
- if(this.MateList[i].LovePoint == 100)
- {
- return true;
- }
- }
- return false;
- },
- JudeHasCar:function(){
- for (var i = this.CarList.length - 1; i >= 0; i--) {
- if(this.CarList[i].ownNum > 0)
- {
- return true;
- }
- }
- return false;
- },
- JudeHasCarById:function(Id){
- for (var i = this.CarList.length - 1; i >= 0; i--) {
- if(this.CarList[i].ownNum > 0 && this.CarList[i].Id == Id)
- {
- return true;
- }
- }
- return false;
- },
- JudeHasHouse:function(){
- for (var i = this.HouseList.length - 1; i >= 0; i--) {
- if(this.HouseList[i].ownNum > 0)
- {
- return true;
- }
- }
- return false;
- },
- JudeHasHouseById:function(Id){
- for (var i = this.HouseList.length - 1; i >= 0; i--) {
- if(this.HouseList[i].ownNum > 0 && this.HouseList[i].Id == Id)
- {
- return true;
- }
- }
- return false;
- },
- //成就完成 是否未婚
- JudeNotMarryCond:function () {
- for (var i = 0; i < this.MateList.length; i++) {
- if(this.MateList[i].LovePoint == 100)
- {
- return false;
- }
- }
- return true;
- },
- //成就完成 亲密度人数
- JudeLovePointCond:function(value){
- var num = 0;
- for (var i = 0; i < this.MateList.length; i++) {
- if(this.MateList[i].LovePoint == 99)
- {
- num += 1;
- }
- }
- if(num >= value)
- return true;
- else
- return false;
- },
- //刷新用户年龄
- RefreshUserAge:function(){
- this.Age += 1;
- if(this.Age == (this.retireAge + 1) && cc.Mgr.global.useRetireAds == false)
- {
- cc.director.GlobalEvent.emit(cc.Mgr.Event.UseRetireAdsSkill, {});
- }
- else if(this.Age > this.retireAge && cc.Mgr.global.useRetireAds == true)
- {
- cc.director.GlobalEvent.emit(cc.Mgr.Event.Retire, {});
- }
- this.CaculateReputationFromCompany();
- },
- //刷新个人健康指数
- RefreshHealthHp:function(){
- if(this.RecoverYear > 0 && this.userState == UserState.NotOK)
- {
- this.RecoverYear -= 1;
- return;
- }
- else if(this.RecoverYear == 0 && this.userState == UserState.NotOK)
- {
- this.RecoverYear = 0;
- this.userState = UserState.OK;
- this.HpPoint = 100;
- return;
- }
- if(this.Age >= cc.Mgr.global.HealthSubAge && this.HpPoint > 0)
- {
- var seed = 2 + Math.floor(Math.random()*3);
- this.HpPoint -= seed;
- if(this.HpPoint < cc.Mgr.global.HealthLine)
- {
- this.userState = UserState.NotOK;
- cc.Mgr.global.goToHospital += 1;
- this.RecoverYear = cc.Mgr.global.YearRecover;
- var param = {};
- param.forWhat = "HealthLine";
- param.text = cc.Mgr.global.getTranslation("RecoverHealth");
- cc.director.GlobalEvent.emit(cc.Mgr.Event.OpenCommonTip, param);
- //this.UnLockMateByInHospital(MateUnLockType.InHospital, this.Sex);
- }
- }
- },
- //技能天赋数据获取
- getSkillDataByTwoId:function(Id, subId){
- var dt = null;
- for (var i = this.SkillList.length - 1; i >= 0; i--) {
- var data = this.SkillList[i];
- if(data.Id == Id && data.subId == subId)
- {
- dt = data;
- return data;
- }
- }
- return dt;
- },
- getSkillListById:function(Id){
- var param = [];
- for (var i = this.SkillList.length - 1; i >= 0; i--) {
- var data = this.SkillList[i];
- if(data.Id == Id)
- {
- param.push(data);
- }
- }
- return param;
- },
- //花销和获得根据
- GetOrCostDataByRewardType:function(rewardType, num, subId) //对于物品 会有一个subId
- {
- var Pdata = {};
- Pdata.Id = -1;
- Pdata.companyId = -1;
- //cc.log("++++++rewardType++++++" + rewardType);
- if(rewardType == RewardType.NULL)
- {
- //cc.log("啥也没有");
- }
- else if(rewardType == RewardType.Cash)
- {
- if(num < 0) //好运连连
- {
- num = num + Math.floor((-num)* this.EventCostBonus);
- }
- else
- {
- num + Math.floor(num* this.EventCostBonus);
- }
- this.Cash += num;
- if(this.Cash < 0)
- this.Cash = 0;
- }
- else if(rewardType == RewardType.HP)
- {
- this.HpPoint += num;
- if(this.HpPoint >100)
- this.HpPoint =100;
- }
- else if(rewardType == RewardType.Reputation)
- {
- this.Reputation += num;
- if(this.Reputation < 0)
- this.Reputation = 0;
- }
- else if(rewardType == RewardType.Goods)
- {
- for (var i = 0; i < this.GoodsList.length; i++) {
- if(this.GoodsList[i].Id == subId)
- {
- if(this.WareHouseCapcity >= num)
- {
- var averagePrice = Math.floor((this.GoodsList[i].buyPrice * this.GoodsList[i].ownNum) / (this.GoodsList[i].ownNum + num));
- this.GoodsList[i].ownNum += num;
- //仓库减少数值
- this.WareHouseCapcity -= num;
- Pdata.Id = subId;
- Pdata.buyPrice = averagePrice;//this.GoodsList[i].buyPrice;
- Pdata.ownNum = this.GoodsList[i].ownNum;
- }
- break;
- }
- }
- }
- else if(rewardType == RewardType.Car)
- {
- for (var i = 0; i < this.CarList.length; i++) {
- if(this.CarList[i].Id == subId)
- {
- this.CarList[i].ownNum += num;
- this.Reputation += this.CarList[i].addBonus;
- this.HpPoint += this.CarList[i].addHp;
- if(this.HpPoint > 100)
- this.HpPoint = 100;
- break;
- }
- }
- }
- else if(rewardType == RewardType.House)
- {
- for (var i = 0; i < this.HouseList.length; i++) {
- if(this.HouseList[i].Id == subId)
- {
- this.HouseList[i].ownNum += num;
- this.Reputation += this.HouseList[i].addBonus;
- this.HpPoint += this.HouseList[i].addHp;
- if(this.HpPoint > 100)
- this.HpPoint = 100;
- break;
- }
- }
- }
- else if(rewardType == RewardType.Stock)
- {
- for (var i = 0; i < this.CompanyList.length; i++) {
- if(this.CompanyList[i].Id == subId)
- {
- this.CompanyList[i].stockNum += num;
- Pdata.companyId = subId;
- break;
- }
- }
- }
- else if(rewardType == RewardType.StockPrice)
- {
- for (var i = 0; i < this.CompanyList.length; i++) {
- if(this.CompanyList[i].Id == subId)
- {
- if(this.CompanyList[i].stockNum > 0)
- {
- this.CompanyList[i].stockPrice += num;
- Pdata.companyId = subId;
- break;
- }
- }
- }
- }
- return Pdata;
- },
- //判断是否有房
- JudeHasHouse:function(value){
- var flag = false;
- if(value == 0)
- {
- for (var i = 0; i < this.HouseList.length; i++) {
- if(this.HouseList[i].ownNum > 0)
- {
- return true;
- }
- }
- }
- else
- {
- for (var i = 0; i < this.HouseList.length; i++) {
- if(this.HouseList[i].ownNum > 0 && value == this.HouseList[i].Id)
- {
- return true;
- }
- }
- }
- return flag;
- },
- //判断是否有车
- JudeHasCar:function(value){
- var flag = false;
- if(value == 0)
- {
- for (var i = 0; i < this.CarList.length; i++) {
- if(this.CarList[i].ownNum > 0)
- {
- return true;
- }
- }
- }
- else
- {
- for (var i = 0; i < this.CarList.length; i++) {
- if(this.CarList[i].ownNum > 0 && this.CarList[i].Id == value)
- {
- return true;
- }
- }
- }
- return flag;
- },
- //判断资产是否满足一定要求
- JudeAsset:function(needNum)
- {
- var flag = false;
- if(needNum <= this.AssetsMoney)
- {
- return true;
- }
- return flag;
- },
- //判断名声是否满足要求
- JudeReputation:function(needNum){
- var flag = false;
- if(needNum <= this.Reputation)
- {
- return true;
- }
- return flag;
- },
- //判断健康是否满足要求
- JudeHpPoint:function(needNum){
- var flag = false;
- if(needNum <= this.HpPoint)
- {
- return true;
- }
- return flag;
- },
- //判断是否有公司
- JudeHasCompany:function(){
- return this.hasCompany;
- },
- //开放该条件下的一个 可约会对象
- UnLockOneMate:function(unlockCond, offSex){
- var Id = -1;
- for (var i = 0; i < this.MateList.length; i++) {
- //var dt = cc.Mgr.MapDataMgr.getDataByItemTypeAndId(ItemType.Mate , this.MateList[i].Id);
- if(this.MateList[i].sex == offSex && this.MateList[i].canDate == false && this.MateList[i].unlockCond == unlockCond)
- {
- this.MateList[i].canDate = true;
- Id = this.MateList[i].Id;
- var param = {};
- param.icon = this.MateList[i].icon;
- param.des = cc.Mgr.global.getTranslation("UnLockMate_" + Id);
- cc.director.GlobalEvent.emit(cc.Mgr.Event.OpenUnLockMate, param);
- return Id;
- }
- }
- return Id;
- },
- UnLockMateByInHospital:function(unlockCond, offSex){
- var Id = -1;
- for (var i = 0; i < this.MateList.length; i++) {
- //var dt = cc.Mgr.MapDataMgr.getDataByItemTypeAndId(ItemType.Mate , this.MateList[i].Id);
- if(this.MateList[i].sex == offSex && this.MateList[i].canDate == false && this.MateList[i].unlockCond == unlockCond)
- {
- this.MateList[i].canDate = true;
- Id = this.MateList[i].Id;
- var param = {};
- param.icon = this.MateList[i].icon;
- param.des = cc.Mgr.global.getTranslation("UnLockMateByInHos");
- cc.director.GlobalEvent.emit(cc.Mgr.Event.OpenUnLockMate, param);
- return Id;
- }
- }
- return Id;
- },
- //判断是否已经拥有一个伴侣
- JudeHasAnyMate:function(){
- var flag = false;
- for (var i = 0; i < this.MateList.length; i++) {
- //cc.log("是否已经结婚了 "+ this.MateList[i].Uplv);
- if(this.MateList[i].UpLv == true)
- {
- flag = true;
- return flag;
- }
- }
- return flag;
- },
- });
- module.exports = UserDataMgr
|