将Spline移出Plugin,以调整SplineRenderer的OnWillCameraRender
This commit is contained in:
@@ -12,6 +12,7 @@ public class BasePrefabsCollection : SerializedScriptableObject
|
||||
public GameObject gameCamera;
|
||||
|
||||
[Title("Track相关")] public GameObject track;
|
||||
public GameObject trackDisplay;
|
||||
public GameObject pathNode;
|
||||
public Material defaultTrackMaterial;
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace Ichni.Editor
|
||||
}
|
||||
|
||||
isSceneCameraActive = !isSceneCameraActive;
|
||||
sceneCamera.camera.enabled = isSceneCameraActive;
|
||||
sceneCamera.sceneCamera.enabled = isSceneCameraActive;
|
||||
gameCamera.camera.enabled = !isSceneCameraActive;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,12 +4,13 @@ using System.Collections.Generic;
|
||||
using Ichni.RhythmGame;
|
||||
using Ichni.RhythmGame.Beatmap;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
|
||||
namespace Ichni.Editor
|
||||
{
|
||||
public class SceneCamera : MonoBehaviour, IBaseElement
|
||||
{
|
||||
public Camera camera;
|
||||
[FormerlySerializedAs("camera")] public Camera sceneCamera;
|
||||
|
||||
public GameCamera.CameraViewType viewType;
|
||||
public float perspectiveAngle;
|
||||
@@ -29,15 +30,15 @@ namespace Ichni.Editor
|
||||
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));
|
||||
viewTypeDropdown.AddListenerFunction(_ => camera.orthographic = viewType == GameCamera.CameraViewType.Orthographic);
|
||||
perspectiveAngleField.AddListenerFunction(_ => camera.fieldOfView = perspectiveAngle);
|
||||
orthographicSizeField.AddListenerFunction(_ => camera.orthographicSize = orthographicSize);
|
||||
viewTypeDropdown.AddListenerFunction(_ => sceneCamera.orthographic = viewType == GameCamera.CameraViewType.Orthographic);
|
||||
perspectiveAngleField.AddListenerFunction(_ => sceneCamera.fieldOfView = perspectiveAngle);
|
||||
orthographicSizeField.AddListenerFunction(_ => sceneCamera.orthographicSize = orthographicSize);
|
||||
|
||||
var positionInputFields = inspector.GenerateVector3InputField(this, container, "Position", nameof(cameraPosition), true);
|
||||
positionInputFields.AddListenerFunction(() => camera.transform.position = cameraPosition);
|
||||
positionInputFields.AddListenerFunction(() => sceneCamera.transform.position = cameraPosition);
|
||||
|
||||
var eulerAnglesInputFields = inspector.GenerateVector3InputField(this, container, "Euler Angles", nameof(cameraEulerAngles), true);
|
||||
eulerAnglesInputFields.AddListenerFunction(() => camera.transform.eulerAngles = cameraEulerAngles);
|
||||
eulerAnglesInputFields.AddListenerFunction(() => sceneCamera.transform.eulerAngles = cameraEulerAngles);
|
||||
|
||||
|
||||
container.SetDeviver(1);
|
||||
@@ -45,8 +46,8 @@ namespace Ichni.Editor
|
||||
|
||||
private void Update()
|
||||
{
|
||||
cameraPosition = camera.transform.position;
|
||||
cameraEulerAngles = camera.transform.eulerAngles;
|
||||
cameraPosition = sceneCamera.transform.position;
|
||||
cameraEulerAngles = sceneCamera.transform.eulerAngles;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user