Just like we learned with decision-making techniques, sometimes it is not flexible enough to just evaluate a waypoints' value, but rather a more complex condition. In this case, the solution is to apply techniques learned previously and couple them into the waypoint for attacking that problem.
The key idea is to add a condition to the node so that it can be evaluated, for example, using a decision tree and developing more complex heuristics for computing a waypoint's value.
It is important to revisit the recipe that handled state machines in the previous chapter before diving into the following recipe.
We will make a little adjustment:
public Condition
to the Waypoint
class:public Condition condition;
ConditionFloat
.The pseudo-abstract Condition
class, which we learned about previously, has a member function called Test
, which evaluates whether or not that condition is met.