InputTest.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using TMPro;
  6. using UnityEngine.SceneManagement;
  7. public class InputTest : MonoBehaviour
  8. {
  9. private static InputTest ins;
  10. public static InputTest Ins
  11. {
  12. get
  13. {
  14. if (ins == null)
  15. {
  16. var go = Resources.Load<GameObject>("Test");
  17. go = Instantiate(go);
  18. ins = go.GetComponent<InputTest>();
  19. }
  20. return ins;
  21. }
  22. }
  23. private Button ReloadBtn;
  24. private TMP_InputField scaleMaxInput;
  25. private TMP_InputField scaleMinInput;
  26. //Í£Áôʱ¼ä
  27. private TMP_InputField stayMinInput;
  28. private TMP_InputField stayMaxInput;
  29. //³öÏÖ¼ä¸ô
  30. private TMP_InputField showMinInput;
  31. private TMP_InputField showMaxInput;
  32. // Start is called before the first frame update
  33. void Awake()
  34. {
  35. DontDestroyOnLoad(this);
  36. scaleMaxInput = transform.Find("Canvas/Root/ScaleMax").GetComponent<TMP_InputField>();
  37. scaleMinInput = transform.Find("Canvas/Root/ScaleMin").GetComponent<TMP_InputField>();
  38. stayMinInput = transform.Find("Canvas/Root/TimeMin").GetComponent<TMP_InputField>();
  39. stayMaxInput = transform.Find("Canvas/Root/TimeMax").GetComponent<TMP_InputField>();
  40. showMinInput = transform.Find("Canvas/Root/ShowMin").GetComponent<TMP_InputField>();
  41. showMaxInput = transform.Find("Canvas/Root/ShowMax").GetComponent<TMP_InputField>();
  42. ReloadBtn = transform.Find("Canvas/Root/Button").GetComponent<Button>();
  43. ReloadBtn.onClick.AddListener(OnReload);
  44. }
  45. public void SetText(GeneratingTarget generatingTarget)
  46. {
  47. scaleMinInput.text = generatingTarget.ScaleMin.ToString();
  48. scaleMaxInput.text = generatingTarget.ScaleMax.ToString();
  49. stayMinInput.text = generatingTarget.TargetExistenceTimeMin.ToString();
  50. stayMaxInput.text = generatingTarget.TargetExistenceTimeMax.ToString();
  51. showMinInput.text = generatingTarget.minTimeBetweenEvents.ToString();
  52. showMaxInput.text = generatingTarget.maxTimeBetweenEvents.ToString();
  53. }
  54. private void OnReload()
  55. {
  56. if (!float.TryParse(scaleMinInput.text, out float scaleMin))
  57. return;
  58. if (!float.TryParse(scaleMaxInput.text, out float scaleMax))
  59. return;
  60. if (!float.TryParse(stayMinInput.text, out float timeMin))
  61. return;
  62. if (!float.TryParse(stayMaxInput.text, out float timeMax))
  63. return;
  64. if (!float.TryParse(showMaxInput.text, out float showMax))
  65. return;
  66. if (!float.TryParse(showMinInput.text, out float showMin))
  67. return;
  68. var GeneratingTarget1 = FindObjectOfType<GeneratingTarget>();
  69. var scene = SceneManager.GetActiveScene();
  70. var tasync = SceneManager.LoadSceneAsync(scene.name);
  71. tasync.completed += (opera) =>
  72. {
  73. var GeneratingTarget = FindObjectOfType<GeneratingTarget>();
  74. GeneratingTarget.ScaleMin = scaleMin;
  75. GeneratingTarget.ScaleMax = scaleMax;
  76. GeneratingTarget.TargetExistenceTimeMin = timeMin;
  77. GeneratingTarget.TargetExistenceTimeMax = timeMax;
  78. GeneratingTarget.minTimeBetweenEvents = showMin;
  79. GeneratingTarget.maxTimeBetweenEvents = showMax;
  80. SetText(GeneratingTarget);
  81. };
  82. }
  83. }