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(); }
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)); } }
public Shield(Entity o, Blockbox b) { owner = o; blockbox = b; }