Esempio n. 1
0
 public StimulusHandler(IGameConfig gameConfig, IActivityResolver activityResolver, ISceneContext sceneContext,
                        IFriendshipResolver friendshipResolver, IActivityInterruptor activityInterruptor)
 {
     _gameConfig          = gameConfig;
     _activityResolver    = activityResolver;
     _sceneContext        = sceneContext;
     _friendshipResolver  = friendshipResolver;
     _activityInterruptor = activityInterruptor;
 }
Esempio n. 2
0
 public ConditionContext(IGameConfig gameConfig, ISceneContext sceneContext,
                         IEntityDetector entityDetector, GameContext context, IFriendshipResolver friendshipResolver,
                         IExampleContextManager contextManager)
 {
     GameConfig         = gameConfig;
     SceneContext       = sceneContext;
     EntityDetector     = entityDetector;
     Context            = context;
     FriendshipResolver = friendshipResolver;
     ContextManager     = contextManager;
 }
Esempio n. 3
0
        public PlayerActionResolver(IGameConfig gameConfig, IEntityDetector entityDetector,
                                    IActionFactory actionFactory, IFriendshipResolver friendshipResolver, GameContext context, IActivityInterruptor activityInterruptor)
        {
            _gameConfig          = gameConfig;
            _entityDetector      = entityDetector;
            _actionFactory       = actionFactory;
            _friendshipResolver  = friendshipResolver;
            _context             = context;
            _activityInterruptor = activityInterruptor;

            _moveInputs = new HashSet <Decision>
            {
                Decision.MoveUpLeft, Decision.MoveUp, Decision.MoveUpRight,
                Decision.MoveLeft, Decision.MoveRight,
                Decision.MoveDownLeft, Decision.MoveDown, Decision.MoveDownRight
            };
        }
Esempio n. 4
0
 public PostHeartbeatSystem(IEntityDetector entityDetector, IGameConfig gameConfig,
                            ICalculatedAreaAccessor calculatedAreaAccessor, IStimulusReceiver stimulusReceiver, IPathfinder pathfinder,
                            IBroadcastStimulusSender broadcastStimulusSender, IPositionEffectPresenter positionEffectPresenter,
                            GameContext context, IFriendshipResolver friendshipResolver,
                            IUiFacade uiFacade, IOsnowaContextManager contextManager)
     : base(context)
 {
     _entityDetector          = entityDetector;
     _gameConfig              = gameConfig;
     _calculatedAreaAccessor  = calculatedAreaAccessor;
     _stimulusReceiver        = stimulusReceiver;
     _pathfinder              = pathfinder;
     _broadcastStimulusSender = broadcastStimulusSender;
     _positionEffectPresenter = positionEffectPresenter;
     _friendshipResolver      = friendshipResolver;
     _uiFacade       = uiFacade;
     _contextManager = contextManager;
     _context        = context;
 }
Esempio n. 5
0
 public ActivityCreationContext(INavigator navigator, IRandomNumberGenerator rng, IActionFactory actionFactory, ISceneContext sceneContext,
                                IExampleContextManager contextManager, IGameConfig gameConfig, IEntityDetector entityDetector, ICalculatedAreaAccessor calculatedAreaAccessor,
                                IUiFacade uiFacade, IRasterLineCreator rasterLineCreator, IPositionEffectPresenter positionEffectPresenter,
                                IFriendshipResolver friendshipResolver, GameContext context)
 {
     Navigator               = navigator;
     Rng                     = rng;
     ActionFactory           = actionFactory;
     SceneContext            = sceneContext;
     ContextManager          = contextManager;
     GameConfig              = gameConfig;
     EntityDetector          = entityDetector;
     CalculatedAreaAccessor  = calculatedAreaAccessor;
     UiFacade                = uiFacade;
     RasterLineCreator       = rasterLineCreator;
     PositionEffectPresenter = positionEffectPresenter;
     FriendshipResolver      = friendshipResolver;
     Context                 = context;
 }
Esempio n. 6
0
        private Position GetHerdCenterOf(IEntityDetector detector, GameEntity entity, IFriendshipResolver friendshipResolver)
        {
            List <GameEntity> meAndFriendsAround = detector.DetectEntities(entity.position.Position, entity.vision.PerceptionRange)
                                                   .Where(e => friendshipResolver.AreFriends(entity, e))
                                                   .Union(new[] { entity })
                                                   .ToList();
            int averageX = meAndFriendsAround.Sum(f => f.position.Position.x) / meAndFriendsAround.Count;
            int averageY = meAndFriendsAround.Sum(f => f.position.Position.y) / meAndFriendsAround.Count;

            //Debug.Log($"me and friends: {meAndFriendsAround.Count}");

            return(new Position(averageX, averageY));
        }
Esempio n. 7
0
 public StimuliSystem(GameContext context, IStimulusHandler stimulusHandler, IFriendshipResolver friendshipResolver) : base(context)
 {
     _context            = context;
     _stimulusHandler    = stimulusHandler;
     _friendshipResolver = friendshipResolver;
 }