コード例 #1
0
        public override void Visit(BunnyFactory factory)
        {
            var bot = factory.GetBot(BotId);

            if (!bot.CanAddValue())
            {
                return;
            }

            bot.AddValue(Value);
            MarkDone();
        }
コード例 #2
0
        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();
        }