using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Level27 { public class Level27Quesition : MonoBehaviour { public static Level27Quesition Instance = null; public int currentQuestionIndex; public Sprite HuoJingImg; public Sprite GuZhangImg; public Image BoxImage1, BoxImage2, BoxImage3, BoxImage4; public GameObject OKItem1, OKItem2, OKItem3, OKItem4; private bool question1OK = false, question2OK = false, question3OK = false, question4OK = false; public GameObject OKInfo1, OKInfo2, OKInfo3, OKInfo4; public bool tanceOpen=false, baojingOpen=false, kongzhiboxOpen=false; public Level09.Level09Manager Level09Manager; public bool isDarg = false; public Animator BaoJingQi; public GameObject[] quesition1LED, quesition4LED; // Start is called before the first frame update void Start() { Instance = this; } // Update is called once per frame void Update() { currentQuestionIndex = Level09Manager.GetCurrentQuesitionIndex(); } public void OpenTanCe() { tanceOpen = true; } public void OpenBaojing() { baojingOpen = true; } public void OpenkongZhiHe() { kongzhiboxOpen = true; } public void ResetItemState() { tanceOpen = false; baojingOpen = false; kongzhiboxOpen = false; } public void PassAction() { switch (currentQuestionIndex) { case 1: if (!question1OK) return; OKInfo1.SetActive(true); BoxImage1.sprite = HuoJingImg; break; case 2: if (!question2OK) return; OKInfo2.SetActive(true); BoxImage2.sprite = GuZhangImg; break; case 3: if (!question3OK) return; OKInfo3.SetActive(true); BoxImage3.sprite = GuZhangImg; break; case 4: if (!question4OK) return; OKInfo4.SetActive(true); BoxImage4.sprite = HuoJingImg; break; } } public void BaoJing(bool b) { if (b) { BaoJingQi.CrossFade("jingbaodeng", 0.1f); Camera.main.GetComponent().Play(); } else { BaoJingQi.CrossFade("New State", 0.1f); Camera.main.GetComponent().Stop(); } } public void PassCheck(DragItemH item) { switch (currentQuestionIndex) { case 1: if (item.ItemName != "wenqiang") return; float distance1 = Vector2.Distance(item.transform.position, OKItem1.transform.position); if (distance1 <= 200f&&tanceOpen) { question1OK = true; Debug.Log("正确"); ResetItemState(); BaoJing(true); for (int i = 0; i < quesition1LED.Length; i++) { quesition1LED[i].SetActive(true); } } break; case 2: if (item.ItemName != "hand") return; float distance2 = Vector2.Distance(item.transform.position, OKItem2.transform.position); if (distance2 <= 200f && tanceOpen) { question2OK = true; Debug.Log("正确"); ResetItemState(); BaoJing(true); } break; case 3: if (item.ItemName != "luosidao") return; float distance3 = Vector2.Distance(item.transform.position, OKItem3.transform.position); if (distance3 <= 200f &&baojingOpen) { question3OK = true; Debug.Log("正确"); ResetItemState(); BaoJing(true); } break; case 4: if (item.ItemName != "hand") return; float distance4 = Vector2.Distance(item.transform.position, OKItem4.transform.position); if (distance4 <= 200f && baojingOpen) { question4OK = true; Debug.Log("正确"); ResetItemState(); BaoJing(true); for (int i = 0; i < quesition4LED.Length; i++) { quesition4LED[i].SetActive(true); } } break; } } } }