@yantra-core/sutra
Version:
A JavaScript behavior tree library for easily creating and managing complex behavior patterns in game development.
19 lines • 675 B
JavaScript
export default function evaluateCompositeCondition(conditionObj, data, gameState) {
let targetData;
if (typeof data === 'function') {
targetData = data(gameState);
} else {
targetData = data;
}
switch (conditionObj.op) {
case 'and':
return conditionObj.conditions.every(cond => this.evaluateCondition(cond, targetData, gameState));
case 'or':
return conditionObj.conditions.some(cond => this.evaluateCondition(cond, targetData, gameState));
case 'not':
// Assuming 'not' operator has a single condition
return !this.evaluateCondition(conditionObj.conditions, targetData, gameState);
default:
return false;
}
}