@@ -25,7 +25,7 @@ namespace Ichni.RhythmGame
|
||||
{
|
||||
Hold hold = Instantiate(EditorManager.instance.basePrefabs.holdNote, parentElement.transform)
|
||||
.GetComponent<Hold>();
|
||||
|
||||
|
||||
hold.Initialize(elementName, id, tags, EditorManager.instance.useNotePrefab ? false : isFirstGenerated, parentElement);
|
||||
hold.exactJudgeTime = exactJudgeTime;
|
||||
hold.holdEndTime = holdEndTime;
|
||||
@@ -108,21 +108,39 @@ namespace Ichni.RhythmGame
|
||||
|
||||
var holdSpecial = inspector.GenerateContainer("Hold");
|
||||
var holdSpecialSubcontainer = holdSpecial.GenerateSubcontainer(3);
|
||||
var holdEndTimeInputField = inspector.GenerateInputField(this, holdSpecialSubcontainer, "holdEndTime", nameof(holdEndTime));
|
||||
var holdEndTimeInputField = inspector.GenerateInputField(this, holdSpecialSubcontainer, "holdEndTime", nameof(holdEndTime), true);
|
||||
var holdingTimeInputField = inspector.GenerateInputField(holdSpecialSubcontainer, "holdingTime", (holdEndTime - exactJudgeTime).ToString());
|
||||
holdEndTimeInputField.AddListenerFunction(() =>
|
||||
{
|
||||
holdingTimeInputField.inputField.text = (holdEndTime - exactJudgeTime).ToString();
|
||||
noteVisual?.effectSubmodule.effectCollection["Holding"].ForEach(effect =>
|
||||
{
|
||||
effect.effectTime = holdEndTime - exactJudgeTime;
|
||||
});
|
||||
});
|
||||
|
||||
holdingTimeInputField.AddListenerFunction(() =>
|
||||
{
|
||||
holdEndTime = float.Parse(holdingTimeInputField.inputField.text) + exactJudgeTime;
|
||||
noteVisual?.effectSubmodule.effectCollection["Holding"].ForEach(effect =>
|
||||
{
|
||||
effect.effectTime = holdingTime;
|
||||
});
|
||||
});
|
||||
inspector.MarkedElements["ExactJudgeTime"].AddListenerFunction(() =>
|
||||
{
|
||||
noteVisual?.effectSubmodule.effectCollection["Holding"].ForEach(effect =>
|
||||
{
|
||||
effect.effectTime = holdEndTime - exactJudgeTime;
|
||||
});
|
||||
// 新增:根据holdingTimeInputField的值更新holdEndTime
|
||||
|
||||
float holdingTimeValue;
|
||||
if (float.TryParse(holdingTimeInputField.inputField.text, out holdingTimeValue))
|
||||
{
|
||||
holdEndTime = exactJudgeTime + holdingTimeValue;
|
||||
holdEndTimeInputField.inputField.text = holdEndTime.ToString();
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -170,7 +188,7 @@ namespace Ichni.RhythmGame
|
||||
{
|
||||
isHolding = false;
|
||||
isFinalJudged = true;
|
||||
noteAudioSubmodule?.PlayNoteJudgeAudios(EditorManager.instance.currentJudgeType);
|
||||
noteAudioSubmodule?.PlayNoteJudgeAudios(EditorManager.instance.currentJudgeType);//有待商榷
|
||||
}
|
||||
|
||||
if (!isFirstJudged && songTime >= exactJudgeTime)
|
||||
@@ -182,6 +200,7 @@ namespace Ichni.RhythmGame
|
||||
|
||||
if (isFirstJudged && !isHolding && songTime < holdEndTime)
|
||||
{
|
||||
noteAudioSubmodule?.PlayNoteJudgeAudios(EditorManager.instance.currentJudgeType);
|
||||
isHolding = true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user