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); } }