public QuestInformation(EzQuestModel model, EzCompletedQuestList currentCompletedQuestList) { Id = model.QuestModelId; Name = model.Name; ScreenName = model.Metadata; var action = QuestController.GetConsumeAction <ConsumeStaminaByUserIdRequest>( model, "Gs2Stamina:ConsumeStaminaByUserId" ); if (action != null) { consumeStamina = action.consumeValue; } if (currentCompletedQuestList == null) { currentCompletedQuestList = new EzCompletedQuestList { CompleteQuestNames = new List <string>() }; } var premiseQuestNames = new HashSet <string>(model.PremiseQuestNames); premiseQuestNames.ExceptWith(currentCompletedQuestList.CompleteQuestNames); open = premiseQuestNames.Count == 0; completed = currentCompletedQuestList.CompleteQuestNames.Contains(model.Name); }
public IEnumerator Refresh() { void RefreshQuestAction( EzQuestGroupModel questGroupModel, EzCompletedQuestList completedQuestList ) { QuestGroupModel = questGroupModel; CompletedQuestList = completedQuestList; _onGetQuestModel.RemoveListener(RefreshQuestAction); onWatchQuestEvent.Invoke(questGroupModel, completedQuestList); } _onGetQuestModel.AddListener(RefreshQuestAction); yield return(QuestController.GetQuestModel( _client, _session, _questNamespaceName, _questGroupName, _onGetQuestModel, _onError )); }
private void OnListGroupQuestModelFunc(List <EzQuestGroupModel> questGroups) { if (questGroupsViewPort != null) { for (int i = 0; i < questGroupsViewPort.transform.childCount; i++) { Destroy(questGroupsViewPort.transform.GetChild(i).gameObject); } foreach (var questGroup in questGroups) { var questType = Gs2Util.LoadGlobalResource <QuestGroupView>(); questType.transform.SetParent(questGroupsViewPort.transform); questType.Initialize(new QuestGroupInformation(questGroup)); questType.transform.localScale = new Vector3(1, 1, 1); questType.transform.GetComponentInChildren <Button>().onClick.AddListener( () => { _currentCompletedQuestList = _completedQuestLists.Find(completedQuestList => completedQuestList.QuestGroupName == questGroup.Name); ClickToSelect(questGroup); } ); questType.gameObject.SetActive(true); } } }
public EzGetCompletedQuestListResult( GetCompletedQuestListResult result ) { if (result.item != null) { Item = new EzCompletedQuestList(result.item); } }
public void OnGetQuestList(EzQuestGroupModel questGroupModel, EzCompletedQuestList completedQuestList) { for (var i = 0; i < verticalLayoutGroup.transform.childCount; i++) { Destroy(verticalLayoutGroup.transform.GetChild(i).gameObject); } foreach (var quest in questGroupModel.Quests) { if (quest.PremiseQuestNames.Intersect(_watcher.CompletedQuestList.CompleteQuestNames).Count() == quest.PremiseQuestNames.Count) { var item = Instantiate(questListRowPrefab, verticalLayoutGroup.transform); item.Initialize( quest ); item.onChoiceQuest.AddListener(OnClickChoiceQuestButton); } } }