TimeLimitGameDistanceSelectView.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. /* 限时模式的靶子距离选择界面 */
  6. public class TimeLimitGameDistanceSelectView : MonoBehaviour
  7. {
  8. void Start()
  9. {
  10. GameMgr.ins.addLockerForGamePause(this);
  11. Transform layout = this.transform.Find("Layout");
  12. GameObject itemPrefab = layout.Find("Item").gameObject;
  13. for (int i = 1; i < TimeLimitGameMode.distanceCanSelected.Length; i++) {
  14. GameObject.Instantiate<GameObject>(
  15. itemPrefab, Vector3.zero, Quaternion.identity, this.transform.Find("Layout")
  16. );
  17. }
  18. for (int i = 0; i < TimeLimitGameMode.distanceCanSelected.Length; i++) {
  19. int distance = TimeLimitGameMode.distanceCanSelected[i];
  20. Transform item = layout.GetChild(i);
  21. item.transform.Find("Line/Text").GetComponent<Text>().text = distance + "米";
  22. Button btn = item.gameObject.AddComponent<Button>();
  23. item.transform.Find("Selected").gameObject.SetActive(distance == TimeLimitGameMode.distance);
  24. btn.onClick.AddListener(delegate() {
  25. TimeLimitGameMode.distance = distance;
  26. for (int i = 0; i < layout.childCount; i++)
  27. {
  28. layout.GetChild(i).Find("Selected").gameObject.SetActive(item == layout.GetChild(i));
  29. }
  30. });
  31. }
  32. this.transform.Find("Button").GetComponent<Button>().onClick.AddListener(delegate() {
  33. ((TimeLimitGameMode) GameMgr.ins.gameMode).ConfirmSelectedTargetDistance();
  34. Destroy(this.gameObject);
  35. });
  36. }
  37. void OnDestroy()
  38. {
  39. GameMgr.ins.removeLockerForGamePause(this);
  40. }
  41. }