重构inspector!
This commit is contained in:
@@ -32,12 +32,11 @@ namespace Ichni.RhythmGame
|
||||
Inspector inspectorMain = EditorManager.instance.uiManager.inspector;
|
||||
|
||||
var container = inspector.GenerateContainer("Full Screen Near Time Judge Unit");
|
||||
|
||||
var isShowingJudgeField = inspector.GenerateToggle(this, container, "Is Showing Judge", nameof(isShowingJudge));
|
||||
|
||||
isShowingJudgeField.AddListenerFunction(() => SetShowingJudge(isShowingJudge));
|
||||
|
||||
var removeButton = inspector.GenerateButton(this, container, "Remove", () =>
|
||||
var judgeModuleSettings = container.GenerateSubcontainer(3);
|
||||
var isShowingJudgeField =
|
||||
inspector.GenerateToggle(this, judgeModuleSettings, "Is Showing Judge", nameof(isShowingJudge))
|
||||
.AddListenerFunction(() => SetShowingJudge(isShowingJudge));
|
||||
var removeButton = inspector.GenerateButton(this, judgeModuleSettings, "Remove", () =>
|
||||
{
|
||||
SetShowingJudge(false);
|
||||
note.noteJudgeSubmodule.judgeUnitList.Remove(this);
|
||||
|
||||
@@ -43,19 +43,19 @@ namespace Ichni.RhythmGame
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
Inspector inspectorMain = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("Judge Submodule");
|
||||
|
||||
foreach (var judgeUnit in judgeUnitList)
|
||||
{
|
||||
judgeUnit.SetUpInspector();
|
||||
}
|
||||
|
||||
var effectNameInputField = inspector.GenerateInputField(container, "Judge Unit Name");
|
||||
var addJudgeUnitButton = inspector.GenerateButton(this, container, "Add Judge Unit",
|
||||
var submoduleSettings = container.GenerateSubcontainer(3);
|
||||
var effectNameInputField = inspector.GenerateInputField(submoduleSettings, "Judge Unit Name");
|
||||
var addJudgeUnitButton = inspector.GenerateButton(this, submoduleSettings, "Add Judge Unit",
|
||||
() =>
|
||||
{
|
||||
AddJudgeUnit(effectNameInputField.GetValue<string>());
|
||||
inspectorMain.SetInspector(note);
|
||||
});
|
||||
|
||||
foreach (var judgeUnit in judgeUnitList)
|
||||
{
|
||||
judgeUnit.SetUpInspector();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -37,13 +37,12 @@ namespace Ichni.RhythmGame
|
||||
Inspector inspectorMain = EditorManager.instance.uiManager.inspector;
|
||||
|
||||
var container = inspector.GenerateContainer("Touch Area Judge Unit");
|
||||
|
||||
var isShowingJudgeField = inspector.GenerateToggle(this, container, "Is Showing Judge", nameof(isShowingJudge));
|
||||
isShowingJudgeField.AddListenerFunction(() => SetShowingJudge(isShowingJudge));
|
||||
|
||||
var areaRadiusField = inspector.GenerateInputField(this, container, "Area Radius", nameof(areaRadius));
|
||||
|
||||
var removeButton = inspector.GenerateButton(this, container, "Remove", () =>
|
||||
var judgeModuleSettings = container.GenerateSubcontainer(3);
|
||||
var isShowingJudgeField =
|
||||
inspector.GenerateToggle(this, judgeModuleSettings, "Is Showing Judge", nameof(isShowingJudge))
|
||||
.AddListenerFunction(() => SetShowingJudge(isShowingJudge));
|
||||
var areaRadiusField = inspector.GenerateInputField(this, judgeModuleSettings, "Area Radius", nameof(areaRadius));
|
||||
var removeButton = inspector.GenerateButton(this, judgeModuleSettings, "Remove", () =>
|
||||
{
|
||||
SetShowingJudge(false);
|
||||
note.noteJudgeSubmodule.judgeUnitList.Remove(this);
|
||||
|
||||
@@ -47,13 +47,14 @@ namespace Ichni.RhythmGame
|
||||
Inspector inspectorMain = EditorManager.instance.uiManager.inspector;
|
||||
|
||||
var container = inspector.GenerateContainer("Trigger Connect Judge Unit");
|
||||
|
||||
var isShowingJudgeField = inspector.GenerateToggle(this, container, "Is Showing Judge", nameof(isShowingJudge));
|
||||
isShowingJudgeField.AddListenerFunction(() => SetShowingJudge(isShowingJudge));
|
||||
var judgeModuleSettings = container.GenerateSubcontainer(3);
|
||||
var isShowingJudgeField =
|
||||
inspector.GenerateToggle(this, judgeModuleSettings, "Is Showing Judge", nameof(isShowingJudge))
|
||||
.AddListenerFunction(() => SetShowingJudge(isShowingJudge));
|
||||
|
||||
var triggerNameField = inspector.GenerateInputField(container, "Trigger Name");
|
||||
var triggerNameField = inspector.GenerateInputField(judgeModuleSettings, "Trigger Name");
|
||||
|
||||
var connectTriggerButton = inspector.GenerateButton(this, container, "Connect Trigger", () =>
|
||||
var connectTriggerButton = inspector.GenerateButton(this, judgeModuleSettings, "Connect Trigger", () =>
|
||||
{
|
||||
GameElement trigger = EditorManager.instance.operationManager.FindingModule.FindGameElementByName(triggerNameField.GetValue<string>());
|
||||
|
||||
@@ -67,7 +68,7 @@ namespace Ichni.RhythmGame
|
||||
(trigger as IHaveNoteJudgeTriggerSubmodule).noteJudgeTriggerSubmodule.connectedNotes.Add(note);
|
||||
});
|
||||
|
||||
var removeButton = inspector.GenerateButton(this, container, "Remove", () =>
|
||||
var removeButton = inspector.GenerateButton(this, judgeModuleSettings, "Remove", () =>
|
||||
{
|
||||
SetShowingJudge(false);
|
||||
note.noteJudgeSubmodule.judgeUnitList.Remove(this);
|
||||
|
||||
@@ -13,6 +13,7 @@ namespace Ichni.RhythmGame
|
||||
public partial class Flick : NoteBase
|
||||
{
|
||||
public List<Vector2> availableFlickDirections;
|
||||
public float flickBufferAngle = 60f;
|
||||
|
||||
public static Flick GenerateElement(string elementName, Guid id, List<string> tags, bool isFirstGenerated,
|
||||
GameElement parentElement, float exactJudgeTime, List<Vector2> directions)
|
||||
@@ -66,16 +67,15 @@ namespace Ichni.RhythmGame
|
||||
base.SetUpInspector();
|
||||
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("Flick");
|
||||
var generateNoteVisualButton = inspector.GenerateButton(this, container, "Generate Note Visual", () =>
|
||||
{
|
||||
TemporaryObject.GenerateElement("New Note Visual", Guid.NewGuid(), new List<string>(), true, this);
|
||||
});
|
||||
|
||||
if (noteVisual != null)
|
||||
{
|
||||
generateNoteVisualButton.button.interactable = false;
|
||||
}
|
||||
|
||||
var flickSpecial = inspector.GenerateContainer("Flick Special");
|
||||
var flickSpecialSubcontainer = flickSpecial.GenerateSubcontainer(3);
|
||||
var availableDirectionsButton =
|
||||
inspector.GenerateButton(this, flickSpecialSubcontainer, "Available Directions", () =>
|
||||
{
|
||||
var widthCurveWindow = inspector.GenerateCompositeParameterWindow(this, "Available Directions", nameof(availableFlickDirections));
|
||||
widthCurveWindow.SetAsFlexibleFloat();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -95,9 +95,9 @@ namespace Ichni.RhythmGame
|
||||
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
|
||||
var container = inspector.GenerateContainer("Hold");
|
||||
|
||||
var holdEndTimeInputField = inspector.GenerateInputField(this, container, "holdEndTime", nameof(holdEndTime));
|
||||
var holdSpecial = inspector.GenerateContainer("Hold");
|
||||
var holdSpecialSubcontainer = holdSpecial.GenerateSubcontainer(3);
|
||||
var holdEndTimeInputField = inspector.GenerateInputField(this, holdSpecialSubcontainer, "holdEndTime", nameof(holdEndTime));
|
||||
holdEndTimeInputField.AddListenerFunction(() =>
|
||||
{
|
||||
noteVisual?.effectSubmodule.effectCollection["Holding"].ForEach(effect =>
|
||||
@@ -105,6 +105,7 @@ namespace Ichni.RhythmGame
|
||||
effect.effectTime = holdEndTime - exactJudgeTime;
|
||||
});
|
||||
});
|
||||
|
||||
inspector.MarkedElements["ExactJudgeTime"].AddListenerFunction(() =>
|
||||
{
|
||||
noteVisual?.effectSubmodule.effectCollection["Holding"].ForEach(effect =>
|
||||
@@ -112,16 +113,6 @@ namespace Ichni.RhythmGame
|
||||
effect.effectTime = holdEndTime - exactJudgeTime;
|
||||
});
|
||||
});
|
||||
|
||||
var generateNoteVisualButton = inspector.GenerateButton(this, container, "Generate Note Visual", () =>
|
||||
{
|
||||
TemporaryObject.GenerateElement("New Note Visual", Guid.NewGuid(), new List<string>(), true, this);
|
||||
});
|
||||
|
||||
if (noteVisual != null)
|
||||
{
|
||||
generateNoteVisualButton.button.interactable = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -152,20 +152,31 @@ namespace Ichni.RhythmGame
|
||||
base.SetUpInspector();
|
||||
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("Note Info");
|
||||
|
||||
var infoContainer = inspector.GenerateContainer("Note Info");
|
||||
var noteBaseSettings = infoContainer.GenerateSubcontainer(3);
|
||||
var exactJudgeTimeInputField =
|
||||
inspector.GenerateInputField(this, container, "exactJudgeTime", nameof(exactJudgeTime));
|
||||
exactJudgeTimeInputField.AddListenerFunction(UpdateNoteInTrack);
|
||||
exactJudgeTimeInputField.Mark(inspector, "ExactJudgeTime");
|
||||
|
||||
inspector.GenerateInputField(this, noteBaseSettings, "exactJudgeTime", nameof(exactJudgeTime))
|
||||
.AddListenerFunction(UpdateNoteInTrack).Mark("ExactJudgeTime");
|
||||
var saveNotePrefabButton =
|
||||
inspector.GenerateButton(this, container, "Save Note Prefab", () =>
|
||||
inspector.GenerateButton(this, noteBaseSettings, "Save Note Prefab", () =>
|
||||
{
|
||||
EditorManager.instance.projectManager.notePrefabManager.SaveNotePrefab(this, GetNoteTypeName(this) + "_Prefab");
|
||||
});
|
||||
var noteScreenPositionText = inspector.GenerateHintText(this, noteBaseSettings,
|
||||
() => "Note Screen Position: " + noteScreenPosition);
|
||||
|
||||
var noteScreenPositionText = inspector.GenerateHintText(this, container, () => "Note Screen Position: " + noteScreenPosition);
|
||||
var noteVisualContainer = inspector.GenerateContainer("Note Visual");
|
||||
var noteVisualGeneration = noteVisualContainer.GenerateSubcontainer(3);
|
||||
var generateNoteVisualButton = inspector.GenerateButton(this, noteVisualGeneration, "Generate Note Visual", () =>
|
||||
{
|
||||
TemporaryObject.GenerateElement("New Note Visual", Guid.NewGuid(), new List<string>(), true, this);
|
||||
});
|
||||
|
||||
if (noteVisual != null)
|
||||
{
|
||||
generateNoteVisualButton.button.interactable = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -55,23 +55,6 @@ namespace Ichni.RhythmGame
|
||||
{
|
||||
matchedBM = new Stay_BM(elementName, elementGuid, tags, parentElement.matchedBM as GameElement_BM, exactJudgeTime);
|
||||
}
|
||||
|
||||
public override void SetUpInspector()
|
||||
{
|
||||
base.SetUpInspector();
|
||||
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("Stay");
|
||||
var generateNoteVisualButton = inspector.GenerateButton(this, container, "Generate Note Visual", () =>
|
||||
{
|
||||
TemporaryObject.GenerateElement("New Note Visual", Guid.NewGuid(), new List<string>(), true, this);
|
||||
});
|
||||
|
||||
if (noteVisual != null)
|
||||
{
|
||||
generateNoteVisualButton.button.interactable = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace Beatmap
|
||||
|
||||
@@ -56,23 +56,6 @@ namespace Ichni.RhythmGame
|
||||
{
|
||||
matchedBM = new Tap_BM(elementName, elementGuid, tags, parentElement.matchedBM as GameElement_BM, exactJudgeTime);
|
||||
}
|
||||
|
||||
public override void SetUpInspector()
|
||||
{
|
||||
base.SetUpInspector();
|
||||
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("Tap");
|
||||
var generateNoteVisualButton = inspector.GenerateButton(this, container, "Generate Note Visual", () =>
|
||||
{
|
||||
TemporaryObject.GenerateElement("New Note Visual", Guid.NewGuid(), new List<string>(), true, this);
|
||||
});
|
||||
|
||||
if (noteVisual != null)
|
||||
{
|
||||
generateNoteVisualButton.button.interactable = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace Beatmap
|
||||
|
||||
Reference in New Issue
Block a user