/** * 全局管理器的基类。所有全局管理器都应该从此类继承。 */ export class GlobalManager { /** * 表示管理器是否启用 */ public _enabled: boolean = false; /** * 获取或设置管理器是否启用 */ public get enabled() { return this._enabled; } public set enabled(value: boolean) { this.setEnabled(value); } /** * 设置管理器是否启用 * @param isEnabled 如果为true,则启用管理器;否则禁用管理器 */ public setEnabled(isEnabled: boolean) { if (this._enabled != isEnabled) { this._enabled = isEnabled; if (this._enabled) { // 如果启用了管理器,则调用onEnabled方法 this.onEnabled(); } else { // 如果禁用了管理器,则调用onDisabled方法 this.onDisabled(); } } } /** * 在启用管理器时调用的回调方法 */ protected onEnabled() { } /** * 在禁用管理器时调用的回调方法 */ protected onDisabled() { } /** * 更新管理器状态的方法 */ public update() { } }