50 lines
1.3 KiB
C#
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];
|
|
}
|
|
}
|
|
}
|
|
} |