TimeLimitGameDistanceSelectView.cs 1.7 KB

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