import { StorageManager } from "./StorageManager" import { DOBlock } from "./DOBlock" import { DataBlock, DataUndo, DataStage } from "../types/global" export class DOStage { private data: DataStage private blocks: Array = new Array() private letterToNumber: Map; private numberToLetter: Map; constructor(dataStage: DataStage, levelStr: string) { this.data = dataStage this.letterToNumber = new Map(); this.letterToNumber.set("A", 1); this.letterToNumber.set("B", 2); this.letterToNumber.set("C", 3); this.letterToNumber.set("D", 4); this.letterToNumber.set("E", 5); this.letterToNumber.set("F", 6); this.letterToNumber.set("G", 7); this.letterToNumber.set("H", 8); this.letterToNumber.set("I", 9); this.numberToLetter = new Map(); this.numberToLetter.set(1, "a"); this.numberToLetter.set(2, "b"); this.numberToLetter.set(3, "c"); this.numberToLetter.set(4, "d"); this.numberToLetter.set(5, "e"); this.numberToLetter.set(6, "f"); this.numberToLetter.set(7, "g"); this.numberToLetter.set(8, "h"); this.numberToLetter.set(9, "i"); var blockMap: Map = new Map() for (var i=0; i { return this.data.undos } public add_undo(index: number, show: number=0, notes: Array=new Array()): void { var _notes: Array if (notes) { _notes = new Array() for (var i=0; i>>>>>>>>>>>>>>>>>>>>>>>>>>>", JSON.stringify(dataUndo)) this.data.undos.push(dataUndo) StorageManager.getInstance().onChanged() } public pop_undo(): DataUndo { var dataUndo: DataUndo if (this.data.undos.length > 0) { dataUndo = this.data.undos[this.data.undos.length-1] this.data.undos.splice(this.data.undos.length-1, 1) StorageManager.getInstance().onChanged() } return dataUndo } //====================================持久化数据 public get_blocks(): Array { return this.blocks } }