コード例 #1
0
        private static void RegisterActionResolver(ContainerBuilder builder)
        {
            builder.Register <ActionResolver>(c =>
            {
                var movementResolver = new MovementResolver(c.Resolve <ILogger>(), c.Resolve <ICreatureRegistry>(), c.Resolve <IPlayArea>(), c.Resolve <ICombatRegistry>(), c.Resolve <IMessageDispatcher>());
                var lootAllResolver  = new LootAllResolver(c.Resolve <ILogger>(), c.Resolve <ICreatureRegistry>(), c.Resolve <IPlayArea>());
                var lootResolver     = new LootResolver(c.Resolve <ILogger>(), c.Resolve <ICreatureRegistry>(), c.Resolve <IPlayArea>());
                var attackResolver   = new AttackResolver(c.Resolve <ILogger>(), c.Resolve <ICreatureRegistry>(), c.Resolve <IPlayArea>(), c.Resolve <ICombatSimulator>());
                var consumeResolver  = new ConsumeResolver(c.Resolve <ICreatureRegistry>());
                var resolverMap      = new Dictionary <string, IResolver>
                {
                    { movementResolver.ActionName, movementResolver },
                    { lootAllResolver.ActionName, lootAllResolver },
                    { lootResolver.ActionName, lootResolver },
                    { attackResolver.ActionName, attackResolver },
                    { consumeResolver.ActionName, consumeResolver }
                };

                return(new ActionResolver(c.Resolve <IActionRepository>(), resolverMap));
            }).As <IActionResolver>();
        }
コード例 #2
0
        public void Arrange()
        {
            _container = AutoMock.GetLoose();
            _resolver  = _container.Create <LootResolver>();
            _player    = new Player {
                Id = "arbitraryId"
            };

            _playArea         = _container.Mock <IPlayArea>();
            _creatureRegistry = _container.Mock <ICreatureRegistry>();
            _creatureRegistry.Setup(i => i.GetById(It.IsAny <string>())).Returns(_player);

            _item = new Item("some_id", "Torch", SubType.None);
            _cell = new Cell {
                Content = new CellContent {
                    Entities = new List <Entity> {
                        _item
                    }
                }
            };
            _playArea.Setup(i => i.GameMap.GetCell(It.IsAny <int>(), It.IsAny <int>())).Returns(_cell);
        }