protected override void InitialiseEditorTileAreas(MazeLevelData mazeLevelData)
 {
     for (int i = 0; i < mazeLevelData.TileAreas.Count; i++)
     {
         SerialisableTileArea serialisableTileArea = mazeLevelData.TileAreas[i];
         TileArea             newTileArea          = new TileArea(serialisableTileArea);
         TileAreas.Add(newTileArea.Id, newTileArea);
     }
 }
    private void AddTileAreas(SerialisableTile serialisableTile, MazeTile tile)
    {
        for (int i = 0; i < serialisableTile.TileAreaIds?.Count; i++)
        {
            string tileAreaId = serialisableTile.TileAreaIds[i];

            if (TileAreas.TryGetValue(tileAreaId, out TileArea tileArea))
            {
                tile.AddTileArea(tileArea);
            }
        }
    }