@@ -19,24 +19,40 @@ namespace Ichni.Editor
|
||||
public BaseElement_BM matchedBM { get; set; }
|
||||
|
||||
[HideInInspector]
|
||||
public Vector3 cameraPosition; //注意,这里的Position和EulerAngles,是transform的中介变量,仅能用于Inspector显示!
|
||||
public Vector3 cameraPosition
|
||||
{
|
||||
get => sceneCamera.transform.position;
|
||||
set
|
||||
{
|
||||
sceneCamera.transform.position = value;
|
||||
}
|
||||
}
|
||||
[HideInInspector]
|
||||
public Vector3 cameraEulerAngles;
|
||||
public Vector3 cameraEulerAngles
|
||||
{
|
||||
get => sceneCamera.transform.eulerAngles;
|
||||
set
|
||||
{
|
||||
sceneCamera.transform.eulerAngles = value;
|
||||
}
|
||||
}
|
||||
public bool CanBeFreeRotate => EditorManager.instance.cameraManager.panelDrawer.isEditing;
|
||||
|
||||
|
||||
public void SetUpInspector()
|
||||
{
|
||||
IHaveInspection inspector = EditorManager.instance.uiManager.inspector;
|
||||
var container = inspector.GenerateContainer("Scene Camera");
|
||||
|
||||
|
||||
//摄像机参数设置
|
||||
var cameraSettings = container.GenerateSubcontainer(3);
|
||||
var viewTypeDropdown =
|
||||
var viewTypeDropdown =
|
||||
inspector.GenerateDropdown(this, cameraSettings, "View Type", typeof(GameCamera.CameraViewType), nameof(viewType))
|
||||
.AddListenerFunction(() => sceneCamera.orthographic = viewType == GameCamera.CameraViewType.Orthographic);
|
||||
var perspectiveAngleField =
|
||||
var perspectiveAngleField =
|
||||
inspector.GenerateInputField(this, cameraSettings, "Perspective Angle", nameof(perspectiveAngle))
|
||||
.AddListenerFunction(() => sceneCamera.fieldOfView = perspectiveAngle);
|
||||
var orthographicSizeField =
|
||||
var orthographicSizeField =
|
||||
inspector.GenerateInputField(this, cameraSettings, "Orthographic Size", nameof(orthographicSize))
|
||||
.AddListenerFunction(() => sceneCamera.orthographicSize = orthographicSize);
|
||||
|
||||
@@ -45,7 +61,7 @@ namespace Ichni.Editor
|
||||
var positionInputFields =
|
||||
inspector.GenerateVector3InputField(this, transformSettings, "Position", nameof(cameraPosition), true)
|
||||
.AddListenerFunction(() => sceneCamera.transform.position = cameraPosition);
|
||||
var eulerAnglesInputFields =
|
||||
var eulerAnglesInputFields =
|
||||
inspector.GenerateVector3InputField(this, transformSettings, "Euler Angles", nameof(cameraEulerAngles), true)
|
||||
.AddListenerFunction(() => sceneCamera.transform.eulerAngles = cameraEulerAngles);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user