/// <summary>
        /// Moves an entity between maps.
        /// </summary>
        /// <param name="entity">The entity changing maps.</param>
        /// <param name="oldmapid">The old map's ID.</param>
        /// <param name="newmapid">The new map's ID.</param>
        public virtual void ChangeMaps(Entity entity, string oldmapid, string newmapid)
        {
            Map oldmap = GetMap(oldmapid);
            Map newmap = GetMap(newmapid);

            oldmap.Entities.RemoveEntity(entity.ID);
            newmap.Entities.AddEntity(entity);

            if (!oldmap.IsPersistent())
            {
                RemoveMap(oldmapid);
            }

            if (entity.IsPlayer())
            {
                //TRANSITION STUFF
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="Component"/> class.
 /// </summary>
 /// <param name="owner">The entity who owns the component.</param>
 public Component(Entity owner)
 {
     Owner = owner;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="Logic"/> class.
 /// </summary>
 /// <param name="owner">The entity who owns the component.</param>
 public Logic(Entity owner)
 {
     Owner = owner;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="EntitySnapCamera"/> class.
 /// </summary>
 /// <param name="screenresolution">The screenresolution.</param>
 /// <param name="mapsize">The mapsize.</param>
 /// <param name="drawborder">The drawborder.</param>
 /// <param name="target">The target.</param>
 public EntitySnapCamera(Vector screenresolution, Vector mapsize, Vector drawborder, Entity target)
     : base(screenresolution, mapsize, drawborder)
 {
     Target = target;
     Position = Target.Position;
 }
 /// <summary>
 /// Gets the target position.
 /// </summary>
 /// <param name="entity">The entity.</param>
 /// <returns></returns>
 public virtual Vector GetTargetPosition(Entity entity)
 {
     return TargetPosition + (entity.Position - new Vector(Hitbox.X, Hitbox.Y));
 }
 /// <summary>
 /// Returns whether or not an entity is in a door.
 /// </summary>
 /// <param name="entity">The entity to check.</param>
 /// <returns></returns>
 public virtual bool EntityInDoor(Entity entity)
 {
     return Hitbox.Intersects(entity.Hitbox);
 }