场景相机初步,日志输出LogWindow
This commit is contained in:
42
Assets/Scripts/Manager/CameraManager.cs
Normal file
42
Assets/Scripts/Manager/CameraManager.cs
Normal file
@@ -0,0 +1,42 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Ichni.RhythmGame;
|
||||
using Ichni.RhythmGame.Beatmap;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Ichni.Editor
|
||||
{
|
||||
public class CameraManager : MonoBehaviour, IBaseElement
|
||||
{
|
||||
public bool isSceneCameraActive;
|
||||
public SceneCamera sceneCamera;
|
||||
public float cameraMoveSpeed;
|
||||
|
||||
public GameCamera gameCamera;
|
||||
private bool haveGameCamera => gameCamera != null;
|
||||
|
||||
public BaseElement_BM matchedBM { get; set; }
|
||||
|
||||
public void SwitchCamera()
|
||||
{
|
||||
if (!haveGameCamera)
|
||||
{
|
||||
throw new System.Exception("GameCamera is not assigned");
|
||||
}
|
||||
|
||||
isSceneCameraActive = !isSceneCameraActive;
|
||||
sceneCamera.camera.enabled = isSceneCameraActive;
|
||||
gameCamera.camera.enabled = !isSceneCameraActive;
|
||||
}
|
||||
|
||||
public void SetUpInspector()
|
||||
{
|
||||
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, "Camera Move Speed", nameof(cameraMoveSpeed));
|
||||
sceneCamera.SetUpInspector();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user