Ejemplo n.º 1
0
        private void Awake()
        {
            _service = new LevelService();
            _service.LoadLevel("Level1");

            _movementResolver = new MovementResolver
            {
                LevelDataProvider = _service
            };

            _battlefield = new Battlefield
            {
                LevelDataProvider = _service,
                Configs           = new Dictionary <EntityType, UnitConfig>
                {
                    { EntityType.Player, PlayerConfig },
                    { EntityType.Enemy, EnemyConfig },
                    { EntityType.Obstacle, ObstaclesConfig }
                }
            };
            _battlefield.Init();

            InitPlayer();
            InitOpponent();

            _player.StartTurn();
        }
Ejemplo n.º 2
0
        public void Arrange()
        {
            _container = AutoMock.GetLoose();
            _resolver  = _container.Create <MovementResolver>();
            _creature  = new Creature {
                Id = "arbitraryId", Position = new Position(5, 5)
            };

            _playArea         = _container.Mock <IPlayArea>();
            _creatureRegistry = _container.Mock <ICreatureRegistry>();
            _creatureRegistry.Setup(i => i.GetById(It.IsAny <string>())).Returns(_creature);
        }
Ejemplo n.º 3
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>();
        }