public override void Visit(BunnyFactory factory) { var bot = factory.GetBot(BotId); if (!bot.CanAddValue()) { return; } bot.AddValue(Value); MarkDone(); }
public override void Visit(BunnyFactory factory) { var giver = factory.GetBot(BotId); if (!giver.CanTakeValues()) { return; } var lowerReceiver = factory.GetValueReceiver(LowerReceiverType, LowerReceiverId); var higherReceiver = factory.GetValueReceiver(HigherReceiverType, HigherReceiverId); if (!lowerReceiver.CanAddValue() || !higherReceiver.CanAddValue()) { return; } var values = giver.TakeValues(); lowerReceiver.AddValue(values[0]); higherReceiver.AddValue(values[1]); MarkDone(); }