protected override void OnOpen() { SlotInfo.ClearCurrentSlotLoaded(); ((UserSlotData)UserData.instance).SetSlot(-1, false); SceneState.instance.SetGlobalValue(LevelController.timeTrialKey, 0, false); bool hasCleared = false; ModalSaveSlots modalSlots = UIModalManager.instance.ModalGetController <ModalSaveSlots>("slots"); for (int i = 0; i < modalSlots.slots.Length; i++) { if (SlotInfo.HasClearTime(i)) { hasCleared = true; break; } } if (hasCleared) { activeGOCleared.SetActive(true); } else { activeGODefault.SetActive(true); } }
IEnumerator DoWait() { yield return(StartCoroutine(Achievement.instance.WaitServiceComplete())); waitGO.SetActive(false); UICamera.selectedObject = items[0].l.gameObject; for (int i = 0; i < items.Length; i++) { items[i].l.onClick = OnItemClick; //check locked bool isLocked; if (TimeTrial.instance.data[i].requireUnlock) { if (!Achievement.instance.AchievementIsUnlocked(TimeTrial.instance.data[i].achieveId)) { isLocked = true; //go through slot data ModalSaveSlots modalSlots = UIModalManager.instance.ModalGetController <ModalSaveSlots>("slots"); for (int s = 0; s < modalSlots.slots.Length; s++) { SceneState.instance.ResetGlobalValues(); UserSlotData.LoadSlot(s, false); if (LevelController.IsLevelComplete(TimeTrial.instance.data[i].level)) { isLocked = false; break; } UserSlotData.LoadSlot(-1, false); } } else { isLocked = false; } } else { isLocked = false; } if (isLocked) { items[i].label.text = "?????"; items[i].label.color = Color.gray; items[i].time.text = "BEST - ---:--.--"; items[i].locked = true; } else { items[i].label.text = TimeTrial.instance.data[i].name; items[i].label.color = activeColor; if (TimeTrial.Exists(TimeTrial.instance.data[i].level)) { items[i].time.text = "BEST - " + LevelController.LevelTimeFormat(TimeTrial.Load(TimeTrial.instance.data[i].level)); } else { items[i].time.text = "BEST - ---:--.--"; } items[i].locked = false; } } back.onClick = OnReturn; }