QuanJuBackManager.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class QuanJuBackManager : MonoBehaviour
  5. {
  6. public static QuanJuBackManager Instance ;
  7. //public GameObject nowWindow;
  8. public Stack<WindowInfo> stackList=new Stack<WindowInfo>();
  9. public void setStack(WindowInfo go)
  10. {
  11. stackList.Push(go);
  12. }
  13. public void back()
  14. {
  15. if(stackList.Count<=0)
  16. {
  17. WindowMainManager.instance.m.isOn=true;
  18. }
  19. else
  20. {
  21. WindowInfo pop =stackList.Pop();
  22. BaseWindow bw =pop.oldgo.GetComponent<BaseWindow>();
  23. BaseWindow bw2 =pop.go.GetComponent<BaseWindow>();
  24. Debug.Log("json==>"+pop.json);
  25. if(bw==null)
  26. {
  27. bw=pop.oldgo.AddComponent<BaseWindow>();
  28. }
  29. if(bw2==null)
  30. {
  31. bw2=pop.go.AddComponent<BaseWindow>();
  32. }
  33. if(pop.oldgo!=pop.go)
  34. bw.SetHideInfo(pop.json);
  35. bw2.SetShowInfo(pop.json);
  36. }
  37. }
  38. public void clearstack()
  39. {
  40. stackList.Clear();
  41. }
  42. void Awake()
  43. {
  44. Instance=this;
  45. }
  46. public static void windowChanage(GameObject now,GameObject to,string jsonnow ="")
  47. {
  48. WindowInfo windownowInfo= new WindowInfo();
  49. windownowInfo.json=jsonnow;
  50. windownowInfo.oldgo=now;
  51. windownowInfo.go=to;
  52. QuanJuBackManager.Instance.setStack(windownowInfo);
  53. }
  54. public class WindowInfo
  55. {
  56. public string json;
  57. public GameObject go;
  58. public GameObject oldgo;
  59. }
  60. }