Example #1
0
        /**
         * <summary>Checks if the state matches a given display type, as used by InventoryBox elements</summary>
         * <param name = "displayType">The display type</param>
         * <returns>True if the state matches</returns>
         */
        public bool DisplayTypeMatches(ObjectiveDisplayType displayType)
        {
            switch (displayType)
            {
            case ObjectiveDisplayType.All:
                return(true);

            case ObjectiveDisplayType.ActiveOnly:
                return(stateType == ObjectiveStateType.Active);

            case ObjectiveDisplayType.CompleteOnly:
                return(stateType == ObjectiveStateType.Complete);

            case ObjectiveDisplayType.FailedOnly:
                return(stateType == ObjectiveStateType.Fail);

            default:
                return(false);
            }
        }
Example #2
0
        /**
         * <summary>Gets all active Objective instances currently set to a particular display type of state</summary>
         * <param name = "objectiveDisplayType">The type of display state to search for</param>
         * <returns>All active Objective instances set to the type of display state</returns>
         */
        public ObjectiveInstance[] GetObjectives(ObjectiveDisplayType objectiveDisplayType)
        {
            List <ObjectiveInstance> completedObjectives = new List <ObjectiveInstance>();

            foreach (ObjectiveInstance objectiveInstance in playerObjectiveInstances)
            {
                if (objectiveInstance.CurrentState.DisplayTypeMatches(objectiveDisplayType))
                {
                    completedObjectives.Add(objectiveInstance);
                }
            }
            foreach (ObjectiveInstance objectiveInstance in globalObjectiveInstances)
            {
                if (objectiveInstance.CurrentState.DisplayTypeMatches(objectiveDisplayType))
                {
                    completedObjectives.Add(objectiveInstance);
                }
            }
            return(completedObjectives.ToArray());
        }