using UnityEngine; using System.Collections; using ArgosTweenSpacePuppy; using UnityEngine.UI; public class File_Button_Animated : MonoBehaviour { public Argos_File argos_File; public float tween_Duration = 0.2f; private float tAccum_CoRout = 0; private float scaler = 0; private Vector3 base_scale; private Image img_Swatch; public Image border_image; public int myIdx; private bool bHovering = false; // Use this for initialization void Awake () { base_scale = transform.localScale; img_Swatch = GetComponent<Image>(); } // Update is called once per frame void Update () { } public void onPointer_Enter() { if (GetComponent<Button>().interactable) { bHovering = true; argos_File.onFileButtonHover(myIdx); StopCoroutine("Tween_Hover"); StartCoroutine("Tween_Hover", true); } } public void onLoadSave_Pointer_Enter() { bHovering = true; StopCoroutine("Tween_Hover"); StartCoroutine("Tween_Hover", true); } public void onPointer_Exit() { bHovering = false; StopCoroutine("Tween_Hover"); StartCoroutine("Tween_Hover", false); } public void DeSelect() { if (bHovering) { bHovering = false; StopCoroutine("Tween_Hover"); StartCoroutine("Tween_Hover", false); } } int count = 0; public void onPointer_Down() { if (GetComponent<Button>().interactable) { argos_File.onFileButtonDown(); } } public void setColor(Color col) { //swatch_color = col; //img_Swatch.color = col; } private IEnumerator Tween_Hover(bool hovering) { float dir = 1; if (!hovering) { dir = -1; } int i = 0; float linProg = tAccum_CoRout / tween_Duration; while (i < 180 && ((hovering && linProg < 1) || (!hovering && linProg > 0))) { tAccum_CoRout += dir * Time.deltaTime; linProg = tAccum_CoRout / tween_Duration; Mathf.Clamp(tAccum_CoRout, 0, tween_Duration); scaler = EaseMethods.StrongEaseInOut(tAccum_CoRout, 0, 1, tween_Duration); Set_Hover_Scale(scaler); yield return true; i++; } if (hovering) { tAccum_CoRout = tween_Duration; scaler = 1; } else { tAccum_CoRout = 0; scaler = 0; } Set_Hover_Scale(scaler); StopCoroutine("Tween_Hover"); } public void Set_Hover_Scale(float scaler) { transform.localScale = base_scale + 0.1f * base_scale * scaler; Color col = border_image.color; col.a = scaler; border_image.color = col; } }
http://argos.vu/wp-content/uploads/2016/04/Vision_Summit_Review_Feb_10-11_2016.pdf