1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import { _decorator, Component, Node } from 'cc';
- import { LieDetectorManager } from './LieDetectorManager';
- const { ccclass, property } = _decorator;
- /**
- * 测谎仪触发器,用于点击场景中的测谎仪图片时激活测谎仪UI
- */
- @ccclass('LieDetectorTrigger')
- export class LieDetectorTrigger extends Component {
- @property({
- type: LieDetectorManager,
- tooltip: '测谎仪管理器引用'
- })
- detectorManager: LieDetectorManager = null;
-
- @property({
- tooltip: '是否启用触发器'
- })
- isEnabled: boolean = true;
-
- start() {
- // 注册节点点击事件
- this.node.on(Node.EventType.TOUCH_END, this.onDetectorClicked, this);
- }
-
- /**
- * 测谎仪被点击时的处理
- */
- private onDetectorClicked() {
- if (!this.isEnabled) {
- return;
- }
-
- console.log('测谎仪图片被点击');
-
- // 如果有测谎仪管理器引用,则显示测谎仪UI
- if (this.detectorManager) {
- this.detectorManager.showDetectorPanel();
- } else {
- console.error('未设置测谎仪管理器引用,无法显示测谎仪UI');
- }
- }
-
- /**
- * 启用触发器
- */
- public enable() {
- this.isEnabled = true;
- }
-
- /**
- * 禁用触发器
- */
- public disable() {
- this.isEnabled = false;
- }
-
- onDestroy() {
- // 移除事件监听
- this.node.off(Node.EventType.TOUCH_END, this.onDetectorClicked, this);
- }
- }
|