Files
jongjae0305 c335995a9a feat: update song selection, score UI, and song creator features
- SongSelectManager/SongDetailPanel: 곡 선택 및 상세 패널 개선
- SongCreatorManager: 곡 생성 기능 추가
- FinalScoreLabel/ScoreManager: 결과 화면 점수 UI 업데이트
- MarqueeText: 마퀴 텍스트 컴포넌트 개선
- NoteData/SongController: 노트 데이터 및 컨트롤러 보완

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 17:29:50 +09:00

81 lines
1.6 KiB
C#

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;
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;
}
[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;
}