Files
Simulation/Assets/Scripts/CameraLimit.cs
준학 노 0be41c12cd 카메라 이동범위 설정 -0.2(노준학)
기즈모 고정 -0.5(노준학) 완료
MQTT 재연결 로직 -0.2(노준학) - 작업중
2025-07-15 11:00:11 +09:00

97 lines
3.2 KiB
C#

using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
using System;
namespace RTG
{
[Serializable]
public class CameraLimit : Settings
{
[SerializeField]
private float minX;
[SerializeField]
private float maxX;
[SerializeField]
private float minY;
[SerializeField]
private float maxY;
[SerializeField]
private float minZ;
[SerializeField]
private float maxZ;
public float LimitMinX { get { return minX; } set { minX = Mathf.Max(value, -1000f); } }
public float LimitMaxX { get { return maxX; } set { maxX = Mathf.Max(value, 1e-2f); } }
public float LimitMinY { get { return minY; } set { minY = Mathf.Max(value, -1000f); } }
public float LimitMaxY { get { return maxY; } set { maxY = Mathf.Max(value, 1e-2f); } }
public float LimitMinZ { get { return minZ; } set { minZ = Mathf.Max(value, -1000f); } }
public float LimitMaxZ { get { return maxZ; } set { maxZ = Mathf.Max(value, 1e-2f); } }
#if UNITY_EDITOR
protected override void RenderContent(UnityEngine.Object undoRecordObject)
{
EditorGUILayout.BeginVertical();
GUIContent content = new GUIContent();
content.text = "Camera PosX Min Limit";
content.tooltip = "???";
var newMinX = EditorGUILayout.FloatField(content, minX);
if (newMinX != LimitMinX)
{
EditorUndoEx.Record(undoRecordObject);
LimitMinX = newMinX;
}
content.text = "Camera PosX Max Limit";
content.tooltip = "???";
var newMaxX = EditorGUILayout.FloatField(content, maxX);
if(newMaxX != LimitMaxX)
{
EditorUndoEx.Record(undoRecordObject);
LimitMaxX = newMaxX;
}
content.text = "Camera PosY Min Limit";
content.tooltip = "???";
var newMinY = EditorGUILayout.FloatField(content, minY);
if (newMinY != LimitMinY)
{
EditorUndoEx.Record(undoRecordObject);
LimitMinY = newMinY;
}
content.text = "Camera PosY Max Limit";
content.tooltip = "???";
var newMaxY = EditorGUILayout.FloatField(content, maxY);
if (newMaxY != LimitMaxY)
{
EditorUndoEx.Record(undoRecordObject);
LimitMaxY = newMaxY;
}
content.text = "Camera PosZ Min Limit";
content.tooltip = "???";
var newMinZ = EditorGUILayout.FloatField(content, minZ);
if (newMinZ != LimitMinZ)
{
EditorUndoEx.Record(undoRecordObject);
LimitMinZ = newMinZ;
}
content.text = "Camera Pos Z Max Limit";
content.tooltip = "???";
var newMaxZ = EditorGUILayout.FloatField(content, maxZ);
if (newMaxZ != LimitMaxZ)
{
EditorUndoEx.Record(undoRecordObject);
LimitMaxZ = newMaxZ;
}
EditorGUILayout.EndVertical();
}
#endif
}
}