Unityにおけるシーンの切り替え時に実行されるメソッドを設定したいのですがうまくいきません。
SceneManager.sceneLoaded += メソッド名;
を使用して試しているのですが、以下に示す2つのエラーが出てしまいます。
Assets/Scripts/Home/ContinuationManager.cs(51,9): error CS0123: No overload for 'GetSaveData' matches delegate 'UnityAction<Scene, LoadSceneMode>'
Assets/Scripts/Home/ContinuationManager.cs(69,9): error CS0123: No overload for 'GetSaveData' matches delegate 'UnityAction<Scene, LoadSceneMode>'
c#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5using UnityEngine.SceneManagement; 6using DG.Tweening; 7using TMPro; 8 9public class ContinuationManager : MonoBehaviour 10{ 11 //中略 12 13 public void Clicked() 14 { 15 SceneManager.sceneLoaded += GetSaveData; 16 SceneManager.LoadScene("Scenario"); 17 } 18 private void GetSaveData(Scene next, LoadSceneMode mode) 19 { 20 //何か処理してイベントから削除 21 SceneManager.sceneLoaded -= GetSaveData; 22 } 23
エラー箇所は
1つ目がSceneManager.sceneLoaded += GetSaveData;の部分で
2つ目がSceneManager.sceneLoaded -= GetSaveData;の部分です
delegateについて理解が足りないのもあり、なぜdelegateの型に今回のメソッドが一致しないのかわかりません。
解決方法のご教授願います。