修复
This commit is contained in:
@@ -11,6 +11,7 @@ namespace Ichni.RhythmGame.Beatmap
|
||||
public List<string> badAudioList;
|
||||
public List<string> missAudioList;
|
||||
public List<string> holdStartAudioList;
|
||||
public List<string> holdEndAudioList;
|
||||
|
||||
public NoteAudioSubmodule_BM()
|
||||
{
|
||||
@@ -25,20 +26,23 @@ namespace Ichni.RhythmGame.Beatmap
|
||||
badAudioList = noteAudioSubmodule.badAudioList;
|
||||
missAudioList = noteAudioSubmodule.missAudioList;
|
||||
holdStartAudioList = noteAudioSubmodule.holdStartAudioList;
|
||||
holdEndAudioList = noteAudioSubmodule.holdEndAudioList;
|
||||
}
|
||||
|
||||
public override void ExecuteBM()
|
||||
{
|
||||
attachedElement = GameElement_BM.GetElement(attachedElementGuid);
|
||||
(attachedElement as NoteBase).noteAudioSubmodule = new NoteAudioSubmodule((attachedElement as NoteBase),
|
||||
generalJudgeAudioList, perfectAudioList, goodAudioList, badAudioList, missAudioList, holdStartAudioList);
|
||||
generalJudgeAudioList, perfectAudioList, goodAudioList, badAudioList, missAudioList,
|
||||
holdStartAudioList, holdEndAudioList);
|
||||
}
|
||||
|
||||
#region [Editor 独有接口] Editor Interfaces
|
||||
public override void DuplicateBM(GameElement attached)
|
||||
{
|
||||
(attached as NoteBase).noteAudioSubmodule = new NoteAudioSubmodule((attached as NoteBase),
|
||||
generalJudgeAudioList, perfectAudioList, goodAudioList, badAudioList, missAudioList, holdStartAudioList);
|
||||
generalJudgeAudioList, perfectAudioList, goodAudioList, badAudioList, missAudioList,
|
||||
holdStartAudioList, holdEndAudioList);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
@@ -42,6 +42,9 @@ namespace Ichni.RhythmGame
|
||||
builder.Button("Hold Start", () =>
|
||||
inspection.GenerateCompositeParameterWindow(this, "Hold Start Sound List",
|
||||
nameof(holdStartAudioList)).SetAsStringList());
|
||||
builder.Button("Hold End", () =>
|
||||
inspection.GenerateCompositeParameterWindow(this, "Hold End Sound List",
|
||||
nameof(holdEndAudioList)).SetAsStringList());
|
||||
}
|
||||
|
||||
builder.Build();
|
||||
|
||||
@@ -19,6 +19,8 @@ MonoBehaviour:
|
||||
- {fileID: 8300000, guid: 659cb798f955c8f4bb530bf89f54e2cc, type: 3}
|
||||
- {fileID: 8300000, guid: 617b904af4f9aa4479b11e83947d02fd, type: 3}
|
||||
- {fileID: 8300000, guid: 2f7fd91efed73944e8bff00715bd1202, type: 3}
|
||||
- {fileID: 8300000, guid: 6fe5a0c30cc449445b852ff0463a4205, type: 3}
|
||||
- {fileID: 8300000, guid: eeef95cf1b0383642a5b27217fa0e681, type: 3}
|
||||
SerializedBytesString:
|
||||
Prefab: {fileID: 0}
|
||||
PrefabModificationsReferencedUnityObjects: []
|
||||
@@ -82,7 +84,7 @@ MonoBehaviour:
|
||||
Data: DefaultStartHold
|
||||
- Name: $v
|
||||
Entry: 10
|
||||
Data: 0
|
||||
Data: 3
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
@@ -94,7 +96,7 @@ MonoBehaviour:
|
||||
Data: DefaultEndHold
|
||||
- Name: $v
|
||||
Entry: 10
|
||||
Data: 0
|
||||
Data: 4
|
||||
- Name:
|
||||
Entry: 8
|
||||
Data:
|
||||
|
||||
@@ -14,6 +14,7 @@ namespace Ichni.RhythmGame
|
||||
public List<string> badAudioList;
|
||||
public List<string> missAudioList;
|
||||
public List<string> holdStartAudioList;
|
||||
public List<string> holdEndAudioList;
|
||||
|
||||
private NoteBase note => attachedGameElement as NoteBase;
|
||||
#endregion
|
||||
@@ -27,6 +28,7 @@ namespace Ichni.RhythmGame
|
||||
badAudioList = new List<string>();
|
||||
missAudioList = new List<string>();
|
||||
holdStartAudioList = new List<string>();
|
||||
holdEndAudioList = new List<string>();
|
||||
|
||||
generalJudgeAudioList.Add(defaultAudio);
|
||||
|
||||
@@ -38,14 +40,16 @@ namespace Ichni.RhythmGame
|
||||
|
||||
public NoteAudioSubmodule(NoteBase attachedGameElement, List<string> generalJudgeAudioList,
|
||||
List<string> perfectAudioList, List<string> goodAudioList, List<string> badAudioList,
|
||||
List<string> missAudioList, List<string> holdStartAudioList) : base(attachedGameElement)
|
||||
List<string> missAudioList, List<string> holdStartAudioList,
|
||||
List<string> holdEndAudioList = null) : base(attachedGameElement)
|
||||
{
|
||||
this.generalJudgeAudioList = generalJudgeAudioList;
|
||||
this.perfectAudioList = perfectAudioList;
|
||||
this.goodAudioList = goodAudioList;
|
||||
this.badAudioList = badAudioList;
|
||||
this.missAudioList = missAudioList;
|
||||
this.generalJudgeAudioList = generalJudgeAudioList ?? new List<string>();
|
||||
this.perfectAudioList = perfectAudioList ?? new List<string>();
|
||||
this.goodAudioList = goodAudioList ?? new List<string>();
|
||||
this.badAudioList = badAudioList ?? new List<string>();
|
||||
this.missAudioList = missAudioList ?? new List<string>();
|
||||
this.holdStartAudioList = holdStartAudioList ?? new List<string>();
|
||||
this.holdEndAudioList = holdEndAudioList ?? new List<string>();
|
||||
|
||||
if (!HaveSameSubmodule)
|
||||
{
|
||||
@@ -59,6 +63,17 @@ namespace Ichni.RhythmGame
|
||||
{
|
||||
PlayAudio(holdStartAudioList);
|
||||
}
|
||||
|
||||
public void PlayHoldEndAudio()
|
||||
{
|
||||
if (holdEndAudioList != null && holdEndAudioList.Count > 0)
|
||||
{
|
||||
PlayAudio(holdEndAudioList);
|
||||
return;
|
||||
}
|
||||
|
||||
PlayAudio(generalJudgeAudioList);
|
||||
}
|
||||
|
||||
public void PlayNoteJudgeAudios(NoteBase.NoteJudgeType judgeType)
|
||||
{
|
||||
@@ -93,4 +108,4 @@ namespace Ichni.RhythmGame
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,10 +82,11 @@ namespace Ichni.RhythmGame
|
||||
public override void SetDefaultSubmodules()
|
||||
{
|
||||
base.SetDefaultSubmodules();
|
||||
noteAudioSubmodule ??= new NoteAudioSubmodule(this, new List<string>() { "DefaultEndHold" },
|
||||
noteAudioSubmodule ??= new NoteAudioSubmodule(this, new List<string>(),
|
||||
new List<string>(), new List<string>(),
|
||||
new List<string>(), new List<string>(),
|
||||
new List<string>() { "DefaultStartHold" });
|
||||
new List<string>() { "DefaultStartHold" },
|
||||
new List<string>() { "DefaultEndHold" });
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -161,6 +162,7 @@ namespace Ichni.RhythmGame
|
||||
{
|
||||
isHolding = false;
|
||||
isFinalJudged = true;
|
||||
noteAudioSubmodule?.PlayHoldEndAudio();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -172,7 +174,7 @@ namespace Ichni.RhythmGame
|
||||
// 检查是否可以开始hold
|
||||
if (songTime <= holdEndTime)
|
||||
{
|
||||
noteAudioSubmodule?.PlayNoteJudgeAudios(EditorManager.instance.currentJudgeType);
|
||||
noteAudioSubmodule?.PlayHoldStartAudio();
|
||||
isHolding = true;
|
||||
holdingTime = songTime - exactJudgeTime;
|
||||
}
|
||||
@@ -252,4 +254,4 @@ namespace Ichni.RhythmGame
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user