Files
ichni_Official/Assets/Scripts/Game/GameElements/Notes/JudgeSubmodules/NoteJudgeSubmodule.cs
SoulliesOfficial 7580c4d87c 大更
2026-03-14 03:13:10 -04:00

60 lines
1.8 KiB
C#

using System.Collections;
using System.Collections.Generic;
using Ichni.RhythmGame.Beatmap;
using UnityEngine;
namespace Ichni.RhythmGame
{
public partial class NoteJudgeSubmodule : SubmoduleBase
{
#region [] Judge Units
public List<NoteJudgeUnit> judgeUnitList;
private NoteBase note => attachedGameElement as NoteBase;
#endregion
#region [] Initialization
public NoteJudgeSubmodule(NoteBase attachedGameElement) : base(attachedGameElement)
{
judgeUnitList = new List<NoteJudgeUnit>();
if (!HaveSameSubmodule)
{
this.note.NoteJudgeSubmodule = this;
}
}
public NoteJudgeSubmodule(NoteBase attachedGameElement, List<NoteJudgeUnit_BM> judgeUnitList_BM) : base(attachedGameElement)
{
judgeUnitList = new List<NoteJudgeUnit>();
foreach (NoteJudgeUnit_BM judgeUnitBM in judgeUnitList_BM)
{
judgeUnitList.Add(judgeUnitBM.ConvertToGameType(attachedGameElement));
}
if (!HaveSameSubmodule)
{
this.note.NoteJudgeSubmodule = this;
}
}
#endregion
}
#region [] Collection Factory
public partial class NoteJudgeSubmodule
{
private static Dictionary<string, NoteJudgeUnit> JudgeUnitCollection(NoteBase note) =>
new Dictionary<string, NoteJudgeUnit>()
{
{ "TouchArea", new TouchAreaJudgeUnit(note, 1000) },
{ "FullScreenNearTime", new FullScreenNearTimeJudgeUnit(note) },
{ "TriggerConnect", new TriggerConnectJudgeUnit(note, null) }
};
}
#endregion
#region [Beatmap] Executing and Reversing
#endregion
}