using UnityEngine; public class MengaturSlide : MonoBehaviour { public GameObject[] slides; public GameObject slidePanel; private int currentSlide = 0; public PlayerBergerak1 kontrolPlayer; public FlowController flowManager; public Transform kamera; public float jarakPanel = 1.5f; public float offsetYPanel = 0.4f; public int indexSlideUntukConfirm = 6; //index slide ke- untuk confirm private float waktuTerakhirNextSlide = -10f; private float delayMinimumConfirm = 0.2f; void Start() { ShowSlide(0); if (kontrolPlayer != null) kontrolPlayer.Gerak = false; } public void ShowSlide(int index) { for (int i = 0; i < slides.Length; i++) slides[i].SetActive(i == index); currentSlide = index; } public void NextSlide() { if (currentSlide < slides.Length - 1) { ShowSlide(currentSlide + 1); waktuTerakhirNextSlide = Time.time; } } public void PrevSlide() { if (currentSlide > 0) ShowSlide(currentSlide - 1); } public void ConfirmSlide() { slidePanel.SetActive(false); if (kontrolPlayer != null) kontrolPlayer.Gerak = true; // Panggil flowmanager if (flowManager != null) flowManager.SelesaiTutorial(); } void Update() { // Tombol NEXT atau CONFIRM if (Input.GetKeyDown(KeyCode.JoystickButton1) || Input.GetKeyDown(KeyCode.RightArrow) || Input.GetKeyDown(KeyCode.E)) { if (currentSlide < indexSlideUntukConfirm) { NextSlide(); } else if (currentSlide == indexSlideUntukConfirm && Time.time - waktuTerakhirNextSlide > delayMinimumConfirm) //agar tidak terlalu cepat berganti { ConfirmSlide(); } } // Tombol PREV if (Input.GetKeyDown(KeyCode.JoystickButton0) || Input.GetKeyDown(KeyCode.LeftArrow) || Input.GetKeyDown(KeyCode.Q)) { PrevSlide(); } // ENTER manual confirm if (Input.GetKeyDown(KeyCode.Return)) { if (currentSlide == indexSlideUntukConfirm && Time.time - waktuTerakhirNextSlide > delayMinimumConfirm) { ConfirmSlide(); } } } }