void Quest() { eQuestType eType = (eQuestType)tile[currentTileIdx].eTile; //bool flag = dli_CurrenQuest.ContainsKey(eType); eStage eStage = (eStage)tile[currentTileIdx].stageData.nID; if (eStage == eStage.Fire1 || eStage == eStage.Forest1 || eStage == eStage.Ice1) { dli_CurrenQuest.Add(eType, eStage); } else if (Player.Ins.questFlagList[tile[currentTileIdx].stageData.nID - 1] == true) { dli_CurrenQuest.Add(eType, eStage); } }
//퀘스트창에서 완료버튼 누를시 public void ClickSuccess(int btnIdx) { //btnIdx = 퀘스트 정보마다 한개씩 버튼을 가지고 있고 그 버튼에 대한 인덱스 if (successBtn[btnIdx].GetComponent <Image>().color == Color.green) { //Debug.LogError("이미 완료한 퀘스트 입니다"); StartCoroutine(PopupText(Define.sQUESTPOPUP_TEXT1)); return; } eQuestType eType = (eQuestType)nType; //완료 버튼 누른게 어느 스테인지 확인 int idx = 0; eStage eStage = eStage.None; //d_QuestList에는 내가 현재 클릭한 속성에 대한 퀘스트정보를 가지고있음 foreach (var val in d_QuestList) { if (idx > btnIdx) { break; } eStage = (eStage)val.Key; ++idx; } //현재 퀘스트가 진행중인건지 확인, Player.Ins.questOpenList 인덱스 0부터 시작 eStage는 1부터 시작 bool bOpen = Player.Ins.questOpenList[(int)eStage - 1]; if (!bOpen) { //Debug.LogError("현재 진행중인 퀘스트가 아닙니다"); StartCoroutine(PopupText(Define.sQUESTPOPUP_TEXT3)); return; } //현재 퀘스트 완료중에 해당 속성이 있는지 확인 bool bType = GameMng.Ins.dli_CurrenQuest.ContainsKey(eType); if (!bType) { //Debug.LogError("해당 속성 퀘스트를 완료하세요"); StartCoroutine(PopupText(Define.sQUESTPOPUP_TEXT2)); return; } //Debug.LogError("퀘스트 완료"); //questFlagList 인덱스 0부터 시작 eStage는 1부터 시작 = 현재 진행중인 스테이지 Player.Ins.questFlagList[(int)eStage - 1] = true; //다음 퀘스트 오픈 Player.Ins.questOpenList[(int)eStage] = true; successBtn[btnIdx].GetComponent <Image>().color = Color.green; //퀘스트 완료후니까 현재 담고있는 퀘스트 삭제 GameMng.Ins.dli_CurrenQuest.Remove(eType); //퀘스트 보상창 questRewardBG.color = questRewardBGColor; questRewardBG.gameObject.SetActive(true); int gemNum = questReward.ReturnGem((int)eStage); gem = gemNum; if (gemNum == -1) { Debug.LogError((int)eStage); } questRewardGemText.text = string.Format("{0}", gemNum); questRewardBG.gameObject.SetActive(true); }