Exemplo n.º 1
0
        public bool GetObjectiveState(string objectiveName, out ObjectiveState objectiveState)
        {
            objectiveState = null;
            MissionObjective objective = null;

            if (mObjectiveLookup.TryGetValue(objectiveName, out objective))
            {
                objectiveState = objective.State;
            }
            return(objectiveState != null);
        }
Exemplo n.º 2
0
        public void IgnoreObjective(string objectiveName)
        {
            MissionObjective objective = null;

            if (mObjectiveLookup.TryGetValue(objectiveName, out objective))
            {
                objective.IgnoreObjective();
            }

            Save();
        }
Exemplo n.º 3
0
        public void ForceFailObjective(string objectiveName)
        {
            MissionObjective objective = null;

            if (mObjectiveLookup.TryGetValue(objectiveName, out objective))
            {
                objective.ForceFail();
            }
            //Refresh ();
            Save();
        }
Exemplo n.º 4
0
        public void ActivateObjective(string objectiveName, MissionOriginType originType, string originName)
        {
            if (!Flags.Check((uint)State.Status, (uint)MissionStatus.Active, Flags.CheckType.MatchAny))
            {
                Activate(originType, originName);
            }
            MissionObjective objective = null;

            if (mObjectiveLookup.TryGetValue(objectiveName, out objective))
            {
                objective.ActivateObjective(ObjectiveActivation.Manual, originType, originName);
            }
            State.GetPlayerAttention = true;
            Save();
        }
Exemplo n.º 5
0
        protected void CreateNextObjectives()
        {
            if (mHasGeneratedNextObjectives)
            {
                return;
            }

            for (int i = 0; i < State.NextObjectiveNames.Count; i++)
            {
                MissionObjective nextObjective = null;
                if (mission.GetObjective(State.NextObjectiveNames [i], out nextObjective))
                {
                    NextObjectives.Add(nextObjective);
                }
            }
            mHasGeneratedNextObjectives = true;
        }
Exemplo n.º 6
0
        public override void CheckIfCompleted()
        {
            string missionName = MissionName;

            if (string.IsNullOrEmpty(missionName))
            {
                missionName = objective.mission.name;
            }
            bool          result          = true;
            MissionStatus objectiveStatus = MissionStatus.Dormant;

            //if we're checking our mission do it locally, otherwise do it with the manager
            if (missionName == objective.mission.State.Name)
            {
                MissionObjective checkObjective = null;
                if (objective.mission.GetObjective(ObjectiveName, out checkObjective))
                {
                    bool hasCompleted = Flags.Check((uint)checkObjective.State.Status, (uint)MissionStatus.Completed, Flags.CheckType.MatchAny);
                    bool hasFailed    = Flags.Check((uint)checkObjective.State.Status, (uint)MissionStatus.Failed, Flags.CheckType.MatchAny);
                    if (!hasCompleted || (hasFailed && !FailureOK))
                    {
                        //Debug.Log ("Objective " + ObjectiveName + " hasn't completed, or it has failed and failure is not okay");
                        result = false;
                    }
                }
            }
            else
            {
                if (Missions.Get.ObjectiveStatusByName(missionName, ObjectiveName, ref objectiveStatus))
                {
                    bool hasCompleted = Flags.Check((uint)objectiveStatus, (uint)MissionStatus.Completed, Flags.CheckType.MatchAny);
                    bool hasFailed    = Flags.Check((uint)objectiveStatus, (uint)MissionStatus.Failed, Flags.CheckType.MatchAny);
                    if (!hasCompleted || (hasFailed && !FailureOK))
                    {
                        result = false;
                    }
                }
            }
            HasCompleted     = result;
            FinishedChecking = true;
        }
Exemplo n.º 7
0
 public bool GetObjective(string objectiveName, out MissionObjective objective)
 {
     return(mObjectiveLookup.TryGetValue(objectiveName, out objective));
 }