public StimulusHandler(IGameConfig gameConfig, IActivityResolver activityResolver, ISceneContext sceneContext, IFriendshipResolver friendshipResolver, IActivityInterruptor activityInterruptor) { _gameConfig = gameConfig; _activityResolver = activityResolver; _sceneContext = sceneContext; _friendshipResolver = friendshipResolver; _activityInterruptor = activityInterruptor; }
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; }
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 }; }
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; }
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; }
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)); }
public StimuliSystem(GameContext context, IStimulusHandler stimulusHandler, IFriendshipResolver friendshipResolver) : base(context) { _context = context; _stimulusHandler = stimulusHandler; _friendshipResolver = friendshipResolver; }