import { baseObj,objType,valueObj,composeObj} from "./baseObject"; import { Propbuff, PropLeaveUp, PropSale, PropUnlock} from "./propObject"; import {objCfg,expressCfg,saleCfg,levelCfg,unlockCfg,excelOutDataConfig,fileCfgType, singInCfg} from './excelDefine' import ComputeExpression from './computed' import gameInfo from './gameInfo' import { hallproto } from "../../netPb/protobundle"; //import fs from "fs" //配置表的保存和,数据对象的生成 export default class DataManager{ private static instance: any; public static ins(): DataManager { this.instance = this.instance || new DataManager() return this.instance } private dataConfig:excelOutDataConfig //签到配置 private dataSignIn:Array /////////////////////////////////////////////////////////////////////////////// private mapExpress:Map = new Map() protected constructor(){ this.dataConfig={ arObj: new Array(), arLv : new Array(), arUnlock: new Array(), arSale : new Array(), express : new Array() } } //创建对象 private createObjById(id:number,list:Map):baseObj|undefined{ if(this.dataConfig==undefined || this.dataConfig.arObj==undefined)return let itemCfg = this.getObjCfgById(id) if(itemCfg==undefined)return let obj = new baseObj() if(itemCfg._members.length>0)//有成员 { obj = new composeObj(itemCfg._id,itemCfg._name); for(let idx=0;idx=arr[idx]._idItemRange[0]&&id<=arr[idx]._idItemRange[1] && lv >= arr[idx]._levelrange[0]&& lv <= arr[idx]._levelrange[1]) return arr[idx] } } getUnlockCfgById(id:number):unlockCfg|undefined{ if(this.dataConfig==undefined)return undefined let arr = this.dataConfig.arUnlock for(let idx=0;idx=arr[idx]._idItemRange[0]&&id<=arr[idx]._idItemRange[1]) return arr[idx] } } getExpress(id:number):expressCfg|undefined{ if(this.dataConfig) { for(let idx=0;idx=arr[idx]._idItemRange[0]&&id<=arr[idx]._idItemRange[1]) return arr[idx] } } //获取配置 getDataConfig(){ return this.dataConfig } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //初始化玩家资产 creatGameInfo(id:number){ //生成游戏对象 let gameObj = new gameInfo(id) let arCfg = this.getObjCfgById(0) if(arCfg) { for (let idx=0;idx1) { let cTempEx = new ComputeExpression(valueExp._desp) this.mapExpress.set(valueExp._id,cTempEx) } } } } } }