LeftSidePanel.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using UnityEngine;
  6. using UnityEngine.UI;
  7. public class LeftSidePanel
  8. {
  9. public static bool isOpen = true;
  10. public static RectTransform panel;
  11. public static Button openButton;
  12. public static Button closeButton;
  13. private static Vector3 originPos;
  14. private static Vector3 targetPos;
  15. public static void Init()
  16. {
  17. openButton = ResourceManager.Get<Button>(CanvasLabel.C_OpenLeftSidePanelButton);
  18. closeButton = ResourceManager.Get<Button>(CanvasLabel.C_CloseLeftSidePanelButton);
  19. panel = ResourceManager.Get<RectTransform>(CanvasLabel.C_LeftSidePanel);
  20. openButton.onClick.AddListener(Show);
  21. closeButton.onClick.AddListener(Hide);
  22. targetPos = ResourceManager.Get(CanvasLabel.C_LeftSidePanelHidePos).position;
  23. }
  24. public static void Show()
  25. {
  26. isOpen = true;
  27. openButton.SetActive(false);
  28. closeButton.SetActive(true);
  29. Vector3 offset = originPos - closeButton.transform.position;
  30. offset.y = 0;
  31. panel.CreateTweenVecOffset2D(offset, 0.25f, false, true, true, Curve.EaseOutQuad, true);
  32. panel.TweenForVec();
  33. AudioManager.PlayClip(ResourceLabel.BtnClip);
  34. }
  35. public static void Hide()
  36. {
  37. isOpen = false;
  38. openButton.SetActive(true);
  39. closeButton.SetActive(false);
  40. originPos = openButton.transform.position;
  41. Vector3 offset = targetPos - openButton.transform.position;
  42. offset.y = 0;
  43. panel.CreateTweenVecOffset2D(offset, 0.25f, false, true, true, Curve.EaseOutQuad, true);
  44. panel.TweenForVec();
  45. AudioManager.PlayClip(ResourceLabel.BtnClip);
  46. }
  47. public static void Refresh()
  48. {
  49. LayoutRebuilder.ForceRebuildLayoutImmediate(ResourceManager.Get<RectTransform>(CanvasLabel.C_SocialGroup));
  50. }
  51. //public static void SetToShow()
  52. //{
  53. // panel.GetTweenVec().InDestination = true;
  54. // openButton.SetActive(false);
  55. // closeButton.SetActive(true);
  56. //}
  57. //public static void SetToHide()
  58. //{
  59. // panel.GetTweenVec().InOrigin = true;
  60. // openButton.SetActive(true);
  61. // closeButton.SetActive(false);
  62. //}
  63. }