示例#1
0
 public void ResetCurrentSessionData()
 {
     _CurrentObjectiveData = null;
     _CurrentSubSessionId  = string.Empty;
     _CurrentPlayerId      = string.Empty;
     _CurrentObjectiveId   = string.Empty;
     _AssignmentId         = string.Empty;
 }
示例#2
0
        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;
            });
        }
示例#3
0
 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);
     }
 }
示例#4
0
 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;
 }