This repository has been archived on 2026-01-20. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
AW_2025/Assets/Scripts/Controller/GenericControllerOption.cs
2025-02-27 13:19:18 +09:00

74 lines
2.3 KiB
C#

using System;
using UnityEngine;
namespace XRLib
{
public abstract class GenericControllerOption : ScriptableObject, ISerializationCallbackReceiver
{
[SerializeField] bool _orthographic;
[SerializeField] float _moveSensivity;
[SerializeField] float _zoomSensivity;
[SerializeField] float _rotateSensivity;
[SerializeField] float _moveSpeed;
[SerializeField] float _zoomSpeed;
[SerializeField] float _rotateSpeed;
[SerializeField] float _fieldOfView;
[SerializeField] bool _moveLimit;
[SerializeField] bool _rotateLimit;
[SerializeField] bool _azimuthRotateLimit;
[SerializeField] bool _elevationRotateLimit;
/**initialize Values*/
[NonSerialized]
public bool orthographic;
[NonSerialized]
public float moveSensivity;
[NonSerialized]
public float zoomSensivity;
[NonSerialized]
public float rotateSensivity;
[NonSerialized]
public float moveSpeed;
[NonSerialized]
public float zoomSpeed;
[NonSerialized]
public float rotateSpeed;
[NonSerialized]
public float fieldOfView;
[NonSerialized]
public bool moveLimit;
[NonSerialized]
public bool rotateLimit;
[NonSerialized]
public bool azimuthRotateLimit;
[NonSerialized]
public bool elevationRotateLimit;
public virtual void OnAfterDeserialize()
{
orthographic = _orthographic;
moveSensivity = _moveSensivity;
zoomSensivity = _zoomSensivity;
rotateSensivity = _rotateSensivity;
moveSpeed = _moveSpeed;
zoomSpeed = _zoomSpeed;
rotateSpeed = _rotateSpeed;
fieldOfView = _fieldOfView;
moveLimit = _moveLimit;
rotateLimit = _rotateLimit;
azimuthRotateLimit = _azimuthRotateLimit;
elevationRotateLimit = _elevationRotateLimit;
}
public void OnBeforeSerialize()
{
//throw new NotImplementedException();
}
public virtual void Apply(GenericController controller)
{
controller.camera.orthographic = orthographic;
controller.camera.fieldOfView = fieldOfView;
}
}
}