コード例 #1
0
 public JustMoveAction(GameEntity entity, float energyCost, IActionEffectFactory actionEffectFactory,
                       Position direction, IGrid grid)
     : base(entity, energyCost, actionEffectFactory, direction)
 {
     GuardDirection(direction);
     _grid = grid;
 }
コード例 #2
0
 public EatItemAction(GameEntity entity, float energyCost, GameEntity foodItemToEat,
                      IActionEffectFactory actionEffectFactory, IPositionEffectPresenter positionEffectPresenter)
     : base(entity, energyCost, actionEffectFactory)
 {
     _positionEffectPresenter = positionEffectPresenter;
     _foodItemToEat           = foodItemToEat;
 }
コード例 #3
0
 public EatEnvironmentAction(ActorData actorData, float energyCost, IActionEffectFactory actionEffectFactory,
                             INeedHandler needHandler, ITextEffectPresenter textEffectPresenter)
     : base(actorData, energyCost, actionEffectFactory)
 {
     _needHandler         = needHandler;
     _textEffectPresenter = textEffectPresenter;
 }
コード例 #4
0
        public void InitializeContainer()
        {
            var gameConfig      = Mock.Of <IGameConfig>();
            var uiManager       = Mock.Of <IUiManager>();
            var savedComponents = Mock.Of <ISavedComponents>();

            GameGlobalsInstaller.Install(Container, null, gameConfig, uiManager, savedComponents);

            var unityGridInfoProvider = Mock.Of <IUnityGridInfoProvider>();

            Container.Rebind <IUnityGridInfoProvider>().FromInstance(unityGridInfoProvider);

            IActionEffectFactory actionEffectFactory = Container.Resolve <IActionEffectFactory>();
            var actionResolverMock = new Mock <IActionResolver>();

            actionResolverMock.Setup(r => r.GetAction(It.IsAny <GameEntity>())).Returns <GameEntity>(
                entity => new LambdaAction(entity, 1f, actionEffectFactory, (e) =>
            {
                _log.Add($"Tu {e.id.Id}, mam akcję! Energii {e.energy.Energy}");
                return(Enumerable.Empty <IActionEffect>());
            }));
            Container.UnbindId <IActionResolver>("_actionResolver");
            Container.Bind <IActionResolver>().WithId("_actionResolver").FromInstance(actionResolverMock.Object);
            Container.ResolveId <IActionResolver>("_actionResolver");

            var contextManager = Container.Resolve <IOsnowaContextManager>();

            contextManager.ReplaceContext(new OsnowaContext(1000, 1000));

            Contexts.sharedInstance.SubscribeId();
        }
コード例 #5
0
 public DropItemAction(ActorData actorData, ItemDefinition item, float energyCost, IEntitySpawner entitySpawner,
                       IActionEffectFactory actionEffectFactory, IUiConfig uiConfig)
     : base(actorData, energyCost, actionEffectFactory)
 {
     _item          = item;
     _entitySpawner = entitySpawner;
     _uiConfig      = uiConfig;
 }
コード例 #6
0
ファイル: OpenDoorAction.cs プロジェクト: azsdaja/7drl-2018
 public OpenDoorAction(ActorData actorData, Vector2Int targetPosition, bool isHorizontal, bool isHeavyDoor,
                       float energyCost, IActionEffectFactory actionEffectFactory, IGameContext gameContext)
     : base(actorData, energyCost, actionEffectFactory)
 {
     _targetPosition = targetPosition;
     _isHorizontal   = isHorizontal;
     _isHeavyDoor    = isHeavyDoor;
     _gameContext    = gameContext;
 }
コード例 #7
0
 public AscendAction(ActorData actorData, float energyCost, IActionEffectFactory actionEffectFactory, IGameContext gameContext,
                     IEntityDetector entityDetector, IEntityRemover entityRemover, ITextEffectPresenter textEffectPresenter)
     : base(actorData, energyCost, actionEffectFactory)
 {
     _gameContext         = gameContext;
     _entityDetector      = entityDetector;
     _entityRemover       = entityRemover;
     _textEffectPresenter = textEffectPresenter;
 }
コード例 #8
0
ファイル: EatAction.cs プロジェクト: azsdaja/7drl-2018
 public EatAction(ActorData actorData, float energyCost, IActionEffectFactory actionEffectFactory, INeedHandler needHandler,
                  ITextEffectPresenter textEffectPresenter, IEntityRemover entityRemover, ItemData foodItemToEat)
     : base(actorData, energyCost, actionEffectFactory)
 {
     _needHandler         = needHandler;
     _textEffectPresenter = textEffectPresenter;
     _entityRemover       = entityRemover;
     _foodItemToEat       = foodItemToEat;
 }
コード例 #9
0
 public AttackAction(GameEntity entity, float energyCost, IActionEffectFactory actionEffectFactory, IRandomNumberGenerator rng, GameEntity attackedEntity, IGameConfig gameConfig, IAggressionTriggerer aggressionTriggerer, IPositionEffectPresenter positionEffectPresenter, IOsnowaContextManager contextManager, ReactiveFeature reactiveFeature)
     : base(entity, energyCost, actionEffectFactory)
 {
     AttackedEntity       = attackedEntity;
     _rng                 = rng;
     _actionEffectFactory = actionEffectFactory;
     _gameConfig          = gameConfig;
     _contextManager      = contextManager;
     _reactiveFeature     = reactiveFeature;
 }
コード例 #10
0
ファイル: MoveAction.cs プロジェクト: azsdaja/7drl-2018
 public MoveAction(ActorData actorData, float energyCost, IActionEffectFactory actionEffectFactory,
                   Vector2Int direction, IGridInfoProvider gridInfoProvider, IEntityDetector entityDetector,
                   IGameContext gameContext, ITextEffectPresenter textEffectPresenter, IUiConfig uiConfig, IDeathHandler deathHandler)
     : base(actorData, energyCost, actionEffectFactory, direction)
 {
     GuardDirection(direction);
     _gridInfoProvider    = gridInfoProvider;
     _entityDetector      = entityDetector;
     _gameContext         = gameContext;
     _textEffectPresenter = textEffectPresenter;
     _uiConfig            = uiConfig;
     _deathHandler        = deathHandler;
 }
コード例 #11
0
ファイル: UseItemAction.cs プロジェクト: azsdaja/7drl-2018
 public UseItemAction(ActorData actorData, ItemDefinition item, bool fromInventory, float energyCost, IEntitySpawner entitySpawner,
                      IUiConfig uiConfig, IActionEffectFactory actionEffectFactory, IEntityDetector entityDetector, IRandomNumberGenerator rng,
                      ITextEffectPresenter textEffectPresenter, IGameContext gameContext, IEntityRemover entityRemover)
     : base(actorData, energyCost, actionEffectFactory)
 {
     _item                = item;
     _fromInventory       = fromInventory;
     _entitySpawner       = entitySpawner;
     _uiConfig            = uiConfig;
     _entityDetector      = entityDetector;
     _rng                 = rng;
     _textEffectPresenter = textEffectPresenter;
     _gameContext         = gameContext;
     _entityRemover       = entityRemover;
 }
コード例 #12
0
 public ActionFactory(IGridInfoProvider gridInfoProvider, IActionEffectFactory actionEffectFactory,
                      ITextEffectPresenter textEffectPresenter, INeedHandler needHandler, IRandomNumberGenerator randomNumberGenerator,
                      IDeathHandler deathHandler, IEntityRemover entityRemover, IEntityDetector entityDetector, IGameContext gameContext,
                      IEntitySpawner entitySpawner, IUiConfig uiConfig)
 {
     _gridInfoProvider      = gridInfoProvider;
     _actionEffectFactory   = actionEffectFactory;
     _textEffectPresenter   = textEffectPresenter;
     _needHandler           = needHandler;
     _randomNumberGenerator = randomNumberGenerator;
     _deathHandler          = deathHandler;
     _entityRemover         = entityRemover;
     _entityDetector        = entityDetector;
     _gameContext           = gameContext;
     _entitySpawner         = entitySpawner;
     _uiConfig = uiConfig;
 }
コード例 #13
0
ファイル: ActionFactory.cs プロジェクト: bmjoy/Osnowa
 public ActionFactory(IGrid grid, IActionEffectFactory actionEffectFactory, IUnityGridInfoProvider unityGridInfoProvider, IPositionEffectPresenter positionEffectPresenter, IRandomNumberGenerator randomNumberGenerator, IDeathHandler deathHandler, ISceneContext sceneContext, IGameConfig gameConfig, IViewCreator viewCreator, ITileMatrixUpdater tileMatrixUpdater, IFirstPlaceInAreaFinder firstPlaceInAreaFinder, IBroadcastStimulusSender stimulusBroadcaster, IEntityDetector entityDetector, LoadViewSystem loadViewSystem, IUiFacade uiFacade, IOsnowaContextManager contextManager, IEntityViewBehaviourInitializer entityViewBehaviourInitializer, IAggressionTriggerer aggressionTriggerer, IEntityGenerator entityGenerator, ReactiveFeature reactiveFeature)
 {
     _grid = grid;
     _unityGridInfoProvider   = unityGridInfoProvider;
     _positionEffectPresenter = positionEffectPresenter;
     _randomNumberGenerator   = randomNumberGenerator;
     _deathHandler            = deathHandler;
     _actionEffectFactory     = actionEffectFactory;
     _sceneContext            = sceneContext;
     _gameConfig             = gameConfig;
     _viewCreator            = viewCreator;
     _tileMatrixUpdater      = tileMatrixUpdater;
     _firstPlaceInAreaFinder = firstPlaceInAreaFinder;
     _stimulusBroadcaster    = stimulusBroadcaster;
     _entityDetector         = entityDetector;
     _loadViewSystem         = loadViewSystem;
     _uiFacade       = uiFacade;
     _contextManager = contextManager;
     _entityViewBehaviourInitializer = entityViewBehaviourInitializer;
     _aggressionTriggerer            = aggressionTriggerer;
     _entityGenerator = entityGenerator;
     _reactiveFeature = reactiveFeature;
 }
コード例 #14
0
ファイル: AttackAction.cs プロジェクト: azsdaja/7drl-2018
 public AttackAction(ActorData actorData, ActorData attackedActor, float energyCost, IActionEffectFactory actionEffectFactory,
                     IRandomNumberGenerator rng, IDeathHandler deathHandler, bool isDaringBlow, IUiConfig uiConfig, IGameContext gameContext)
     : base(actorData, energyCost, actionEffectFactory)
 {
     _attackedActor = attackedActor;
     _rng           = rng;
     _deathHandler  = deathHandler;
     _isDaringBlow  = isDaringBlow;
     _uiConfig      = uiConfig;
     _gameContext   = gameContext;
 }
コード例 #15
0
ファイル: LambdaAction.cs プロジェクト: bmjoy/Osnowa
 public LambdaAction(GameEntity entity, float energyCost, IActionEffectFactory actionEffectFactory,
                     Func <GameEntity, IEnumerable <IActionEffect> > inlineAction)
     : base(entity, energyCost, actionEffectFactory)
 {
     _inlineAction = inlineAction;
 }
コード例 #16
0
 public PickUpAction(GameEntity entity, float energyCost, GameEntity itemToPickUp, IActionEffectFactory actionEffectFactory, IEntityDetector entityDetector, IUiFacade uiFacade)
     : base(entity, energyCost, actionEffectFactory)
 {
     _entityDetector = entityDetector;
     ItemToPickUp    = itemToPickUp;
     _uiFacade       = uiFacade;
 }
コード例 #17
0
 public LambdaAction(ActorData actorData, float energyCost, IActionEffectFactory actionEffectFactory,
                     Func <ActorData, IEnumerable <IActionEffect> > inlineAction)
     : base(actorData, energyCost, actionEffectFactory)
 {
     _inlineAction = inlineAction;
 }
コード例 #18
0
 public DisplaceAction(ActorData actorData, ActorData displacedActor, float energyCost, IActionEffectFactory actionEffectFactory)
     : base(actorData, energyCost, actionEffectFactory)
 {
     DisplacedActor = displacedActor;
 }
コード例 #19
0
ファイル: DirectedAction.cs プロジェクト: azsdaja/7drl-2018
 protected DirectedAction(ActorData actorData, float energyCost, IActionEffectFactory actionEffectFactory, Vector2Int direction)
     : base(actorData, energyCost, actionEffectFactory)
 {
     Direction = direction;
 }
コード例 #20
0
 public ReleaseAction(ActorData actorData, float energyCost, IActionEffectFactory actionEffectFactory)
     : base(actorData, energyCost, actionEffectFactory)
 {
 }
コード例 #21
0
 public TakeToInventoryAction(GameEntity entity, float energyCost, IActionEffectFactory actionEffectFactory)
     : base(entity, energyCost, actionEffectFactory)
 {
 }
コード例 #22
0
 protected GameAction(ActorData actorData, float energyCost, IActionEffectFactory actionEffectFactory)
 {
     ActorData           = actorData;
     EnergyCost          = energyCost;
     ActionEffectFactory = actionEffectFactory;
 }
コード例 #23
0
 public ReleaseAction(GameEntity entity, float energyCost, IFirstPlaceInAreaFinder firstPlaceInAreaFinder,
                      IActionEffectFactory actionEffectFactory)
     : base(entity, energyCost, actionEffectFactory)
 {
     _firstPlaceInAreaFinder = firstPlaceInAreaFinder;
 }
コード例 #24
0
 public SwapHandWithInventoryAction(GameEntity entity, int indexInInventory, float energyCost, IActionEffectFactory actionEffectFactory, LoadViewSystem loadViewSystem)
     : base(entity, energyCost, actionEffectFactory)
 {
     _indexInInventory = indexInInventory;
     _loadViewSystem   = loadViewSystem;
 }
コード例 #25
0
 public DropAction(ActorData actorData, float energyCost, ItemData itemToDrop, IActionEffectFactory actionEffectFactory)
     : base(actorData, energyCost, actionEffectFactory)
 {
     ItemToDrop = itemToDrop;
 }
コード例 #26
0
ファイル: CatchAction.cs プロジェクト: azsdaja/7drl-2018
 public CatchAction(ActorData actorData, float energyCost, ActorData caughtActor, IActionEffectFactory actionEffectFactory)
     : base(actorData, energyCost, actionEffectFactory)
 {
     _caughtActor = caughtActor;
 }
コード例 #27
0
 public StandUpGameAction(ActorData actorData, float energyCost, IActionEffectFactory actionEffectFactory)
     : base(actorData, energyCost, actionEffectFactory)
 {
 }
コード例 #28
0
 public PushAction(ActorData actorData, ActorData targetEnemy, float energyCost, IActionEffectFactory actionEffectFactory,
                   IRandomNumberGenerator rng, IGridInfoProvider gridInfoProvider, IEntityDetector entityDetector, IUiConfig uiConfig)
     : base(actorData, energyCost, actionEffectFactory)
 {
     _targetEnemy      = targetEnemy;
     _rng              = rng;
     _gridInfoProvider = gridInfoProvider;
     _entityDetector   = entityDetector;
     _uiConfig         = uiConfig;
 }
コード例 #29
0
 public PickUpAction(ActorData actorData, float energyCost, ItemData itemToPickUp, IActionEffectFactory actionEffectFactory,
                     IEntityRemover entityRemover, IUiConfig uiConfig, IGameContext gameContext)
     : base(actorData, energyCost, actionEffectFactory)
 {
     ItemToPickUp   = itemToPickUp;
     _entityRemover = entityRemover;
     _uiConfig      = uiConfig;
     _gameContext   = gameContext;
 }
コード例 #30
0
 public DisplaceAction(GameEntity entity, GameEntity displacedEntity, float energyCost,
                       IActionEffectFactory actionEffectFactory)
     : base(entity, energyCost, actionEffectFactory)
 {
     DisplacedEntity = displacedEntity;
 }