public char GetTileSprite(IntVector2 tilePos) { List <int> behaviors = GetTileBehaviors(tilePos); char result = tiles[tilePos.X, tilePos.Y].GetSprite(); int behaviorPriority = int.MaxValue; foreach (int id in behaviors) { TileBehavior b = _scene.GetGameObjectPool().GetTileBehavior(id); if (b.GetPriority() < behaviorPriority && b.GetSprite() != ' ') { behaviorPriority = b.GetPriority(); result = b.GetSprite(); } } return(result); }