| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- import { RankData, RankItemData } from "../UI/Rank/RankData";
- import { ConfigData } from "./ConfigData";
- import { Data } from "./Data";
- export class GameData extends Data {
- public needReloadData = false;
- private _productingListMap: Map<number, Array<{ productID: number, ripeDate: number }>> = new Map();
- /**建筑生产队列列表 */
- public getProductingList(id: number): Array<{ productID: number, ripeDate: number }> {
- if (!this._productingListMap.has(id)) {
- this._productingListMap.set(id, []);
- }
- return this._productingListMap.get(id);
- }
- private _unlockMap: Map<number, number> = new Map();
- /**建筑解锁流水线数量列表 */
- public getUnlock(id: number): number {
- if (!this._unlockMap.has(id)) {
- if (id <= 30003) {
- this._unlockMap.set(id, 5);
- } else {
- this._unlockMap.set(id, 1);
- }
- }
- return this._unlockMap.get(id);
- }
- public setUnlock(id: number, count: number): void {
- this._unlockMap.set(id, count);
- }
- /**已激活的建筑列表 */
- private buildDataMap: Map<number, number> = new Map();
- public hasBuildData(id: number): boolean {
- return this.buildDataMap.has(id);
- }
- public getBuildData(id: number): number {
- return this.buildDataMap.get(id);
- }
- public setBuildData(id: number, userBuildID: number): void {
- this.buildDataMap.set(id, userBuildID);
- }
- /**设置建筑数据(生产队列,流水线数量,激活情况等) */
- public async setGameData(data: any) {
- this._productingListMap = new Map();
- this._unlockMap = new Map();
- this.buildDataMap = new Map();
- let product = ConfigData.configMap.get("product");
- for (let i = 0; i < data.length; i++) {
- const build = data[i];
- if (!this.buildDataMap.has(build.buildID)) {
- this.buildDataMap.set(build.buildID, build.userBuildID);
- this.setUnlock(build.buildID, build.addValue + 1);
- }
- if (build.productID != 0) {
- let result = product[build.productID];
- this.getProductingList(build.buildID).push({ productID: build.productID, ripeDate: build.plantTime * 1000 + result["time"] * 1000 });
- }
- }
- }
- /**是否有任务可领取 */
- public taskReceive = false;
- /**是否有3日活动任务可领取 */
- public threeDayTaskReceive = 0;
- /**3日活动还需要邀请人数 */
- public needChildCount: number = 0;
- /**3日活动激活后结束时间 */
- public threedayTaskTime: number = 0
- /**种植奖励数据 */
- public productPrize = null;
- /**排行榜数据*/
- public rankData: RankData;
- /**排行榜积分数据*/
- public rankScore: number = 0;
- /**是否刷新排行榜活动倒计时*/
- public isRefreshRankTime: boolean;
- /**是否可以领取排行榜奖励*/
- public isCanGetRankReward: boolean;
- }
|