예제 #1
0
    /// <summary>
    /// 更新処理
    /// </summary>
    private void Update()
    {
        UIManager uiManager = m_mediator.UIManager;

        if (m_windEffect != null)
        {
            // 「時は来た」テキストが範囲外で風エフェクトを破棄
            if (uiManager.ComeTimeText.rectTransform.anchoredPosition.x >= 600)
            {
                // 風エフェクトを破棄する
                Destroy(m_windEffect);
                // アバター生成エフェクトを「活動中」にする
                m_generateCircle.gameObject.SetActive(true);
                // アバター生成エフェクトを再生する
                m_flag.On(PLAY_GENERATE);
            }
        }

        if (m_generateCircle != null)
        {
            if (m_flag.Check(PLAY_GENERATE) == true)
            {
                // 生成エフェクトを動かす
                m_generateCircle.transform.position += new Vector3(0, 0.5f, 0) * Time.deltaTime;
            }

            // 絶対座標との距離が1を超えた
            bool isDist = (Vector3.Distance(m_generateCircle.transform.position, m_generateCircle.FixedPosition) > 1);
            if (isDist)
            {
                // 生成エフェクトを削除
                m_generateCircle.gameObject.SetActive(false);
                m_generateCircle.transform.position = new Vector3(0, 20, 0);
                // 背景をフェードする
                m_flag.On(FADE_BACKGROUND);
            }
        }

        if (m_flag.Check(FADE_BACKGROUND) == true)
        {
            // 背景をフェードする
            if (m_mediator.EffectManager.BackgroundEffect.Fade < 1)
            {
                m_mediator.EffectManager.BackgroundEffect.Fade += 0.2f * Time.deltaTime;
            }
        }

        // フェード値が1以上
        if (m_mediator.EffectManager.BackgroundEffect.Fade >= 1)
        {
            // 戦いフラグをオンにする
            m_mediator.GameDirector.Flag.On(m_mediator.GameDirector.FIGHT);
        }
    }
예제 #2
0
    /// <summary>
    /// 実行処理
    /// </summary>
    public override void Execute()
    {
        // アニメーター
        Animator animator = m_player.GetComponent <Animator>();

        if (Camera.main.transform.position.z <= -14)
        {
            m_nextAction++;
        }

        if (m_nextAction >= 120)
        {
            m_nextAction = 0;
            animator.SetBool("fighting", false);
            animator.SetBool("walking", true);
            Camera.main.GetComponent <Animator>().applyRootMotion = true;
            m_flag.On(GO_TO_ENEMY);
        }

        if ((m_flag.Check(GO_TO_ENEMY) && !m_flag.Check(PUNCH)))
        {
            GameObject enemy = GameObject.Find("Enemy");
            if (m_player.transform.position.z < -9)
            {
                m_player.transform.Translate(0, 0, 2 * Time.deltaTime);
            }
            else
            {
                animator.SetBool("walking", false);

                m_flag.On(PUNCH);
            }
        }
        else
        {
            // 「立ち」状態を再生する
            animator.SetBool("fighting", true);
        }

        if (m_flag.Check(PUNCH))
        {
            animator.SetBool("punching", true);
            m_nextAction++;

            if (m_nextAction > 60)
            {
                Camera.main.GetComponent <FightCamera>().VibrationCamera(20);
            }
            if (m_nextAction > 80)
            {
                m_player.Flag.On(m_player.ACTION_END);
            }
        }
    }
예제 #3
0
 public DiffFollow(DiffMethod method)
 {
     this.Follow = method;
     this.Add    = Flag.Check((int)method, (int)DiffMethod.Add);
     this.Modify = Flag.Check((int)method, (int)DiffMethod.Modify);
     this.Remove = Flag.Check((int)method, (int)DiffMethod.Remove);
 }
예제 #4
0
    /// <summary>
    /// 更新処理
    /// </summary>
    private void Update()
    {
        if (m_flag.Check(NEXT))
        {
            m_mediator.UIManager.WipeEffect.Fade -= 2 * Time.deltaTime;
        }

        if (m_mediator.UIManager.WipeEffect.Fade <= 0)
        {
            SceneManager.LoadScene("1103");
        }
    }