import { _decorator, Component, Node } from 'cc'; import { app } from '../../../App'; import GRoleDefault from '../../../battle/base/role/GRoleDefault'; import { GData } from '../../../consts/GData'; import { v2 } from 'cc'; import { Prefab } from 'cc'; import { instantiate } from 'cc'; import { v3 } from 'cc'; import { ModeRenderHitText } from './ModeRenderHitText'; import { Vec2 } from 'cc'; const { ccclass, property } = _decorator; export enum ModeRenderEvent{ //受击 HIT = "ModeRenderEvent_HIT" } @ccclass('ModeRender') export class ModeRender extends Component { //受击预制体 @property(Prefab) hitPrefab:Prefab; onLoad(){ app.event.on(ModeRenderEvent.HIT,this.onHit,this); } protected onDestroy(): void { app.event.off(ModeRenderEvent.HIT,this.onHit,this); } //受击 onHit(pos:Vec2,hit:number){ let rolePos = GData.WorldCanvas.camera.worldToScreen(v3(pos.x,pos.y)); let hitNode = instantiate(this.hitPrefab); this.node.addChild(hitNode); hitNode.position = rolePos.add(v3(0,100,0)); hitNode.getComponent(ModeRenderHitText).setText(hit); } }