public void ShowButton(QuestProgressState _questProgress, QuestClearType _clearType, int _price) { if (miracleImg == null || goldImg == null || textPrice == null || textTitle == null || _questProgress != QuestProgressState.QUEST_PROGRESS_IN) { gameObject.SetActiveRecursively(false); miracleImg.Hide(true); goldImg.Hide(true); return; } if (_clearType == QuestClearType.NONE) { gameObject.SetActiveRecursively(false); miracleImg.Hide(true); goldImg.Hide(true); } else if (_clearType == QuestClearType.CASH) { gameObject.SetActiveRecursively(true); miracleImg.Hide(false); goldImg.Hide(true); textPrice.Text = _price.ToString(); } else if (_clearType == QuestClearType.GOLD) { gameObject.SetActiveRecursively(true); miracleImg.Hide(true); goldImg.Hide(false); textPrice.Text = _price.ToString(); } }
public List<QuestTalkInfo> GetTalkInfo(QuestProgressState _talkState) { if (dicQuestTalkInfo.ContainsKey(_talkState)) return dicQuestTalkInfo[_talkState]; else return null; }
public string GetTalkString(QuestProgressState _talkState) { if (dicQuestTalk.ContainsKey(_talkState)) return dicQuestTalk[_talkState]; else return string.Empty; }
public List<QuestTalkInfo> GetTalkInfo(QuestProgressState _state) { if (dicQuestTalks.ContainsKey(_state)) return dicQuestTalks[_state]; else return new List<QuestTalkInfo>(); }
public void AddTalk(QuestProgressState _talkState, string _talk) { if (!dicQuestTalk.ContainsKey(_talkState)) { dicQuestTalk.Add(_talkState, _talk); dicQuestTalkInfo.Add(_talkState, MakeTalkInfo(_talk)); } }
public void WaitForCompleteProgress() { if (QuestProgressState != QuestProgressState.OnProgress) { return; } QuestProgressState = QuestProgressState.WaitForComplete; }
public void CompleteProgress() { if (QuestProgressState != QuestProgressState.OnProgress) { return; } QuestProgressState = QuestProgressState.Complete; ProgressCompleteAction.CallSafe(ProgressIndex); }
public void FailureProgress() { if (QuestProgressState != QuestProgressState.OnProgress) { return; } QuestProgressState = QuestProgressState.Failure; ProgressFailureAction.CallSafe(ProgressIndex); }
#pragma warning disable CS0649 #pragma warning restore CS0649 #endregion #region Methods /// <summary> /// 단계 도달이 됨. /// </summary> public void ReachProgress(float value = 0f) { if (QuestProgressState != QuestProgressState.NoReachable) { return; } QuestProgressState = QuestProgressState.OnProgress; ProgressValue = value; }
public void RestartProgress() { if (QuestProgressState == QuestProgressState.NoReachable) { return; } QuestProgressState = QuestProgressState.OnProgress; ProgressValue = 0; }
public bool SetProgress(float value) { if (value.IsZero()) { return(false); } ProgressValue = value; // 단계 완료시 초과분을 넘김. if (!(ProgressValue >= ReqProgressValue) || QuestProgressState != QuestProgressState.OnProgress) { return(false); } QuestProgressState = QuestProgressState.WaitForComplete; return(true); }
public void ProcessMessage(object _messageObject) { // wanted는 제외 if (questData.Info.QuestType == QuestType.QUEST_WANTED) return; if (NowQuestProgressState == QuestProgressState.QUEST_PROGRESS_IN || NowQuestProgressState == QuestProgressState.QUEST_PROGRESS_CLEAR) { QuestMessageObject messageObject = (QuestMessageObject)_messageObject; questData.Achievement.ProcessMessage(messageObject.MessageType, messageObject.Data); if (NowQuestProgressState == QuestProgressState.QUEST_PROGRESS_IN) { // time limit 가 있어야 되는 경우 따로 체크 if (timeLimit != null) questData.Achievement.ProcessMessage(QuestMessages.QM_TIME_LIMIT, new Object()); // time Survivla이 있을경우 따로 체크 if (timeSurvival != null) questData.Achievement.ProcessMessage(QuestMessages.QM_TIME_SURVIVAL, new Object()); } // 퀘스트 완료 체크 if (questData.Achievement.IsComplete()) { if (NowQuestProgressState == QuestProgressState.QUEST_PROGRESS_IN && sendClear == false) { Debug.LogWarning("req quest clear = " + questData.Info.Name); sendClear = true; ArkQuestmanager.instance.RequestClearQuest(questData.Info.ID); } } else // not complete { if (NowQuestProgressState == QuestProgressState.QUEST_PROGRESS_CLEAR) { sendClear = false; NowQuestProgressState = QuestProgressState.QUEST_PROGRESS_IN; ArkQuestmanager.instance.CheckQuestMarkAllNpcAndCollecion(); ArkQuestmanager.instance.RequestClearQuest(questData.Info.ID); if (AsHudDlgMgr.Instance != null) if (AsHudDlgMgr.Instance.IsOpenQuestMiniView == true) AsHudDlgMgr.Instance.questMiniView.UpdateQuetMiniViewMgr(); } } } }
public void SetQuestImmediatelyClear() { List<AchBase> listAchievement = questData.Achievement.GetDatas(); foreach (AchBase ach in listAchievement) { ach.SetImmediatelyClear(); NowQuestProgressState = QuestProgressState.QUEST_PROGRESS_IMMEDIATELY_CLEAR; } }
void CheckTime() { if (questData == null) return; if (NowQuestProgressState == QuestProgressState.QUEST_PROGRESS_IN) { if (timeSurvival != null || timeLimit != null) { float fNowTime = 0.0f; float delthaTime = Time.realtimeSinceStartup - startTime; startTime = Time.realtimeSinceStartup; if (timeLimit != null && timeLimit.IsEnd == false) { fNowTime = timeLimit.DiscountTime(delthaTime); if (timeSpriteText != null) timeSpriteText.Text = TimeToText(fNowTime); if (timeLimit.IsEnd) NowQuestProgressState = QuestProgressState.QUEST_PROGRESS_FAIL; } else if (timeSurvival != null && timeSurvival.IsEnd == false) { fNowTime = timeSurvival.DiscountTime(delthaTime); if (timeSpriteText != null) timeSpriteText.Text = TimeToText(fNowTime); if (timeSurvival.IsEnd) QuestMessageBroadCaster.BrocastQuest(QuestMessages.QM_TIME_SURVIVAL, new object()); } } } }
public string GetStateString(QuestProgressState _state) { StringBuilder sb = new StringBuilder(" "); if (_state == QuestProgressState.QUEST_PROGRESS_IN) sb.Append(AsTableManager.Instance.GetTbl_String(813)); else if (_state == QuestProgressState.QUEST_PROGRESS_CLEAR || _state == QuestProgressState.QUEST_PROGRESS_IMMEDIATELY_CLEAR) sb.Append(AsTableManager.Instance.GetTbl_String(814)); else if (_state == QuestProgressState.QUEST_PROGRESS_FAIL) sb.Append(AsTableManager.Instance.GetTbl_String(815)); else return string.Empty; return sb.ToString(); }
public void SetQuestRecordState(int _id, QuestProgressState _state, int _repeat) { if (m_ResourceTable.ContainsKey(_id)) { m_ResourceTable[_id].QuestDataInfo.NowQuestProgressState = _state; if (_repeat != -1) m_ResourceTable[_id].QuestDataInfo.Info.RepeatCurrent = (byte)_repeat; } else Debug.Log("Not contain key (SetQuestRecordState)"); }
public void ShowQuestClearCashBtn( QuestProgressState _qeustProgress, QuestClearType _clearType, int _price) { QuestClearBtnContoller controller = buttonCashDone.gameObject.GetComponent<QuestClearBtnContoller>(); if( controller == null) buttonCashDone.gameObject.SetActiveRecursively( false); else controller.ShowButton( _qeustProgress, _clearType, _price); }
public void SetTbl_QuesrRecordState( int _id, QuestProgressState _state, int _repeat = -1) { m_Tbl_Quest.SetQuestRecordState( _id, _state, _repeat); }
public void ResetProgress() { QuestProgressState = QuestProgressState.NoReachable; ProgressValue = 0; }