public override void Execute(Vector3 hit_point)
    {
        if (reactionIntervalTimer > reactionInterval)
        {
            // 他ボイス再生中は再生しない
            if (G20_VoicePerformer.GetInstance().IsPlaying)
            {
                return;
            }
            reactionIntervalTimer = 0f;

            int playNum = 0;
            if (isRandomPlay)
            {
                do
                {
                    playNum = Random.Range(0, voices.Count);
                }while (prePlayNum == playNum);
            }
            else
            {
                //listの並び順に再生
                playNum = prePlayNum + 1;
                if (playNum >= voices.Count)
                {
                    playNum = 0;
                }
            }

            G20_VoicePerformer.GetInstance().PlayWithNoControll(voices[playNum]);
            prePlayNum = playNum;
        }
    }
 public void GameFailed()
 {
     gameState      = G20_GameState.GAMEOVER;
     Time.timeScale = 0;
     G20_BGMManager.GetInstance().Play(G20_BGMType.GAMEOVER);
     G20_VoicePerformer.GetInstance().PlayWithCaption(G20_VoiceType.GAME_OVER1);
     //ゲームオーバー演出の開始
     G20_FailedPerformer.GetInstance().Excute(GameEnd);
 }
Esempio n. 3
0
    void PlayDamageVoice()
    {
        if (stageBoss.HP <= 0)
        {
            return;
        }
        if (currentVoice == null)
        {
            currentVoice = voices.GetEnumerator();
            currentVoice.MoveNext();
        }

        G20_VoicePerformer.GetInstance().PlayWithNoControll(currentVoice.Current);
        currentVoice.MoveNext();
    }
 public override void StartPerformance()
 {
     //Debug.Log("voicePlay");
     G20_VoicePerformer.GetInstance().PlayWithNoCaption(voiceType);
     //G20_SEManager.GetInstance().Play((G20_SEType)( G20_SEType.VOICE0 + (int)voiceType ), Vector3.zero, false);
 }
Esempio n. 5
0
 public void PlayVoiceWithCaption(int num)
 {
     G20_VoicePerformer.GetInstance().PlayWithCaption((G20_VoiceType)num);
 }
Esempio n. 6
0
    IEnumerator GesslerShootCoroutine(System.Action on_end_action)
    {
        BattleSetUP();

        var anim = GameObject.Find("G20_Root").GetComponent <Animator>();

        anim.enabled = true;
        anim.CrossFade("ToGesslerBattle", 0.3f);
        G20_BGMManager.GetInstance().FadeOut();
        yield return(new WaitForSeconds(1.0f));

        G20_BGMManager.GetInstance().Play(G20_BGMType.BOSS);
        yield return(new WaitForSeconds(1.9f));

        anim.enabled = false;
        G20_VoicePerformer.GetInstance().PlayWithNoControll(G20_VoiceType.INGAME2);

        //counterWall(ゲスラーの反撃判定壁)をアクティブに
        counterWall.SetActive(true);
        hitCounterApple = counterWall.GetComponent <G20_HitCounterApple>();
        yield return(null);

        // 「SHOOT」表示
        ActivateShootObject(true);

        StartCoroutine(NextGesslerMove());

        // ゲスラー撃てるようになる
        stageBoss.IsInvincible = false;


        //gesslerにhiteefect追従するように
        bossHitEffect             = stageBoss.GetComponent <G20_HitEffect>();
        bossHitEffect.effctParent = stageBoss.transform;
        bossHitEffect.ChangeEffectType(G20_EffectType.HIT_GESSLER_BODY);

        Destroy(stageBoss.GetComponent <G20_HitSE>());

        stageBoss.GetComponent <G20_HitObject>().ChangeHitTag(G20_HitTag.ASSIST);
        stageBoss.GetComponent <G20_HitObject>().IsHitRateUp = true;

        while (stageBoss.HP > 0)
        {
            yield return(null);
        }


        //counterWall(ゲスラーの反撃判定壁)を非アクティブに
        counterWall.SetActive(false);

        gesslerAnim.PlayAnim(G20_GesslerAnimType.Yarare);

        // 「SHOOT」非表示
        foreach (var o in activateObjs)
        {
            o.SetActive(false);
        }
        G20_VoicePerformer.GetInstance().PlayWithCaption(G20_VoiceType.GAME_CLEAR1);
        StartCoroutine(GesslerDownMove());
        StartCoroutine(ApprochToGessler());

        yield return(new WaitForSeconds(1.0f));

        // ゲスラー撃破
        if (on_end_action != null)
        {
            on_end_action();
        }
    }