Пример #1
0
        public void Move(bool thenStop)
        {
            if (moveDelay.Check(true) & !CheckForCollisions(true).collision)
            {
                rect.position.Update(direction);

                if (thenStop)
                {
                    direction.v = 0;
                }
            }
        }
Пример #2
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();
        }
Пример #3
0
 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);
         }
     }
 }