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;
        }
Beispiel #3
0
    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;
    }
Beispiel #4
0
    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);
    }
Beispiel #5
0
    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);
        }
    }