ramkaの朝ごはんはピーナッツパン

超個人的備忘録です。基本自分のためなので、内容の不備、読みづらさ、つまらなさはご了承ください。

GameManagerを使ったゲームの進行

qiita.com

GameManagerというオブジェクトを作成して、そこにスクリプトをアタッチ

たとえばGameManager.csというスクリプトを作成して、そこにゲームの進行に関わる処理を記載していく。

他のスクリプトからGameManagerのスクリプトを実行しやすいように、
静的なメンバ変数を用意しておく

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class GameManager : MonoBehaviour
{
    public static GameManager m_instance;

    public Text m_waveClear; // レベルのテキスト
    public int m_waveLevel; // ウェーブのレベル

    // ゲーム開始時に呼び出される関数
    private void Awake()
    {
        // 他のクラスからプレイヤーを参照できるように
        // static 変数にインスタンス情報を格納する
        m_instance = this;

    }

    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {

    }

    public void WaveClear()
    {
        // ウェーブクリアオブジェクトを表示
        m_waveClear.gameObject.SetActive(true);
        // 表示文字列を更新
        m_waveClear.text = "WAVE" + m_waveLevel + "CLEAR!";
        // ウェーブレベルをインクリメント
        m_waveLevel++;
    }
}