public void Move(bool thenStop) { if (moveDelay.Check(true) & !CheckForCollisions(true).collision) { rect.position.Update(direction); if (thenStop) { direction.v = 0; } } }
public static void Update(bool stopMotion) { gameTicker.Check(true); foreach (Entity entity in entities) { if (!excludedLayers.Exists(x => x == entity.layer) & entity.layer >= 0) { if (entity.id == "player") { bool scroll = false; if (entity.rect.left <scrollFreeZone.left | entity.rect.right> scrollFreeZone.right | entity.rect.top <scrollFreeZone.top | entity.rect.bottom> scrollFreeZone.bottom) { scroll = true; } entity.Move(stopMotion, scroll); } else { entity.Move(stopMotion); } } } ConstructScene(); Window.screenRegions.RemoveAt(0); Window.screenRegions.Insert(0, gameRegion); Window.Update(); }
public static void MoveViewport(Vector direction, bool delay) { if (viewport.position.x + direction.x >= 0 & viewport.position.x + viewport.size.x + direction.x <= size.x & viewport.position.y + direction.y >= 0 & viewport.position.y + viewport.size.y + direction.y <= size.y) { if (delay & viewportTicker.Check(true)) { viewport.position.Update(direction); } else { viewport.position.Update(direction); } } }