public static void BuildLevel(LDtkDataProject project, LDtkLevelIdentifier levelToBuild, LDtkProjectAssets assets) { if (assets == null) { Debug.LogError("LDtk: ProjectAssets object is null; not building level."); return; } if (levelToBuild == null) { Debug.LogError("LDtk: LDtkLevelIdentifier object is null; not building level."); return; } if (!LDtkUnityTilesetBuilder.ValidateTilemapPrefabRequirements(assets.TilemapPrefab)) { return; } bool success = GetProjectLevelByID(project.levels, levelToBuild, out LDtkDataLevel level); if (!success) { return; } string debugLvlName = $"\"{level.identifier}\""; //Debug.Log($"LDtk: Building level: {debugLvlName}"); Stopwatch levelBuildTimer = Stopwatch.StartNew(); BuildProcess(project, level, assets); levelBuildTimer.Stop(); double ms = levelBuildTimer.ElapsedMilliseconds; Debug.Log($"LDtk: Built level {debugLvlName} in {ms}ms ({ms/1000}s)"); OnLevelBuilt?.Invoke(level); }