import FSprite from "../object/FSprite";
import FObject from "../object/FObject";

/**
 * 刀光
 */
const {ccclass, property} = cc._decorator;

@ccclass
export default class GEffect extends cc.Component {
    @property({
        displayName: '最大攻击人数'
    })
    maxCount: number = 1;
    /**
     * 子弹所属角色
     */
    public sprite:FSprite;
    private hitCount = 0;
    
    start () {
        this.hitCount = 0;
        let armature = this.node.getComponent(dragonBones.ArmatureDisplay);
        armature.addEventListener(dragonBones.EventObject.LOOP_COMPLETE as any ,(event)=>{
            this.node.destroy();
        }, this);
    }

    onBeginContact(contact: cc.PhysicsContact, selfCollider: cc.PhysicsCollider, otherCollider: cc.PhysicsCollider){

        if(this.hitCount >= this.maxCount){
            return;
        }
        if(this.sprite.node.group != otherCollider.node.group){
            let target = otherCollider.node.getComponent(FSprite);
            if(target){
                this.hitCount ++;
                this.sprite.atkjs(target);
            }
        }
    }
}
