public void Finish()
{
foreach (var member in _viewers)
{
Send.CutsceneEnd(member);
member.Unlock(Locks.Default, true);
Send.CutsceneUnk(member);
}
// Call callback before setting cutscene to null so it can
// be referenced from the core during the callback.
if (_callback != null)
_callback(this);
foreach (var member in _viewers)
{
// Only set cutscene to null if callback didn't start
// another one, otherwise players wouldn't be able to
// finish the new one, getting stuck.
if (member.Temp.CurrentCutscene == this)
member.Temp.CurrentCutscene = null;
}
}
}