Files
Main/Assets/Launcher/ExternalLibs/NGUI/Scripts/Interaction/UIDragCamera.cs
2025-01-25 04:38:09 +08:00

70 lines
1.5 KiB
C#

//----------------------------------------------
// NGUI: Next-Gen UI kit
// Copyright © 2011-2015 Tasharen Entertainment
//----------------------------------------------
using UnityEngine;
/// <summary>
/// Allows dragging of the camera object and restricts camera's movement to be within bounds of the area created by the rootForBounds colliders.
/// </summary>
[ExecuteInEditMode]
[AddComponentMenu("NGUI/Interaction/Drag Camera")]
public class UIDragCamera : MonoBehaviour
{
/// <summary>
/// Target object that will be dragged.
/// </summary>
public UIDraggableCamera draggableCamera;
/// <summary>
/// Automatically find the draggable camera if possible.
/// </summary>
void Awake ()
{
if (draggableCamera == null)
{
draggableCamera = NGUITools.FindInParents<UIDraggableCamera>(gameObject);
}
}
/// <summary>
/// Forward the press event to the draggable camera.
/// </summary>
void OnPress (bool isPressed)
{
if (enabled && NGUITools.GetActive(gameObject) && draggableCamera != null)
{
draggableCamera.Press(isPressed);
}
}
/// <summary>
/// Forward the drag event to the draggable camera.
/// </summary>
void OnDrag (Vector2 delta)
{
if (enabled && NGUITools.GetActive(gameObject) && draggableCamera != null)
{
draggableCamera.Drag(delta);
}
}
/// <summary>
/// Forward the scroll event to the draggable camera.
/// </summary>
void OnScroll (float delta)
{
if (enabled && NGUITools.GetActive(gameObject) && draggableCamera != null)
{
draggableCamera.Scroll(delta);
}
}
}