Skip to content
Moon Antonio edited this page Nov 8, 2017 · 6 revisions

UIDrag es un control para arrastras un objeto o una serie de objetos de la interfaz.

Situado en Scripts/Componentes

<>


using System;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
using UnityEngine.EventSystems;

Hereda de ->

  • UIBehaviour

  • IEventSystemHandler

  • IBeginDragHandler

  • IDragHandler

  • IEndDragHandler


Variables Publicas

public RectTransform target; // Objetivo del arrastre
public bool horizontal = true; // Se puede mover en horizontal
public bool vertical = true; // Se puede mover en vertical
public bool inercia = true; // Tiene incercia
private float dampeningRate = 9f; // Ratio de damp
public bool isConstrainConCanvas = false; // Determina si se quiere constrain dentro del canvas
public bool isConstrainDrag = true; // Determina si que quiere constrain cuando se arrastra
public bool isConstrainInercia = true; // Determina si se quiere constrain con la inercia

Variables Privadas

private Canvas canvas; // Canvas de la escena
private RectTransform canvasRectTransform; // Canvas del Rect Transform
private Vector2 velocidad; // Velocidad actual del objeto
private bool isDragging; // Determina si se esta arrastrando
private Vector2 posicionPuntoInicial = Vector2.zero; // Posicion inicial
private Vector2 posicionPuntoTarget = Vector2.zero; // Posicion del objetivo

Eventos

[Serializable] public class DragInitEvent : UnityEvent<BaseEventData> { }
[Serializable] public class DragCompletadoEvent : UnityEvent<BaseEventData> { }
[Serializable] public class DragEvent : UnityEvent<BaseEventData> { }

Inicializadores

protected override void Awake(){} // Cargador de UIDrag

Actualizadores

protected virtual void LateUpdate()// Actualizacion final de UIDrag

API

public void StopMovimiento(){} // Detiene la inercia
public override bool IsActive(){} // Determina si el objeto esta activo
public void OnBeginDrag(PointerEventData data){} // Cuando empieza el arrastre
public void OnEndDrag(PointerEventData data){} // Cuando termina el arrastre
public void OnDrag(PointerEventData data){} // Cuando se esta arrastrando

Metodos Internos

protected override void OnTransformParentChanged(){} // Cuando se cambia el transform del padre
protected Vector3 Dampen(ref Vector2 velocidad, float fuerza, float delta){} // Dampen
protected Vector2 ClampToCanvas(Vector2 Posicion){} // Clamps al canvas
protected Vector2 ClampToScreen(Vector2 posicion){} // Clamps a la pantalla
Clone this wiki locally