这能叫例行更新吗

Signed-off-by: TRAfoer <lhf190@outlook.com>
This commit is contained in:
2026-02-09 23:10:55 +08:00
parent 77726bcb6c
commit a76f650998
40 changed files with 1323 additions and 866 deletions

View File

@@ -11,26 +11,28 @@ namespace Ichni.Editor
public class CameraManager : MonoBehaviour, IBaseElement
{
public Camera backgroundCamera;
public bool isSceneCameraActive;
public SceneCamera sceneCamera;
public float sceneCameraMoveSpeed;
public float sceneCameraRotateSpeed;
public PanelDrawer panelDrawer = new();
public GameCamera gameCamera;
public bool haveGameCamera => gameCamera != null;
public Camera currentCamera => haveGameCamera && !isSceneCameraActive ? gameCamera.gameCamera : sceneCamera.sceneCamera;
public BaseElement_BM matchedBM { get; set; }
public void SwitchCamera()
{
if (!haveGameCamera)
{
{
LogWindow.Log("GameCamera is not assigned", Color.red);
return;
}
isSceneCameraActive = !isSceneCameraActive;
sceneCamera.sceneCamera.enabled = isSceneCameraActive;
gameCamera.gameCamera.enabled = !isSceneCameraActive;
@@ -41,17 +43,33 @@ namespace Ichni.Editor
public void SetUpInspector()
{
string ShowCameraType() => isSceneCameraActive ? "Scene Camera" : "Game Camera";
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
var container = inspector.GenerateContainer("Camera Manager");
//切换摄像机,设置场景相机
var cameraSettings = container.GenerateSubcontainer(3);
var cameraTypeText = inspector.GenerateHintText(this, cameraSettings, ShowCameraType);
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", () =>
{
panelDrawer.startEdit();
});
}
else
{
var butt2 = inspector.GenerateButton(this, camMethods, "endEdit", () =>
{
panelDrawer.endEdit();
});
}
sceneCamera.SetUpInspector();
}
}
}