12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import { LQCollide } from "../../../lq_collide_system/lq_collide";
- import { LQCollideBase } from "../../../lq_collide_system/lq_collide_base";
- import { LQCollideInfoList } from "../../../lq_collide_system/lq_collide_config";
- import { EffectMgr } from "../nest/effectMgr";
- import Player from "../player";
- const {ccclass, property, requireComponent} = cc._decorator;
- @ccclass
- @requireComponent(LQCollideBase)
- export default class monsterbullet extends LQCollide {
- /*===========================自动绑定组件开始===========================*/
- /*===========================自动绑定组件结束===========================*/
- /*===========================自动生成按钮事件开始==========================*/
- /*===========================自动生成按钮事件结束==========================*/
- atk: number = 1;
- bulletId: string;
- monsterZooid: number;
- _uid: string; // 同一敌军的同一批子弹,对玩家造成伤害有cd限制
- protected onLoad(): void {
- cc.log('[monsterbullet] [onLoad]');
- }
- public on_enter(collide: LQCollide): void {
- cc.log('[monsterbullet] [on_enter]');
- if(collide.collide_group_index == LQCollideInfoList.role) {
- let player = collide.node.getComponent(Player);
- if(player.canAtk(this.getUid())){
- player.beAtked(this.getUid());
- let worldPos = this.node.convertToWorldSpaceAR(cc.Vec2.ZERO);
- EffectMgr.inst.createHarmNum(worldPos, this.atk);
- }
- }
- this.node.destroy();
- }
- setDirction(dir: cc.Vec2){
- let angle = cc.v2(0,1).signAngle(dir) / Math.PI * 180;
- this.node.angle = angle;
- }
- getUid(){
- if(!this._uid){
- this._uid = this.bulletId + '-' + this.monsterZooid.toString();
- }
- return this._uid
- }
- }
|