package Roguelike.Entity.AI.BehaviourTree.Decorators;
import Roguelike.Entity.GameEntity;
import Roguelike.Entity.AI.BehaviourTree.BehaviourTree.BehaviourTreeState;
public class DecoratorInvert extends AbstractDecorator
{
@Override
public BehaviourTreeState evaluate(GameEntity entity)
{
BehaviourTreeState state = node.evaluate(entity);
if (state == BehaviourTreeState.SUCCEEDED) { return BehaviourTreeState.FAILED; }
else if (state == BehaviourTreeState.FAILED) { return BehaviourTreeState.SUCCEEDED; }
else { return BehaviourTreeState.RUNNING; }
}
}