Exemplo n.º 1
0
 public ForceField(EntityPrototype proto, Player owner, Vector2 offset, ForceFieldGadget gadget) : base(proto)
 {
     this.owner           = owner;
     this.gadget          = gadget;
     ownerOffset          = offset;
     mMovingSpeed         = 0;
     Body.mIgnoresGravity = true;
     shieldBox            = new Blockbox(this, new CustomAABB(Position, proto.bodySize, new Vector2(0, proto.bodySize.y)));
     shieldBox.UpdatePosition();
 }
Exemplo n.º 2
0
    public static void BlockCollision(Blockbox obj1, Hitbox obj2)
    {
        if (obj1.mEntity.mEntityType == obj2.mEntity.mEntityType)
        {
            return;
        }

        if (obj2.mEntity is AttackObject proj)
        {
            if (proj.owner.mEntityType == obj1.mEntity.mEntityType)
            {
                return;
            }
        }


        if (obj1.mAABB.Overlaps(obj2.mAABB))
        {
            obj2.Blocked();
            //new CollisionData(hurtbox, new Vector2(overlapWidth, overlapHeight), hitbox.mSpeed, hurtbox.mSpeed, hitbox.mOldPosition, hurtbox.mOldPosition, hitbox.mPosition, hurtbox.mPosition));
            //hurtbox.mAllCollidingObjects.Add(new CollisionData(hitbox, -new Vector2(overlapWidth, overlapHeight), hurtbox.mSpeed, hitbox.mSpeed, hurtbox.mOldPosition, hitbox.mOldPosition, hurtbox.mPosition, hitbox.mPosition));
        }
    }
Exemplo n.º 3
0
 public Shield(Entity o, Blockbox b)
 {
     owner    = o;
     blockbox = b;
 }