public void ResetCurrentSessionData() { _CurrentObjectiveData = null; _CurrentSubSessionId = string.Empty; _CurrentPlayerId = string.Empty; _CurrentObjectiveId = string.Empty; _AssignmentId = string.Empty; }
public void SetCurrentSessionData(string SubSessionId, string PlayerId, string ObjectiveId, string AssignmentId, QuestObjectiveData CurrentObjectiveData) { _CurrentObjectiveData = CurrentObjectiveData; _CurrentSubSessionId = SubSessionId; _CurrentPlayerId = PlayerId; _CurrentObjectiveId = ObjectiveId; _AssignmentId = AssignmentId; _mainGame.GetPlayerProfileAsync(_CurrentPlayerId, (playerProfile) => { _currentPlayer = playerProfile; }); }
private void LoadObjectives() { for (int i = 0; i < _questData.Objectives.Count; i++) { QuestObjectiveData objectiveData = _questData.Objectives[i]; QuestObjectiveState objectiveState = objectiveData.CreateState(); if (objectiveState == null) { Debug.LogError($"[{QuestName}]: Failed to create quest objective state for objective data {objectiveData.name}!"); return; } objectiveState.OnCompleted += OnObjectiveCompleted; objectiveState.OnFailed += OnObjectiveFailed; objectiveState.OnProgressUpdated += OnObjectiveProgressUpdated; _objectiveStates.Add(objectiveState); } }
public void FinishObjective(string CurrentPlayerId, string ObjectiveId, string SubSessionId, string AssignmenetId, int Score, bool Passed, QuestObjectiveData ObjectiveData) { if (ObjectiveData.ObjectiveScoreNeededToPass) { AttractionDeviceManager.instance.MainGame.FinishObjectiveAsync(CurrentPlayerId, AssignmenetId, ObjectiveId, SubSessionId, Score, Passed && Score >= ObjectiveData.ObjectivePassScore); } else { AttractionDeviceManager.instance.MainGame.FinishObjectiveAsync(CurrentPlayerId, AssignmenetId, ObjectiveId, SubSessionId, Score, Passed); } }
public QuestObjectiveState(QuestObjectiveData data) { Status = QuestObjectiveStatus.Ongoing; ObjectiveDescription = data.ObjectiveDescription; }