| | |
| | | |
| | | [Header("按钮")] |
| | | [SerializeField] PhantasmPavilionUnlockButton btnUnlock; |
| | | [SerializeField] PhantasmPavilionUnlockButton btnUnlock1; |
| | | [SerializeField] PhantasmPavilionPutOnButton btnPutOn1; |
| | | [SerializeField] PhantasmPavilionPutOnButton btnPutOn2; |
| | | [SerializeField] PhantasmPavilionPutOnButton btnPutOn3; |
| | | [SerializeField] PhantasmPavilionAddStarButton btnAddStar; |
| | | [SerializeField] TextEx txtRemainingTime1; |
| | | [SerializeField] TextEx txtRemainingTime2; |
| | |
| | | { |
| | | PhantasmPavilionState state = manager.GetUnLockState(type, id); |
| | | bool isCanStarAdd = manager.HasStarAddAttr(type, id); |
| | | bool isUsing = manager.IsUsing(type, id); |
| | | btnUnlock.SetActive(state != PhantasmPavilionState.Activated); |
| | | bool hasLimitTimeShow = manager.TryGetLimitTimeShow(type, id, out int remainingSeconds); |
| | | int unlockWay = manager.GetUnlockWay(type, id); |
| | | |
| | | btnUnlock.SetActive(state != PhantasmPavilionState.Activated && unlockWay == 2); |
| | | btnUnlock1.SetActive(state != PhantasmPavilionState.Activated && unlockWay != 2); |
| | | |
| | | btnAddStar.SetActive(state == PhantasmPavilionState.Activated && isCanStarAdd); |
| | | btnPutOn1.SetActive(state == PhantasmPavilionState.Activated && !isCanStarAdd && !isUsing); |
| | | btnPutOn2.SetActive(state == PhantasmPavilionState.Activated && isCanStarAdd && !isUsing); |
| | | btnPutOn2.SetActive(state == PhantasmPavilionState.Activated && isCanStarAdd); |
| | | |
| | | btnPutOn1.SetActive(state == PhantasmPavilionState.Activated && !isCanStarAdd && hasLimitTimeShow); |
| | | btnPutOn3.SetActive(state == PhantasmPavilionState.Activated && !isCanStarAdd && !hasLimitTimeShow); |
| | | |
| | | btnUnlock1.Display(id); |
| | | btnUnlock.Display(id); |
| | | btnAddStar.Display(id); |
| | | btnPutOn1.Display(id); |
| | | btnPutOn2.Display(id); |
| | | |
| | | btnPutOn3.Display(id); |
| | | |
| | | UpdateTimer(type, id); |
| | | } |
| | |
| | | |
| | | public void UpdateTimer(PhantasmPavilionType type, int id) |
| | | { |
| | | bool isUnlock = manager.IsUnlock(type, id); |
| | | bool isLimitTime = manager.IsLimitTime(type, id); |
| | | if (!isUnlock || !isLimitTime || !manager.TryGetInfo(type, id, out var info) || info.EndTime <= 0) |
| | | bool hasLimitTimeShow = manager.TryGetLimitTimeShow(type, id, out int remainingSeconds); |
| | | if (!hasLimitTimeShow) |
| | | { |
| | | txtRemainingTime1.SetActive(false); |
| | | txtRemainingTime2.SetActive(false); |
| | | return; |
| | | } |
| | | |
| | | PhantasmPavilionState state = manager.GetUnLockState(type, id); |
| | | bool isCanStarAdd = manager.HasStarAddAttr(type, id); |
| | | |
| | | DateTime endDateTime = TimeUtility.OriginalTime.AddSeconds(info.EndTime); |
| | | TimeSpan remainingTime = endDateTime - TimeUtility.ServerNow; |
| | | int remainingSeconds = (int)remainingTime.TotalSeconds; |
| | | txtRemainingTime1.SetActive(state == PhantasmPavilionState.Activated && !isCanStarAdd && remainingSeconds > 0); |
| | | txtRemainingTime2.SetActive(state == PhantasmPavilionState.Activated && isCanStarAdd && remainingSeconds > 0); |
| | | txtRemainingTime1.SetActive(hasLimitTimeShow && !isCanStarAdd); |
| | | txtRemainingTime2.SetActive(hasLimitTimeShow && isCanStarAdd); |
| | | if (remainingSeconds > 0) |
| | | { |
| | | string countdownText = TimeUtility.SecondsToShortDHMS(remainingSeconds); |
| | | txtRemainingTime1.text = Language.Get("PhantasmPavilion10", UIHelper.AppendColor(TextColType.DarkGreen, countdownText)); |
| | | txtRemainingTime2.text = Language.Get("PhantasmPavilion10", UIHelper.AppendColor(TextColType.DarkGreen, countdownText)); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |