Signed-off-by: TRAfoer <lhf190@outlook.com>

This commit is contained in:
2026-02-11 01:26:10 +08:00
parent a76f650998
commit c21dc74576
17 changed files with 18014 additions and 17002 deletions

View File

@@ -17,7 +17,7 @@ namespace Ichni.Editor
public float sceneCameraMoveSpeed;
public float sceneCameraRotateSpeed;
public PanelDrawer panelDrawer = new();
public PanelDrawer panelDrawer => EditorManager.instance.panelDrawer;
public GameCamera gameCamera;
public bool haveGameCamera => gameCamera != null;
@@ -54,20 +54,17 @@ namespace Ichni.Editor
var switchCameraButton = inspector.GenerateButton(this, cameraSettings, "Switch Camera", SwitchCamera);
var cameraMoveSpeedField = inspector.GenerateInputField(this, cameraSettings, "Scene Camera Move Speed", nameof(sceneCameraMoveSpeed));
var camMethods = container.GenerateSubcontainer(1);
if (!panelDrawer.isEditing)
{
var butt1 = inspector.GenerateButton(this, camMethods, "startEdit", () =>
var butt1 = inspector.GenerateButton(this, camMethods, panelDrawer.isEditing ? "End Edit" : "Start Edit", () =>
{ });
butt1.AddListenerFunction(() =>
{
panelDrawer.startEdit();
});
}
else
{
var butt2 = inspector.GenerateButton(this, camMethods, "endEdit", () =>
{
panelDrawer.endEdit();
panelDrawer.SwitchEditing();
butt1.buttonText.text = panelDrawer.isEditing ? "End Edit" : "Start Edit";
});
}
sceneCamera.SetUpInspector();
}

View File

@@ -39,6 +39,7 @@ namespace Ichni
public BeatmapContainer beatmapContainer;
public CommandScripts commandScripts;
public PanelDrawer panelDrawer;
public NoteBase.NoteJudgeType currentJudgeType;
public bool useClickSelect;
public bool useNotePrefab;
@@ -121,6 +122,7 @@ namespace Ichni
private void Update()
{
if (isLoaded) projectManager.autoSaveManager.UpdateAutoSave();
}
public void LoadProject(string projectName)

View File

@@ -88,12 +88,24 @@ namespace Ichni.Editor
Vector3 moveDir = Vector3.zero;
// 计算合成位移向量
if (kb.wKey.isPressed) moveDir += sceneCameraTransform.forward;
if (kb.sKey.isPressed) moveDir -= sceneCameraTransform.forward;
if (kb.dKey.isPressed) moveDir += sceneCameraTransform.right;
if (kb.aKey.isPressed) moveDir -= sceneCameraTransform.right;
if (kb.eKey.isPressed) moveDir += sceneCameraTransform.up;
if (kb.qKey.isPressed) moveDir -= sceneCameraTransform.up;
if (EditorManager.instance.cameraManager.sceneCamera.CanBeFreeRotate)
{
if (kb.wKey.isPressed) moveDir += sceneCameraTransform.forward;
if (kb.sKey.isPressed) moveDir -= sceneCameraTransform.forward;
if (kb.dKey.isPressed) moveDir += sceneCameraTransform.right;
if (kb.aKey.isPressed) moveDir -= sceneCameraTransform.right;
if (kb.eKey.isPressed) moveDir += sceneCameraTransform.up;
if (kb.qKey.isPressed) moveDir -= sceneCameraTransform.up;
}
else
{
if (kb.dKey.isPressed) moveDir += sceneCameraTransform.right;
if (kb.aKey.isPressed) moveDir -= sceneCameraTransform.right;
if (kb.wKey.isPressed) moveDir += sceneCameraTransform.up;
if (kb.sKey.isPressed) moveDir -= sceneCameraTransform.up;
if (kb.qKey.isPressed) moveDir += sceneCameraTransform.forward;
if (kb.eKey.isPressed) moveDir -= sceneCameraTransform.forward;
}
// 一次性应用位移(如果存在移动)
if (moveDir != Vector3.zero)

View File

@@ -36,7 +36,7 @@ namespace Ichni.Editor
sceneCamera.transform.eulerAngles = value;
}
}
public bool CanBeFreeRotate => EditorManager.instance.cameraManager.panelDrawer.isEditing;
public bool CanBeFreeRotate => !EditorManager.instance.cameraManager.panelDrawer.isEditing;
public void SetUpInspector()