Skip to content

Instantly share code, notes, and snippets.

@todorok1
Created July 20, 2025 02:32
Show Gist options
  • Select an option

  • Save todorok1/78ccccb9363664f4d72dba3b94733e18 to your computer and use it in GitHub Desktop.

Select an option

Save todorok1/78ccccb9363664f4d72dba3b94733e18 to your computer and use it in GitHub Desktop.
シンプルRPGチュートリアル第110回 タイトル画面のはじめからのメニューを制御するクラス
using UnityEngine;
using UnityEngine.SceneManagement;
namespace SimpleRpg
{
/// <summary>
/// タイトル画面のはじめからのメニューを制御するクラスです。
/// </summary>
public class TitleStartController : MonoBehaviour, IFadeCallback
{
/// <summary>
/// 味方キャラクターのステータスをセットアップするクラスへの参照です。
/// </summary>
[SerializeField]
CharacterStatusSetter _characterStatusSetter;
/// <summary>
/// ゲーム用のシーン名です。
/// </summary>
readonly string GameSceneName = "Game";
/// <summary>
/// 最初からゲームを開始する準備を行います。
/// </summary>
public void StartNewGame()
{
SimpleLogger.Instance.Log("はじめからゲームを開始します。");
GameStartInfoHolder.isNewGame = true;
FadeManager.Instance.SetCallback(this);
FadeManager.Instance.FadeOutScreen();
}
/// <summary>
/// 続きからゲームを開始する準備を行います。
/// </summary>
/// <param name="slotId">セーブ枠のID</param>
public void ContinueGame(int slotId)
{
SimpleLogger.Instance.Log("つづきからゲームを開始します。");
GameStartInfoHolder.isNewGame = false;
GameStartInfoHolder.loadedSlotId = slotId;
FadeManager.Instance.SetCallback(this);
FadeManager.Instance.FadeOutScreen();
}
/// <summary>
/// フェードが完了した時に呼ばれるコールバックです。
/// </summary>
public void OnFinishedFade()
{
_characterStatusSetter.SetUpCharacterStatus();
FlagManager.Instance.InitializeFlagList();
// シーンをロードします。
SceneManager.LoadScene(GameSceneName);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment