Inspector Secondary Window & QuickCopy

inspector的二级界面,主要用于工具制作。
重新制作了Track的QuickCopy功能
This commit is contained in:
SoulliesOfficial
2025-02-21 01:03:01 -05:00
parent 039bc5bddf
commit cd9ef00d13
50 changed files with 2332 additions and 229 deletions

View File

@@ -31,8 +31,13 @@ public class BasePrefabsCollection : SerializedScriptableObject
[Title("Effect相关")] public GameObject bloomShake;
[Title("DynamicUI相关-Simple")] public GameObject dynamicUIContainer;
public GameObject inputField;
[Title("Inspector相关")]
public GameObject inspectorSecondaryWindow;
[Title("DynamicUI相关-Simple")]
public GameObject dynamicUIContainer;
[FormerlySerializedAs("inputField")] public GameObject parameterInputField;
public GameObject getterInputField;
[FormerlySerializedAs("Vector3inputField")] public GameObject vector3InputField;
[FormerlySerializedAs("text")] public GameObject parameterText;
public GameObject hintText;

View File

@@ -35,11 +35,12 @@ namespace Ichni.Editor
public void SetUpInspector()
{
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
string ShowCameraType() => isSceneCameraActive ? "Scene Camera" : "Game Camera";
var container = EditorManager.instance.uiManager.inspector.GenerateContainer("Camera Manager");
var cameraTypeText = EditorManager.instance.uiManager.inspector.GenerateHintText(this, container, ShowCameraType);
var switchCameraButton = EditorManager.instance.uiManager.inspector.GenerateButton(this, container, "Switch Camera", SwitchCamera);
var cameraMoveSpeedField = EditorManager.instance.uiManager.inspector.GenerateInputField(this, container, "Scene Camera Move Speed", nameof(sceneCameraMoveSpeed));
var container = inspector.GenerateContainer("Camera Manager");
var cameraTypeText = inspector.GenerateHintText(this, container, ShowCameraType);
var switchCameraButton = inspector.GenerateButton(this, container, "Switch Camera", SwitchCamera);
var cameraMoveSpeedField = inspector.GenerateParameterInputField(this, container, "Scene Camera Move Speed", nameof(sceneCameraMoveSpeed));
sceneCamera.SetUpInspector();
}
}

View File

@@ -64,6 +64,8 @@ namespace Ichni
public override void SetUpInspector()
{
IHaveInspection inspector = uiManager.inspector;
var container = inspector.GenerateContainer("Editor Manager");
var judgeTypeDropdown = inspector.GenerateDropdown(this, container, "Judge Type",
typeof(NoteBase.NoteJudgeType), nameof(currentJudgeType));

View File

@@ -33,7 +33,8 @@ namespace Ichni.Editor
public class CopyPasteDeleteModule
{
public GameElement copiedElement;
public List<GameElement> pastedElementList;
public void CopyElement(GameElement gameElement)
{
LogWindow.Log("Copied element: " + gameElement.elementName);
@@ -49,6 +50,7 @@ namespace Ichni.Editor
}
LogWindow.Log("Pasted element: " + copiedElement.elementName + " to " + parentElement.elementName);
pastedElementList = new List<GameElement>();
AffiliatedPaste(copiedElement, parentElement);
}
@@ -74,9 +76,11 @@ namespace Ichni.Editor
{
gameElement.SaveBM();
GameElement pastedElement = (gameElement.matchedBM as GameElement_BM).DuplicateBM(parent);
pastedElementList.Add(pastedElement);
gameElement.submoduleList.ForEach(submodule =>
{
Debug.Log(submodule.GetType() + " is pasted.");
submodule.SaveBM();
(submodule.matchedBM as Submodule_BM).DuplicateBM(pastedElement);
});

View File

@@ -19,11 +19,11 @@ namespace Ichni.Editor
public void SetUpInspector()
{
Inspector inspector = EditorManager.instance.uiManager.inspector;
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
var container = inspector.GenerateContainer("Scene Camera");
var viewTypeDropdown = inspector.GenerateDropdown(this, container, "View Type", typeof(GameCamera.CameraViewType), nameof(viewType));
var perspectiveAngleField = inspector.GenerateInputField(this, container, "Perspective Angle", nameof(perspectiveAngle));
var orthographicSizeField = inspector.GenerateInputField(this, container, "Orthographic Size", nameof(orthographicSize));
var perspectiveAngleField = inspector.GenerateParameterInputField(this, container, "Perspective Angle", nameof(perspectiveAngle));
var orthographicSizeField = inspector.GenerateParameterInputField(this, container, "Orthographic Size", nameof(orthographicSize));
viewTypeDropdown.AddListenerFunction(_ =>
{