To use it:
# Create a new C# script named SyncContainersDontDestroyMe.cs, and paste in the contents below
# Drop a new Container in theyour game's first scene and add the new SyncDont Destroy ContainersMe component
# CheckMake '''Retainsure inthere prefab?'''is in thea Remember Container Inspector and make a new prefab fromcomponent itattached
# Place an instance of this prefab in each scene.
SyncContainersDontDestroyMe.cs:
using UnityEngine;<br>using System.Collections;<br>using AC;<br>
using System.Collections;<br>
public class SyncContainersDontDestroyMe : MonoBehaviour <br>{<br> ▼
using AC;<br>
private void OnEnableStart ()<br> {▼
<br>
DontDestroyOnLoad (gameObject);
[RequireComponent (typeof(RememberContainer))]<br>
▲ public class SyncContainers : MonoBehaviour<br>
{<br>
<br>
private int constantID = 0;<br>
private RememberContainer rememberContainer;<br>
<br>
<br>
▲ private void OnEnable ()<br>
{<br>
rememberContainer = GetComponent <RememberContainer>();<br>
constantID = rememberContainer.constantID;<br>
<br>
EventManager.OnAfterChangeScene += OnAfterChangeScene;<br>
}<br>
<br>
<br>
private void OnDisable ()<br>
{<br>
EventManager.OnAfterChangeScene -= OnAfterChangeScene;<br>
}<br>
<br>
<br>
private void OnAfterChangeScene (LoadingGame loadingGame)<br>
{<br>
if (constantID == 0)<br>
{<br>
return;<br>
}<br>
<br>
if (loadingGame == LoadingGame.No || loadingGame == LoadingGame.JustSwitchingPlayer)<br>
{<br>
SceneInfo previousSceneInfo = KickStarter.sceneChanger.GetPreviousSceneInfo (false);<br>
Debug.Log ("Load data for scene " + previousSceneInfo.name + " - " + previousSceneInfo.number + ", Searching for data ID: " + constantID);<br>
<br>
foreach (SingleLevelData levelData in KickStarter.levelStorage.allLevelData)<br>
{<br>
if (levelData.sceneNumber == previousSceneInfo.number)<br>
{<br>
foreach (ScriptData _scriptData in levelData.allScriptData)<br>
{<br>
if (_scriptData.data != null && _scriptData.data.Length > 0 && _scriptData.objectID == constantID)<br>
{<br>
Debug.Log ("Found save data in last scene, applying to self.", gameObject);<br>
rememberContainer.LoadData (_scriptData.data);<br>
}<br>
}<br>
}<br>
}<br>
}<br>
}<br>
<br>
}
[[Category:General]]
|