public MoveGenerator(IMoveValidator moveValidator, IMoveSelector moveSelector) { _moveValidator = moveValidator; _moveSelector = moveSelector; }
public MoveGenerator(IMoveValidator moveValidator, IMoveSelector moveSelector) { _moveValidator = moveValidator; _moveSelector = moveSelector; }
// Ein Client muss Attach() aufrufen, um diesen InteractiveBrain über // die Zugauswahl des Benutzers informieren zu können. public override void Attach(IMoveSelector <TMove> selector) { selector.MoveSelected += MoveSelected; }
// Detach() hebt das Ereignis-Abonnenement auf und sollte immer aufgerufen // werden, bevor dieser InteractiveBrain aus dem Scope geht - anderenfalls // drohen Speicherlecks. public override void Detach(IMoveSelector <TMove> selector) { selector.MoveSelected -= MoveSelected; }
// Wird nur in interaktiven Ableitungen gebraucht. public virtual void Detach(IMoveSelector <TMove> selector) { }