2026-05-21 23:37:34 +09:00
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
|
|
[Serializable]
|
|
|
|
|
public class NoteData
|
|
|
|
|
{
|
|
|
|
|
public float time;
|
|
|
|
|
public int position; // column 0-3
|
|
|
|
|
public int lineLayer; // row 0-2
|
|
|
|
|
public int colorType; // 0=red, 1=blue
|
|
|
|
|
public int cutDirection; // 0-8 (see Beat Saber spec)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Serializable]
|
|
|
|
|
public class MapData
|
|
|
|
|
{
|
|
|
|
|
public List<NoteData> target;
|
2026-05-29 17:29:50 +09:00
|
|
|
public ForcedResultData forcedResult;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Serializable]
|
|
|
|
|
public class ForcedResultData
|
|
|
|
|
{
|
|
|
|
|
public bool enabled;
|
|
|
|
|
public int totalNotes;
|
|
|
|
|
public int perfect;
|
|
|
|
|
public int great;
|
|
|
|
|
public int good;
|
|
|
|
|
public int miss;
|
|
|
|
|
public int maxCombo;
|
2026-05-21 23:37:34 +09:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Serializable]
|
|
|
|
|
public class SongsList
|
|
|
|
|
{
|
|
|
|
|
public string version;
|
|
|
|
|
public List<SongInfo> songs;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Serializable]
|
|
|
|
|
public class SongInfo
|
|
|
|
|
{
|
|
|
|
|
public string id;
|
|
|
|
|
public string title;
|
|
|
|
|
public string artist;
|
|
|
|
|
public float bpm;
|
|
|
|
|
public int duration;
|
|
|
|
|
public string audioFile;
|
|
|
|
|
public long audioSize;
|
|
|
|
|
public string coverImage;
|
|
|
|
|
public DifficultyMap difficulties;
|
|
|
|
|
public string addedAt;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Serializable]
|
|
|
|
|
public class DifficultyMap
|
|
|
|
|
{
|
|
|
|
|
public DifficultyInfo normal;
|
|
|
|
|
public DifficultyInfo hard;
|
|
|
|
|
public DifficultyInfo expert;
|
|
|
|
|
public DifficultyInfo expertplus;
|
|
|
|
|
|
|
|
|
|
public DifficultyInfo Get(string key) => key switch
|
|
|
|
|
{
|
|
|
|
|
"normal" => normal,
|
|
|
|
|
"hard" => hard,
|
|
|
|
|
"expert" => expert,
|
|
|
|
|
"expertplus" => expertplus,
|
|
|
|
|
_ => null
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Serializable]
|
|
|
|
|
public class DifficultyInfo
|
|
|
|
|
{
|
|
|
|
|
public string mapFile;
|
|
|
|
|
public long mapSize;
|
|
|
|
|
public int noteCount;
|
|
|
|
|
}
|