/// <summary> /// <para>name : UpdateQuestSub</para> /// <para>describe : 퀘스트 서브 정보 데이터 업데이트. (복수)</para> /// <para>tag : [email protected]</para> /// </summary> public void UpdateQuestSub(SQuestSub[] infoArray) { bool isCompleteQuest = false; SQuestSub completeQSub = null; for (int i = 0; i < infoArray.Length; i++) { isCompleteQuest = infoArray[i].GetState.Equals(QUEST_CLEAR_STATE.QUEST_STATE_CLEAR) ? true : isCompleteQuest; if (isCompleteQuest && completeQSub == null) { completeQSub = infoArray[i]; } UpdateQuestSub(infoArray[i]); } StateManager.instance.m_curState.UpdateQuestList(); if (isCompleteQuest) { AddCompleteToast(completeQSub); } }
private void AddCompleteToast(SQuestSub info) { QuestSubInfo qSInfo = WorldManager.instance.m_dataManager.m_questSubData.GetInfo(info.subCode); QuestContentsInfo qCInfo = WorldManager.instance.m_dataManager.m_questContentsData.GetInfo(qSInfo.questContentsIndex); switch ((QUEST_COMPLETE_TYPE)qCInfo.typeIndex) { case QUEST_COMPLETE_TYPE.TYPE_COSTUME_FIGHT_WIN: case QUEST_COMPLETE_TYPE.TYPE_COSTUME_FIGHT_SUCCESSION: if (m_completeQuestSubDic.ContainsKey(qCInfo.typeIndex) == false) { m_completeQuestSubDic[qCInfo.typeIndex] = info; } else { m_completeQuestSubDic.Add(qCInfo.typeIndex, info); } break; default: QuestWindow.instance.ShowToastMessage(qSInfo); break; } }
/// <summary> /// <para>name : UpdateQuestSub</para> /// <para>describe : 퀘스트 서브 정보 데이터 업데이트. (단일)</para> /// <para>tag : [email protected]</para> /// </summary> public void UpdateQuestSub(SQuestSub info) { if (m_questSubDic.ContainsKey(info.qCode)) { int index = m_questSubDic[info.qCode].FindIndex(delegate(SQuestSub sub) { return(sub.subCode.Equals(info.subCode)); }); if (index > -1) { m_questSubDic[info.qCode][index] = info; } else { m_questSubDic[info.qCode].Add(info); } } else { m_questSubDic.Add(info.qCode, new List <SQuestSub>()); m_questSubDic[info.qCode].Add(info); } }