SavePanel.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using SC.XR.Unity;
  2. using UnityEngine;
  3. using UnityEngine.UI;
  4. public class SavePanel : AbstractController
  5. {
  6. public Button saveBtn;
  7. public Button cancleBtn;
  8. public Transform meshTest;
  9. public Transform parent;
  10. public SCToggleSwitch3D sCToggleSwitch3D;
  11. private void Start()
  12. {
  13. meshTest = GameObject.Find("ARSpaceForAll/mesh_test").gameObject.transform;
  14. parent = GameObject.Find("ARSpaceForAll").transform;
  15. sCToggleSwitch3D = transform.parent.GetComponent<SCToggleSwitch3D>();
  16. saveBtn.onClick.AddListener(Save);
  17. cancleBtn.onClick.AddListener(Cancle);
  18. }
  19. private void Save()
  20. {
  21. meshTest.transform.parent = parent;
  22. PlayerPrefs.SetFloat("meshTest_PosX", meshTest.localPosition.x);
  23. PlayerPrefs.SetFloat("meshTest_PosZ", meshTest.localPosition.z);
  24. PlayerPrefs.SetFloat("meshTest_RotY", meshTest.localEulerAngles.y);
  25. sCToggleSwitch3D.isOn = false;
  26. gameObject.SetActive(false);
  27. }
  28. private void Cancle()
  29. {
  30. meshTest.transform.parent = parent;
  31. float posX = PlayerPrefs.GetFloat("meshTest_PosX");
  32. float posZ = PlayerPrefs.GetFloat("meshTest_PosZ");
  33. Vector3 pos = new Vector3(posX, 0, posZ);
  34. meshTest.localPosition = pos;
  35. float rotY = PlayerPrefs.GetFloat("meshTest_RotY");
  36. meshTest.localEulerAngles = new Vector3(0, rotY, 0);
  37. sCToggleSwitch3D.isOn = false;
  38. gameObject.SetActive(false);
  39. }
  40. private void OnEnable()
  41. {
  42. SetSceneActive.active = true;
  43. }
  44. private void OnDisable()
  45. {
  46. SetSceneActive.active = false;
  47. }
  48. }