public void SetUp() { stubPlayer = MockRepository.GenerateStub<IPlayer>(); stubGameInput = MockRepository.GenerateStub<IGameInput>(); stubCrosshair = MockRepository.GenerateStub<ICrosshair>(); stubRespawner = MockRepository.GenerateStub<IPlayerRespawner>(); kpc = new KeyboardPlayerController(stubPlayer, stubGameInput, stubCrosshair, stubRespawner); }
public KeyboardPlayerController(IPlayer player, IGameInput gameInput, ICrosshair crosshair, IPlayerRespawner playerRespawner) { this.Player = player; this.GameInput = gameInput; this.Crosshair = crosshair; this.PlayerRespawner = playerRespawner; LastShootTime = float.MinValue; LastJumpTime = float.MinValue; }
private void RespawnCurrentUnit() { PlayerRespawnHandler respawnHandler = controller.mainController.di.respawnHandler; IPlayerRespawner playerRespawner = respawnHandler.GetCheckpointRespawner(stats.SlimeType); if (playerRespawner.CameraSegment) { camera.CameraSegment = playerRespawner.CameraSegment; } Vector2 respawnPosition = playerRespawner.SpawnPoint; controller.transform.position = respawnPosition; hp.OnRespawn(); physics.velocity.Value = Vector2.zero; }
public bool SetCheckpoint(SlimeType type, IPlayerRespawner checkpoint) { IPlayerRespawner previousCheckpoint = checkpointsMap.Get(type); if (previousCheckpoint == checkpoint) { return(false); } if (previousCheckpoint != null) { previousCheckpoint.OnDeactivate(type); } checkpointsMap.Set(type, checkpoint); checkpoint.OnActivate(type); return(true); }
private void RespawnAssembly() { PlayerRespawnHandler respawnHandler = controller.mainController.di.respawnHandler; IPlayerRespawner kingRespawner = respawnHandler.GetCheckpointRespawner(SlimeType.King); HashSet <SlimeType> respawnSeparately = new HashSet <SlimeType>(); foreach (SlimeType type in SlimeTypeHelpers.GetWithoutKingEnumerable()) { if (stats.HasType(type)) { IPlayerRespawner slimeRespawner = respawnHandler.GetCheckpointRespawner(type); if (slimeRespawner != kingRespawner) { respawnSeparately.Add(type); } } } if (respawnSeparately.Count > 0) { unitHandler.RespawnOutOfAssembly(respawnSeparately); } }