Class RandomTactic<TBeliefSet>
Represents a tactic that executes a random tactic from the provided subtactics.
public class RandomTactic<TBeliefSet> : Tactic<TBeliefSet>, ITactic<TBeliefSet>, ILoggable, IDocumented where TBeliefSet : IBeliefSet
Type Parameters
TBeliefSet
- Inheritance
-
Tactic<TBeliefSet>RandomTactic<TBeliefSet>
- Implements
-
ITactic<TBeliefSet>
- Inherited Members
Constructors
RandomTactic(IMetadata, params ITactic<TBeliefSet>[])
Initializes a new instance of the RandomTactic<TBeliefSet> class with the specified subtactics and an optional guard condition.
public RandomTactic(IMetadata metadata, params ITactic<TBeliefSet>[] subtactics)
Parameters
metadata
IMetadataMetadata about this tactic, used to quickly display the tactic in several contexts.
subtactics
ITactic<TBeliefSet>[]The list of subtactics.
RandomTactic(IMetadata, Predicate<TBeliefSet>, params ITactic<TBeliefSet>[])
Initializes a new instance of the RandomTactic<TBeliefSet> class with the specified subtactics and an optional guard condition.
public RandomTactic(IMetadata metadata, Predicate<TBeliefSet> guard, params ITactic<TBeliefSet>[] subtactics)
Parameters
metadata
IMetadataMetadata about this tactic, used to quickly display the tactic in several contexts.
guard
Predicate<TBeliefSet>The guard condition.
subtactics
ITactic<TBeliefSet>[]The list of subtactics.
RandomTactic(params ITactic<TBeliefSet>[])
Initializes a new instance of the RandomTactic<TBeliefSet> class with the specified subtactics and an optional guard condition.
public RandomTactic(params ITactic<TBeliefSet>[] subtactics)
Parameters
subtactics
ITactic<TBeliefSet>[]The list of subtactics.
RandomTactic(Predicate<TBeliefSet>, params ITactic<TBeliefSet>[])
Initializes a new instance of the RandomTactic<TBeliefSet> class with the specified subtactics and an optional guard condition.
public RandomTactic(Predicate<TBeliefSet> guard, params ITactic<TBeliefSet>[] subtactics)
Parameters
guard
Predicate<TBeliefSet>The guard condition.
subtactics
ITactic<TBeliefSet>[]The list of subtactics.
Fields
_subtactics
Gets or sets the subtactics of the tactic.
protected readonly LinkedList<ITactic<TBeliefSet>> _subtactics
Field Value
- LinkedList<ITactic<TBeliefSet>>
Methods
GetAction(TBeliefSet)
Gets the first enabled action of the tactic.
public override IAction<TBeliefSet>? GetAction(TBeliefSet beliefSet)
Parameters
beliefSet
TBeliefSet
Returns
- IAction<TBeliefSet>
A concrete IAction<TBeliefSet> that the tactic can perform, or null if no actions are enabled.
GetLogChildren()
Gets the children of the loggable object.
public override IEnumerable<ILoggable> GetLogChildren()
Returns
- IEnumerable<ILoggable>
The children of the loggable object.