InputBlock.ts 731 B

1234567891011121314151617181920212223242526272829
  1. import { _decorator, BlockInputEvents, Component, Node } from 'cc';
  2. const { ccclass, requireComponent, disallowMultiple } = _decorator;
  3. @ccclass('Misc/InputBlock')
  4. @disallowMultiple(true)
  5. @requireComponent(BlockInputEvents)
  6. export class InputBlock extends Component {
  7. private static _inst: InputBlock
  8. public static set Active(v: boolean) {
  9. this._inst.node.active = v
  10. }
  11. protected onLoad(): void {
  12. InputBlock._inst = this
  13. InputBlock.Active = false
  14. }
  15. public static setActive(duration: number): void {
  16. this._inst.unscheduleAllCallbacks()
  17. this.Active = true
  18. this._inst.scheduleOnce(() => {
  19. InputBlock.Active = false
  20. }, duration)
  21. }
  22. }