using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TMPro; public class SwipeManagementScript : MonoBehaviour { public TMP_Text textSteps; public List lengths; public int numberImage; public int lengthTexts; public GameObject arrowLeft; public GameObject arrowRight; //public GameObject arrow; public Animator m_Animator; public TMP_Text textNumber; public List images; private Vector2 startTouchPosition; private Vector2 endTouchPosition; private GameObject image; public List imageAndTexts; private int indexList = 0; // Start is called before the first frame update void Start() { textSteps.text = lengths[0].text; textNumber.text = "Step 1/" + (lengthTexts+1); arrowLeft.gameObject.SetActive(false); } // Update is called once per frame void Update() { if(Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began){ startTouchPosition = Input.GetTouch(0).position; } if(Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Ended){ endTouchPosition = Input.GetTouch(0).position; if(endTouchPosition.x < startTouchPosition.x){ NextText(); }else{ PreviousText(); } if(endTouchPosition.y + 100 < startTouchPosition.y){ SwipeDown(); } if(endTouchPosition.y - 100 > startTouchPosition.y){ SwipeUp(); } } } private void NextText(){ if(numberImage < lengthTexts) { numberImage ++; if(numberImage == lengthTexts){ arrowRight.gameObject.SetActive(false); }else{ arrowRight.gameObject.SetActive(true); } if(numberImage != 0){ arrowLeft.gameObject.SetActive(true); } if(images.Contains(numberImage - 1)){ DisableImageStep(); } if(images.Contains(numberImage)){ SetImageStep(); }else{ textSteps.text = lengths[numberImage].text; textNumber.text = "Step" + (numberImage+1) + "/" + (lengthTexts+1); } } } private void PreviousText(){ if(numberImage > 0) { numberImage --; if(numberImage == 0){ arrowLeft.gameObject.SetActive(false); }else{ arrowLeft.gameObject.SetActive(true); } if(numberImage != lengthTexts){ arrowRight.gameObject.SetActive(true); } if(images.Contains(numberImage + 1)){ DisableImageStep(); } if(images.Contains(numberImage)){ SetImageStep(); }else{ textSteps.text = lengths[numberImage].text; textNumber.text = "Step" + (numberImage+1) + "/" + (lengthTexts+1); } } } private void SwipeDown(){ m_Animator.ResetTrigger("SwipeUp"); m_Animator.SetTrigger("SwipeDown"); } private void SwipeUp(){ m_Animator.ResetTrigger("SwipeDown"); m_Animator.SetTrigger("SwipeUp"); } private void SetImageStep(){ textSteps.text = ""; textNumber.text = "Step" + (numberImage+1) + "/" + (lengthTexts+1); image = imageAndTexts[indexList]; indexList ++; image.SetActive(true); } private void DisableImageStep(){ image.SetActive(false); } }