4 [
Attribute(
desc:
"If set to true, when this Condition performs certain methods, it will break the breakpoint in the Script Editor in respective methods. This can be also set during runtime via Debug Menu > ScenarioFramework > Condition Inspector")]
23 if (activationConditions.IsEmpty())
25 return EvaluateConditions(
operator, activationConditions, entity);
41 return EvaluateConditionsAND(activationConditions, entity);
44 return EvaluateConditionsOR(activationConditions, entity);
47 return EvaluateConditionsNAND(activationConditions, entity);
50 return EvaluateConditionsXOR(activationConditions, entity);
53 PrintFormat(
"[SCR_ScenarioFrameworkActionBasedOnConditions] Unknown operator: %1",
operator, level:
LogLevel.ERROR);
64 static bool EvaluateConditionsAND(array<ref SCR_ScenarioFrameworkActivationConditionBase> activationConditions,
IEntity entity)
66 if (activationConditions.IsEmpty())
71 if (!activationCondition.Init(entity))
84 static bool EvaluateConditionsOR(array<ref SCR_ScenarioFrameworkActivationConditionBase> activationConditions,
IEntity entity)
88 if (activationCondition.Init(entity))
102 static bool EvaluateConditionsNAND(array<ref SCR_ScenarioFrameworkActivationConditionBase> activationConditions,
IEntity entity)
104 return !EvaluateConditionsAND(activationConditions, entity);
113 static bool EvaluateConditionsXOR(array<ref SCR_ScenarioFrameworkActivationConditionBase> activationConditions,
IEntity entity)
115 bool priorSuccess =
false;
118 bool success = activationCondition.Init(entity);
119 if (priorSuccess && success)
122 priorSuccess |= success;
proto void PrintFormat(string fmt, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL, LogLevel level=LogLevel.NORMAL)