public void TestInitialize() { _gameController = Substitute.For <IGameController>(); _logicHandler = Substitute.For <ILogicHandler>(); _gameEngineInterface = Substitute.For <IGameEngineInterface>(); _dataLayer = Substitute.For <IDataLayer>(); _audioSourceShip = Substitute.For <IAudioSource>(); _playerShip = Substitute.For <IGameObject>(); _playerShip.Transform = Substitute.For <ITransform>(); _camera = Substitute.For <IGameObject>(); _gameEngineInterface.FindGameObject("MainCamera").Returns(_camera); _camera.Transform.Position.Returns(new Vector3(0, 0, 0)); _sourceAsteroid = Substitute.For <IGameObject>(); _gameEngineInterface.FindGameObject("sourceAsteroid").Returns(_sourceAsteroid); _sourceAsteroid.Transform.Position.Returns(new Vector3(0, 0, 0)); _playerShipScript = Substitute.For <IPlayerShipScript>(); _playerShipScript.Health.Returns(100); _playerShip.GetSize().Returns(new Vector3(10, 10, 10)); _gameEngineInterface.Screen.Width.Returns(SCREEN_WIDTH); _logicHandler.GameController = _gameController; _asteroidPlacementLogicImplementer = Substitute.For <IAsteroidPlacementLogicImplementer>(); _gameLogicProvider = new GameLogicProvider(_logicHandler, _gameEngineInterface, _dataLayer, _asteroidPlacementLogicImplementer); //todo 2nd game: couldn't get Substitute.ForPartsOf to work, so I had to mock all the stuff needed for the call to InitStage() _gameEngineInterface.Time = Substitute.For <ITime>(); _gameEngineInterface.Time.DeltaTime.Returns(1); }
private void InitShip() { _playerShipScript = _playerShip.GetComponent <IPlayerShipScript>(); _playerShipScript.GameEngineInterface = _gameEngineInterface; _playerShipScript.Health = 1; _playerShipScript.HeadingAngle = 90; }