﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

namespace Nostalgia.Example
{
	[RequireComponent(typeof(Button))]
	public class ButtonController : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
	{
		public enum Status
		{
			None,
			Up,
			Down,
			Hold,
		}

		public Status status
		{
			get;
			private set;
		}

		public bool press
		{
			get
			{
				return status == Status.Down || status == Status.Hold;
			}
		}

		void IPointerDownHandler.OnPointerDown(PointerEventData eventData)
		{
			status = Status.Down;
		}

		void IPointerUpHandler.OnPointerUp(PointerEventData eventData)
		{
			status = Status.Up;
		}

		void Update()
		{
			switch (status)
			{
				case Status.Down:
					{
						status = Status.Hold;
					}
					break;
				case Status.Up:
					{
						status = Status.None;
					}
					break;
			}
		}
	}
}