using UnityEngine; using UnityEngine.UI; using DG.Tweening; //主界面的右边栏缩进功能 public class RightFuncInHome : MonoBehaviour { [SerializeField] ClickScreenOtherSpaceEvent clickScreenOtherSpaceEvent; [SerializeField] RectTransform funcCol; [SerializeField] RectTransform showPoint; [SerializeField] RectTransform hidePoint; [SerializeField] Button closeBtn; [SerializeField] Button storeBtn; [SerializeField] Button monthCardBtn; string listenWindowName = ""; //监听关闭时再显示 bool isShow = false; void Awake() { monthCardBtn.AddListener(() => { ListenWindow(""); InvestModel.Instance.BuyInvest(InvestModel.monthCardType); }); storeBtn.AddListener(() => { ListenWindow("StoreBaseWin"); UIManager.Instance.OpenWindow(); }); clickScreenOtherSpaceEvent.AddListener(() => { if (isShow) { isShow = !isShow; ShowFuncCol(isShow); } }); closeBtn.AddListener(() => { ShowFuncCol(false); }); UIManager.Instance.OnCloseWindow -= OnCloseWindow; UIManager.Instance.OnCloseWindow += OnCloseWindow; } void ShowBtns() { storeBtn.SetActive(FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)); } //显隐功能栏 public void ShowFuncCol(bool _isShow) { isShow = _isShow; funcCol.DOLocalMove(isShow ? showPoint.localPosition : hidePoint.localPosition, 0.3f); if (isShow) { ShowBtns(); } } void OnCloseWindow(UIBase win) { if (win.name == listenWindowName) { ShowFuncCol(true); listenWindowName = ""; } } void ListenWindow(string _listenWindowName) { ShowFuncCol(false); listenWindowName = _listenWindowName; } }