示例#1
0
        public void SetUp()
        {
            _targetingData    = GetTargetingData();
            _callbackTarget   = null;
            _callbackHappened = false;

            _renderer = Substitute.For <IUnifiedRenderer>();
            var rendererSystem = Substitute.For <IRendererSystem>();

            rendererSystem.Renderer.Returns(_renderer);

            var playerSystem = Substitute.For <IPlayerSystem>();

            _activityStack = new ActivityStack();
            _ioConfig      = new IOSystemConfiguration();
            _activityStack.Push(new GameplayActivity(new Rectangle(0, 0, 0, 0), new Padding(0), _ioConfig, playerSystem));
            _activitySystem  = Substitute.For <IActivitySystem>();
            _positionSystem  = Substitute.For <IPositionSystem>();
            _targetingSystem = Substitute.For <ITargetingSystem>();
            _systemContainer = Substitute.For <ISystemContainer>();
            _systemContainer.ActivitySystem.Returns(_activitySystem);
            _systemContainer.PositionSystem.Returns(_positionSystem);
            _systemContainer.RendererSystem.Returns(rendererSystem);
            _systemContainer.TargetingSystem.Returns(_targetingSystem);

            SetTargetableCells(new MapCoordinate("Map", 1, 0));

            _targetingActivity = new TargetingActivity(_activitySystem.DefaultPosition, _activitySystem.DefaultPadding, _targetingData, _callback, _systemContainer, new MapCoordinate("Map", 0, 0), _ioConfig);
            _activityStack.Push(_targetingActivity);
        }
示例#2
0
 public ControlSystem(ISystemContainer systemContainer, IEntityDataProvider keyBindingsDataProvider)
 {
     this._systemContainer        = systemContainer;
     this.keyBindingsDataProvider = keyBindingsDataProvider;
     _activitySystem  = systemContainer.ActivitySystem;
     _targetingSystem = systemContainer.TargetingSystem;
 }
示例#3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="FiringSolution"/> class.
        /// set Vector to be the initialVector.
        /// </summary>
        /// <param name="system">The system.</param>
        /// <param name="initialVector">The initial vector.</param>
        public FiringSolution(ITargetingSystem system, double initialVector)
        {
            // TEST: check arguments
            if (initialVector == 0.0)
                throw new ArgumentOutOfRangeException("initialVector", initialVector, "initial vector cannot be zero");
            if (system == null)
                throw new ArgumentNullException("system");

            this.system = system;
            storedVector = initialVector;
        }
        public TargetingActivity(Rectangle position, Padding padding, Targeting targetingData, Action <MapCoordinate> callback, ISystemContainer systemContainer, MapCoordinate targetFrom, IOSystemConfiguration ioSystemConfiguration) : base(position, padding)
        {
            _activitySystem  = systemContainer.ActivitySystem;
            _systemContainer = systemContainer;
            _positionSystem  = systemContainer.PositionSystem;
            _targetingSystem = systemContainer.TargetingSystem;

            TargetingData = targetingData;
            CurrentTarget = null;
            Callback      = callback;
            TargetFrom    = targetFrom;

            _targetableCells = _targetingSystem.TargetableCellsFrom(TargetingData, TargetFrom);

            PickInitialTarget();
            _ioSystemConfiguration = ioSystemConfiguration;
        }
示例#5
0
        public void SetUp()
        {
            _sender = CreateSkillUser();
            _player = CreatePlayer();

            _systemContainer = Substitute.For <ISystemContainer>();
            _positionSystem  = Substitute.For <IPositionSystem>();
            _playerSystem    = Substitute.For <IPlayerSystem>();
            _targetingSystem = Substitute.For <ITargetingSystem>();
            _mapSystem       = Substitute.For <IMapSystem>();
            _mapCollection   = new Atlas();
            _map             = Substitute.For <IMap>();
            _systemContainer.PositionSystem.ReturnsForAnyArgs(_positionSystem);
            _systemContainer.PlayerSystem.ReturnsForAnyArgs(_playerSystem);
            _systemContainer.MapSystem.ReturnsForAnyArgs(_mapSystem);
            _systemContainer.Random.ReturnsForAnyArgs(new RNG("test seed"));
            _systemContainer.TargetingSystem.ReturnsForAnyArgs(_targetingSystem);
            _mapSystem.MapCollection.ReturnsForAnyArgs(_mapCollection);
            _mapCollection[new MapKey("test")] = _map;

            SetTargetableCells(new MapCoordinate(MAP_KEY, 0, 0));

            _playerSystem.Player.ReturnsForAnyArgs(_player);

            _data = CreateTargetingData();

            UNUSED = new MapCoordinate("UNUSED", 0, 0);
            _callbackCoordinate = UNUSED;

            _callback = m =>
            {
                _callbackCoordinate = m;
            };

            _senderLocation = new MapCoordinate(MAP_KEY, 0, 0);

            SetPosition(_sender, _senderLocation);
        }
示例#6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FiringSolution"/> class.
 /// Initializes vectors to start position.
 /// </summary>
 /// <param name="system">The system.</param>
 public FiringSolution(ITargetingSystem system)
     : this(system, 1)
 {
 }