public MeleeAttack(Entity entity, MeleeWeapon meleeWeapon) : base(entity, meleeWeapon.attack)
    {
        meleeObject   = meleeWeapon.attack.meleeObjectPrototype;
        speed         = meleeWeapon.attributes.GetAttribute(WeaponAttributesType.AttackSpeed).GetValue();
        coolDown      = coolDown * speed;
        startUpFrames = (int)(startUpFrames * speed);
        duration      = duration * speed;

        //Override these values with the weapons values
        baseDamage = (int)meleeWeapon.attributes.GetAttribute(WeaponAttributesType.Damage).GetValue();
    }
    public MeleeAttackObject(MeleeAttackObjectPrototype proto, MeleeAttack attack, Vector2 direction) : base(proto, attack, direction)
    {
        hitbox = new Hitbox(this, new CustomAABB(Position, proto.hitboxSize, new Vector2(0, proto.hitboxSize.y)));

        this.attack = attack;
        mMaxTime    = attack.duration;
        //Body.mState = ColliderState.Closed;
        SetOwner(attack.mEntity);
        isAngled = proto.angled;
        //mMovingSpeed = 100;


        if (SoundManager.instance != null)
        {
            SoundManager.instance.PlaySingle(proto.spawnSFX);
        }
    }
 public MeleeAttack(Entity entity, MeleeAttackPrototype proto) : base(entity, proto)
 {
     meleeObject = proto.meleeObjectPrototype;
 }