IEnumerator Vampire3Preview()
    {
        float startDelay = 0.25f;
        float repeatTime = 5f;

        PreviewShipMovement targetMove = target.movement as PreviewShipMovement;

        targetMove.autoMove = true;
        PreviewShipMovement playerMove = players[(int)sceneOwner].ship.movement as PreviewShipMovement;

        playerMove.autoMove = false;

        //print("Masochist3Preview");
        PreviewShip player = players[(int)sceneOwner].ship as PreviewShip;

        yield return(new WaitForSeconds(startDelay));

        while (true)
        {
            playerMove.autoMove = false;
            target.shooting.Shoot();
            yield return(new WaitForSeconds(1.4f));

            target.shooting.DetonateBomb(AttackButtons.A);
            yield return(new WaitForSeconds(1.65f));

            player.UseVampireShield();
            yield return(new WaitForSeconds(repeatTime));
        }
    }
    IEnumerator TankShip3Preview()
    {
        float startDelay = 0.25f;
        float repeatTime = 5f;

        PreviewShipMovement targetMove = target.movement as PreviewShipMovement;

        targetMove.autoMove = true;
        PreviewShipMovement playerMove = players[(int)sceneOwner].ship.movement as PreviewShipMovement;

        playerMove.autoMove = false;

        //print("Generalist3Preview");
        Character player = players[(int)sceneOwner];

        yield return(new WaitForSeconds(startDelay));

        while (true)
        {
            target.shooting.Shoot();
            yield return(new WaitForSeconds(1f));

            target.shooting.DetonateBomb(AttackButtons.B);
            yield return(new WaitForSeconds(0.15f));

            player.ship.shooting.Shoot();
            yield return(new WaitForSeconds(1f));

            player.ship.shooting.DetonateBomb(AttackButtons.Y);

            yield return(new WaitForSeconds(repeatTime));
        }
    }
    IEnumerator Vampire2Preview()
    {
        float startDelay    = 0.25f;
        float detonateDelay = 2.75f;
        float repeatTime    = 6f;

        PreviewShipMovement targetMove = target.movement as PreviewShipMovement;

        targetMove.autoMove = true;
        PreviewShipMovement playerMove = players[(int)sceneOwner].ship.movement as PreviewShipMovement;

        playerMove.autoMove = false;

        //print("Masochist2Preview");
        Character player = players[(int)sceneOwner];

        yield return(new WaitForSeconds(startDelay));

        while (true)
        {
            player.ship.shooting.Shoot();

            yield return(new WaitForSeconds(detonateDelay));

            player.ship.shooting.DetonateBomb(AttackButtons.X);

            yield return(new WaitForSeconds(repeatTime));
        }
    }
    IEnumerator GlassCannon3Preview()
    {
        float startDelay = 0.25f;
        float chargeTime = 3f;
        float repeatTime = 1f;

        PreviewShipMovement targetMove = target.movement as PreviewShipMovement;

        targetMove.autoMove = false;
        PreviewShipMovement playerMove = players[(int)sceneOwner].ship.movement as PreviewShipMovement;

        playerMove.autoMove = false;

        //print("GlassCannon3Preview");
        PreviewShip player = players[(int)sceneOwner].ship as PreviewShip;

        yield return(new WaitForSeconds(startDelay));

        while (true)
        {
            player.FireChargeShot();

            yield return(new WaitForSeconds(chargeTime + repeatTime));
        }
    }