34 lines
		
	
	
		
			782 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			782 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { _decorator, Component, Node } from 'cc';
 | |
| import { Msg } from '../../core/msg/msg';
 | |
| const { ccclass, property } = _decorator;
 | |
| 
 | |
| @ccclass('UIFx')
 | |
| export class UIFx extends Component {
 | |
| 
 | |
|     map:Record<string, Node> = {};
 | |
| 
 | |
|     start() {
 | |
| 
 | |
|         for(let i = 0; i < this.node.children.length; i++) {
 | |
|             const child = this.node.children[i];
 | |
|             this.map[child.name] = child;
 | |
|         }
 | |
| 
 | |
|         Msg.on('msg_ui_fx_open', this.open.bind(this));
 | |
|         Msg.on('msg_ui_fx_close', this.close.bind(this));
 | |
| 
 | |
|     }
 | |
| 
 | |
|     open(name:string) {
 | |
|         const effect = this.map[name];
 | |
|         if(effect !== undefined) effect.active = true;
 | |
|     }
 | |
| 
 | |
|     close(name:string) {
 | |
|         const effect = this.map[name];
 | |
|         if(effect !== undefined) effect.active = false;
 | |
|     }
 | |
| 
 | |
| }
 | |
| 
 |