public bool IsKeyUnlock(long unixtime) { if (!this.IsKeyQuest() || !this.IsDateUnlock(unixtime)) { return(false); } KeyQuestTypes keyQuestType = this.GetKeyQuestType(); if (this.key_end <= 0L) { return(false); } switch (keyQuestType) { case KeyQuestTypes.Timer: return(unixtime < this.key_end); case KeyQuestTypes.Count: for (int index = 0; index < this.quests.Count; ++index) { if (this.quests[index].CheckEnableChallange()) { return(true); } } return(false); default: return(false); } }
private void Start() { this.Chapter = MonoSingleton <GameManager> .Instance.FindArea((string)GlobalVars.SelectedChapter); if (this.Chapter == null) { FlowNode_GameObject.ActivateOutputLinks((Component)this, 101); } else { if (Object.op_Inequality((Object)this.ItemTemplate, (Object)null) && this.ItemTemplate.get_activeInHierarchy()) { this.ItemTemplate.SetActive(false); } if (Object.op_Inequality((Object)this.Message, (Object)null)) { string str = (string)null; ItemParam itemParam = (ItemParam)null; int num = 0; if (this.Chapter.keys.Count > 0) { KeyItem key = this.Chapter.keys[0]; itemParam = MonoSingleton <GameManager> .Instance.GetItemParam(key.iname); num = key.num; } KeyQuestTypes keyQuestType = this.Chapter.GetKeyQuestType(); bool keyQuestTimeOver = GlobalVars.KeyQuestTimeOver; switch (keyQuestType) { case KeyQuestTypes.Timer: if (this.Chapter.keytime != 0L && itemParam != null) { TimeSpan timeSpan = TimeManager.FromUnixTime(this.Chapter.keytime) - TimeManager.FromUnixTime(0L); if (timeSpan.TotalDays >= 1.0) { str = LocalizedText.Get(!keyQuestTimeOver ? "sys.KEYQUEST_UNLCOK_TIMER_D" : "sys.KEYQUEST_TIMEOVER_D", (object)itemParam.name, (object)num, (object)timeSpan.Days); break; } if (timeSpan.TotalHours >= 1.0) { str = LocalizedText.Get(!keyQuestTimeOver ? "sys.KEYQUEST_UNLCOK_TIMER_H" : "sys.KEYQUEST_TIMEOVER_H", (object)itemParam.name, (object)num, (object)timeSpan.Hours); break; } str = LocalizedText.Get(!keyQuestTimeOver ? "sys.KEYQUEST_UNLCOK_TIMER_M" : "sys.KEYQUEST_TIMEOVER_M", (object)itemParam.name, (object)num, (object)Mathf.Max(timeSpan.Minutes, 0)); break; } break; case KeyQuestTypes.Count: str = LocalizedText.Get(!keyQuestTimeOver ? "sys.KEYQUEST_UNLCOK_COUNT" : "sys.KEYQUEST_TIMEOVER_COUNT", (object)itemParam.name, (object)num); break; } this.Message.set_text(str); } this.Refresh(); } }