Example #1
0
 /// <summary>
 /// Try to enter a nearby level.
 /// </summary>
 virtual protected void TryEnterLevel()
 {
     Collider2D[] hitColliders = Physics2D.OverlapCircleAll(transform.position, leeway);
     if (hitColliders.Length > 0)
     {
         foreach (Collider2D hit in hitColliders)
         {
             UILevelSelectTile currentTile = hit.GetComponent <UILevelSelectTile>();
             if (currentTile != null && currentTile.AllowsEnter())
             {
                 currentTile.EnterLevel();
             }
         }
     }
 }
Example #2
0
 /// <summary>
 /// Checks for tile underneath the character.
 /// </summary>
 /// <returns>The level select tile if found, or the tile the character is moving on.</returns>
 virtual protected bool TileAllowsMove(int x, int y)
 {
     Collider2D[] hitColliders = Physics2D.OverlapCircleAll(transform.position, leeway);
     if (hitColliders.Length > 0)
     {
         foreach (Collider2D hit in hitColliders)
         {
             UILevelSelectTile currentTile = hit.GetComponent <UILevelSelectTile>();
             if (currentTile != null && currentTile.AllowsMove(x, y))
             {
                 // Snap to centre
                 currentTile.Snap(this);
                 return(true);
             }
         }
     }
     return(false);
 }