Files
beyond/Assets/Scripts/Save/VideoCutsceneSaver.cs
2024-11-20 15:21:28 +01:00

50 lines
1.3 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using PixelCrushers;
using UnityEngine;
namespace Beyond
{
public class VideoCutsceneSaver : Saver
{
[SerializeField] private VideoCutsceneTrigger[] m_triggers;
[Serializable]
public class Data
{
public bool[] wasPlayed;
}
// Start is called before the first frame update
private void Awake()
{
if (m_triggers == null || m_triggers.Length == 0)
m_triggers = FindObjectsOfType<VideoCutsceneTrigger>(true);
}
public override string RecordData()
{
Data d = new Data();
d.wasPlayed = new bool[m_triggers.Length];
for (int i = 0; i < d.wasPlayed.Length; i++)
{
d.wasPlayed[i] = m_triggers[i].WasPlayed;
}
return SaveSystem.Serialize(d);
}
public override void ApplyData(string s)
{
if (String.IsNullOrEmpty(s))
return;
Data d = SaveSystem.Deserialize<Data>(s);
if (d.wasPlayed == null)
return;
for (int i = 0; i < d.wasPlayed.Length; i++)
{
m_triggers[i].WasPlayed = d.wasPlayed[i];
}
}
}
}