TimeLimitGameDistanceSelectView.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. /* 限时模式的靶子距离选择界面 */
  6. public class TimeLimitGameDistanceSelectView : MonoBehaviour
  7. {
  8. public static TimeLimitGameDistanceSelectView ins;
  9. void Awake()
  10. {
  11. SimulateMouseController.ins?.AddOpenLocker(this);
  12. }
  13. void Start()
  14. {
  15. ins = this;
  16. GameMgr.ins.addLockerForGamePause(this);
  17. Transform layout = this.transform.Find("Layout");
  18. GameObject itemPrefab = layout.Find("Item").gameObject;
  19. for (int i = 1; i < TimeLimitGameMode.distanceCanSelected.Length; i++) {
  20. GameObject.Instantiate<GameObject>(
  21. itemPrefab, Vector3.zero, Quaternion.identity, this.transform.Find("Layout")
  22. );
  23. }
  24. for (int i = 0; i < TimeLimitGameMode.distanceCanSelected.Length; i++) {
  25. int distance = TimeLimitGameMode.distanceCanSelected[i];
  26. Transform item = layout.GetChild(i);
  27. var tal = item.transform.Find("Text").GetComponent<TextAutoLanguage2>();
  28. tal.textFormatArgs = new object[]{distance};
  29. tal.ApplyToText();
  30. Button btn = item.gameObject.GetComponent<Button>();
  31. btn.onClick.AddListener(delegate() {
  32. AudioMgr.ins.PlayBtn();
  33. TimeLimitGameMode.distance = distance;
  34. ((TimeLimitGameMode) GameMgr.ins.gameMode).ConfirmSelectedTargetDistance();
  35. Destroy(this.gameObject);
  36. });
  37. }
  38. GameAssistUI.ins.copyButtonBack(this.transform);
  39. }
  40. void OnDestroy()
  41. {
  42. if (ins == this) ins = null;
  43. if (GameMgr.ins) GameMgr.ins.removeLockerForGamePause(this);
  44. SimulateMouseController.ins?.RemoveOpenLocker(this);
  45. }
  46. }