Folder.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using SongLoaderPlugin.OverrideClasses;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using UnityEngine;
  8. namespace SongBrowserPlugin.DataAccess.FileSystem
  9. {
  10. class FolderBeatMapData : BeatmapData
  11. {
  12. public FolderBeatMapData(BeatmapLineData[] beatmapLinesData, BeatmapEventData[] beatmapEventData) :
  13. base(beatmapLinesData, beatmapEventData)
  14. {
  15. }
  16. }
  17. class FolderBeatMapDataSO : BeatmapDataSO
  18. {
  19. public FolderBeatMapDataSO()
  20. {
  21. BeatmapLineData lineData = new BeatmapLineData();
  22. lineData.beatmapObjectsData = new BeatmapObjectData[0];
  23. this._beatmapData = new FolderBeatMapData(
  24. new BeatmapLineData[1]
  25. {
  26. lineData
  27. },
  28. new BeatmapEventData[1]
  29. {
  30. new BeatmapEventData(0, BeatmapEventType.Event0, 0)
  31. });
  32. }
  33. }
  34. class FolderLevel : StandardLevelSO
  35. {
  36. public void Init(String relativePath, String name, Sprite coverImage)
  37. {
  38. _songName = name;
  39. _songSubName = "";
  40. _songAuthorName = "Folder";
  41. _levelID = $"Folder_{relativePath}";
  42. var beatmapData = new FolderBeatMapDataSO();
  43. var difficultyBeatmaps = new List<CustomLevel.CustomDifficultyBeatmap>();
  44. var newDiffBeatmap = new CustomLevel.CustomDifficultyBeatmap(this, LevelDifficulty.Easy, 0, 0, beatmapData);
  45. difficultyBeatmaps.Add(newDiffBeatmap);
  46. var sceneInfo = Resources.Load<SceneInfo>("SceneInfo/" + "DefaultEnvironment" + "SceneInfo");
  47. this.InitFull(_levelID, _songName, _songSubName, _songAuthorName, SongLoaderPlugin.SongLoader.TemporaryAudioClip, 1, 1, 1, 1, 1, 1, 1, coverImage, difficultyBeatmaps.ToArray(), sceneInfo);
  48. this.InitData();
  49. }
  50. }
  51. }