using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.Events; namespace JCUnityLib.UI { public class ValidateJigsawView : MonoBehaviour { ValidateJigsaw _validateJigsaw; ValidateJigsawDragBar _validateJigsawDragBar; public UnityAction onQuit; public UnityAction onComplete; void Start() { _validateJigsaw = GetComponentInChildren(); _validateJigsawDragBar = GetComponentInChildren(); _validateJigsaw.InitRandomPosition(); _validateJigsawDragBar.onDrag += (v) => _validateJigsaw.SetCurrentPositionByPercent(v); _validateJigsawDragBar.onEndDrag += (v) => { _validateJigsaw.SetCurrentPositionByPercent(v); if (_validateJigsaw.IsFit()) { _validateJigsawDragBar.enabled = false; transform.Find("Frame/MaskValidateOK").gameObject.SetActive(true); StartCoroutine(DelayClose()); } }; } public void OnClick_Close() { Destroy(gameObject); onQuit?.Invoke(); } IEnumerator DelayClose() { yield return new WaitForSeconds(1f); Destroy(gameObject); onComplete?.Invoke(); } public void SetTextLabel(string text) { transform.Find("Frame/Label").GetComponent().text = text; } public void SetTextTip(string text) { transform.Find("Frame/Tip").GetComponent().text = text; } public void SetTextOK(string text) { transform.Find("Frame/MaskValidateOK/Text").GetComponent().text = text; } } }