public virtual bool IsRequirementMet(IQuestStateVariables state, Requirement requirement) { if (requirement.RequirementType == RequirementTypes.QuestStateRequirement) { var hasQuestState = state.ContainsKey(requirement.AssociatedId); if (requirement.AssociatedValue == QuestStateTypes.QuestNotStarted && !hasQuestState) { return(true); } return(state[requirement.AssociatedId] == requirement.AssociatedValue); } return(true); }
public static bool AreRequirementsMet(this ICharacterRequirementChecker characterRequirementChecker, IQuestStateVariables questState, ITriggerStateVariables triggerState, ICharacter character, IHasRequirements hasRequirements) { return(AreRequirementsMet(characterRequirementChecker, character, hasRequirements) && AreRequirementsMet(characterRequirementChecker, questState, hasRequirements) && AreRequirementsMet(characterRequirementChecker, triggerState, hasRequirements)); }
public static bool AreRequirementsMet(this ICharacterRequirementChecker characterRequirementChecker, IQuestStateVariables questState, IHasRequirements hasRequirements) { return(hasRequirements.Requirements.All(x => characterRequirementChecker.IsRequirementMet(questState, x))); }