TimeLimitGameDistanceSelectView.cs 2.1 KB

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