1234567891011121314151617181920212223242526272829303132333435363738394041 |
- export class InputMgr{
- private STATE_NORMAL = 1;
- private STATE_KEEP = 2;
- private static _inst:InputMgr = null;
- private _flags = {};
- private _flagsMeta = {};
- public static get inst():InputMgr{
- if(!this._inst){
- this._inst = new InputMgr();
- }
- return this._inst;
- }
- public setFlag(flag:string,keep?:boolean,meta?:any){
- this._flags[flag] = keep? this.STATE_KEEP:this.STATE_NORMAL;
- if(meta != null){
- this._flagsMeta[flag] = meta;
- }
- }
- public removeFlag(flag:string){
- delete this._flags[flag];
- }
- public hasFlag(flag:string):boolean{
- return !!this._flags[flag];
- }
- public getMetaByFlag(flag:string):any{
- return this._flagsMeta[flag];
- }
- public update(){
- for(let k in this._flags){
- if(this._flags[k] != this.STATE_KEEP){
- this._flags[k] = 0;
- }
- }
- }
- }
|