using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;

public class HoverEvent_WobbleButton : MonoBehaviour
{
	public float min = 1f;

	public float max = 1.1f;

	public float spring = 1f;

	public float drag = 1f;

	public float force = -0.1f;

	private ScaleShake sh;

	private void Awake()
	{
		HoverEvent hoverEvent = base.gameObject.AddComponent<HoverEvent>();
		sh = base.gameObject.AddComponent<ScaleShake>();
		Button component = GetComponent<Button>();
		sh.spring = spring;
		sh.drag = drag;
		sh.multiplier = force;
		sh.high = max;
		sh.low = min;
		sh.useTimeScale = false;
		sh.SetTarget(min);
		UnityEvent unityEvent = new UnityEvent();
		unityEvent.AddListener(sh.SetHigh);
		hoverEvent.enterEvent = unityEvent;
		UnityEvent unityEvent2 = new UnityEvent();
		unityEvent2.AddListener(sh.SetLow);
		hoverEvent.exitEvent = unityEvent2;
		component.onClick.AddListener(sh.AddForce);
	}

	private void OnDisable()
	{
		base.transform.localScale = Vector3.one * min;
		sh.SetTarget(min);
	}
}