修noteprefab和submodule

This commit is contained in:
SoulliesOfficial
2025-05-10 23:28:21 -04:00
parent 9e65c7eea0
commit ab2f79090e
19 changed files with 163 additions and 78 deletions

View File

@@ -17,7 +17,7 @@ namespace Ichni.RhythmGame
public List<string> holdStartAudioList;
private NoteBase note => attachedGameElement as NoteBase;
public NoteAudioSubmodule(NoteBase attachedGameElement, string defaultAudio) : base(attachedGameElement)
{
generalJudgeAudioList = new List<string>();
@@ -26,14 +26,17 @@ namespace Ichni.RhythmGame
badAudioList = new List<string>();
missAudioList = new List<string>();
holdStartAudioList = new List<string>();
generalJudgeAudioList.Add(defaultAudio);
this.note.noteAudioSubmodule = this;
if (!HaveSameSubmodule)
{
this.note.noteAudioSubmodule = this;
}
}
public NoteAudioSubmodule(NoteBase attachedGameElement, List<string> generalJudgeAudioList,
List<string> perfectAudioList, List<string> goodAudioList, List<string> badAudioList,
public NoteAudioSubmodule(NoteBase attachedGameElement, List<string> generalJudgeAudioList,
List<string> perfectAudioList, List<string> goodAudioList, List<string> badAudioList,
List<string> missAudioList, List<string> holdStartAudioList) : base(attachedGameElement)
{
this.generalJudgeAudioList = generalJudgeAudioList;
@@ -42,8 +45,11 @@ namespace Ichni.RhythmGame
this.badAudioList = badAudioList;
this.missAudioList = missAudioList;
this.holdStartAudioList = holdStartAudioList ?? new List<string>();
this.note.noteAudioSubmodule = this;
if (!HaveSameSubmodule)
{
this.note.noteAudioSubmodule = this;
}
}
}

View File

@@ -10,24 +10,30 @@ namespace Ichni.RhythmGame
{
public List<NoteJudgeUnit> judgeUnitList;
private NoteBase note => attachedGameElement as NoteBase;
public NoteJudgeSubmodule(NoteBase attachedGameElement) : base(attachedGameElement)
{
judgeUnitList = new List<NoteJudgeUnit>();
this.note.noteJudgeSubmodule = this;
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));
}
this.note.noteJudgeSubmodule = this;
if (!HaveSameSubmodule)
{
this.note.noteJudgeSubmodule = this;
}
}
}

View File

@@ -20,6 +20,12 @@ namespace Ichni.RhythmGame
{
Flick flick = Instantiate(EditorManager.instance.basePrefabs.flickNote, parentElement.transform)
.GetComponent<Flick>();
if (EditorManager.instance.useNotePrefab)
{
isFirstGenerated = false;
}
flick.Initialize(elementName, id, tags, isFirstGenerated, parentElement);
flick.exactJudgeTime = exactJudgeTime;
flick.availableFlickDirections = directions;

View File

@@ -22,6 +22,12 @@ namespace Ichni.RhythmGame
{
Hold hold = Instantiate(EditorManager.instance.basePrefabs.holdNote, parentElement.transform)
.GetComponent<Hold>();
if (EditorManager.instance.useNotePrefab)
{
isFirstGenerated = false;
}
hold.Initialize(elementName, id, tags, isFirstGenerated, parentElement);
hold.exactJudgeTime = exactJudgeTime;
hold.holdEndTime = holdEndTime;

View File

@@ -16,6 +16,12 @@ namespace Ichni.RhythmGame
GameElement parentElement, float exactJudgeTime)
{
Stay stay = Instantiate(EditorManager.instance.basePrefabs.stayNote, parentElement.transform).GetComponent<Stay>();
if (EditorManager.instance.useNotePrefab)
{
isFirstGenerated = false;
}
stay.Initialize(elementName, id, tags, isFirstGenerated, parentElement);
stay.exactJudgeTime = exactJudgeTime;

View File

@@ -17,6 +17,12 @@ namespace Ichni.RhythmGame
{
Tap tap = Instantiate(EditorManager.instance.basePrefabs.tapNote, parentElement.transform)
.GetComponent<Tap>();
if (EditorManager.instance.useNotePrefab)
{
isFirstGenerated = false;
}
tap.Initialize(elementName, id, tags, isFirstGenerated, parentElement);
tap.exactJudgeTime = exactJudgeTime;