// 현재 해당 튜토리얼이 플레이 중인지 static public bool IsPlaying(ETutorialGroup group) { DataTutorial data = GetNowData(); if (data != null) { ETutorialGroup dataGroup = (ETutorialGroup)data.GetGROUP_TYPE(); return(dataGroup == group); } return(false); }
// 튜토리얼 선행 조건 체크 static public bool CheckCondition(TutorialInfo info) { ETutorialCondition conditionType = (ETutorialCondition)info.GetStartData().GetCONDITION_TYPE(); string conditionValue = info.GetStartData().GetCONDITION_VALUE(); switch (conditionType) { case ETutorialCondition.EnterDungeon: // 던전 입장시 DataDungeon enterData = DataDungeon.GetByEnumID(conditionValue); if (enterData != null && BattleInfo != null) { return(enterData == BattleInfo.DataDungeon); } break; case ETutorialCondition.ClearDungeon: // 던전 클리어 DataDungeon clearData = DataDungeon.GetByEnumID(conditionValue); if (clearData != null) { return(DungeonHelper.GetDungeonRating(clearData) > 0); } break; case ETutorialCondition.ClearTutorial: // 튜토리얼 클리어 DataTutorial tutorialData = DataTutorial.GetByEnumID(conditionValue); if (tutorialData != null) { ETutorialGroup group = (ETutorialGroup)tutorialData.GetGROUP_TYPE(); return(IsClearByGroup(group)); } break; case ETutorialCondition.ClearCompletion: // 컴플리션 클리어 DataCompletion completionData = DataCompletion.GetByEnumID(conditionValue); if (completionData != null) { CompletionInfo completeInfo = CompletionHelper.GetMyCompletion(completionData.GetID()); if (completeInfo != null) { return(CompletionHelper.IsComplete(completeInfo)); } } break; case ETutorialCondition.None: return(true); } return(false); }
// 이전 튜토리얼 체크 static public bool CheckPrev(TutorialInfo info) { string condition = info.GetStartData().GetPREV_TUTORIAL(); if (string.IsNullOrEmpty(condition) == false) { DataTutorial tutorialData = DataTutorial.GetByEnumID(condition); if (tutorialData != null) { ETutorialGroup group = (ETutorialGroup)tutorialData.GetGROUP_TYPE(); if (dicTutorialInfo.ContainsKey(group)) { return(dicTutorialInfo[group].IsComplete); } } } return(true); }
static Dictionary <ETutorialGroup, TutorialInfo> dicTutorialInfo = new Dictionary <ETutorialGroup, TutorialInfo>(); // 튜토리얼 그룹별 상태 저장 // 튜토리얼 데이터 Dic으로 셋팅(key:그룹) static public void SetTutorialDatas() { dicTutorialInfo.Clear(); Dictionary <uint, DataTutorial> dicDatas = DataTutorial.GetDicDataTutorial(); foreach (DataTutorial data in dicDatas.Values) { ETutorialGroup groupType = (ETutorialGroup)data.GetGROUP_TYPE(); if (groupType != ETutorialGroup.None) { if (dicTutorialInfo.ContainsKey(groupType)) // 같은 그룹이라면 데이터만 추가 { dicTutorialInfo[groupType].AddDataList(data); } else // 없는 그룹이면 생성 { dicTutorialInfo.Add(groupType, new TutorialInfo(data, false)); } } } }