Files
BH3/Assets/Plugins/Assembly-CSharp-firstpass/CinemaDirector/EnableGameObjectGlobal.cs
2025-08-13 09:26:42 +08:00

73 lines
1.2 KiB
C#

using CinemaDirector.Helpers;
using UnityEngine;
namespace CinemaDirector
{
[CutsceneItem("Game Object", "Enable Game Object", new CutsceneItemGenre[] { CutsceneItemGenre.GlobalItem })]
public class EnableGameObjectGlobal : CinemaGlobalEvent, IRevertable
{
public GameObject target;
[SerializeField]
private RevertMode editorRevertMode;
[SerializeField]
private RevertMode runtimeRevertMode;
private bool previousState;
public RevertMode EditorRevertMode
{
get
{
return editorRevertMode;
}
set
{
editorRevertMode = value;
}
}
public RevertMode RuntimeRevertMode
{
get
{
return runtimeRevertMode;
}
set
{
runtimeRevertMode = value;
}
}
public RevertInfo[] CacheState()
{
if (target != null)
{
return new RevertInfo[1]
{
new RevertInfo(this, target, "SetActive", target.activeInHierarchy)
};
}
return null;
}
public override void Trigger()
{
if (target != null)
{
previousState = target.activeInHierarchy;
target.SetActive(true);
}
}
public override void Reverse()
{
if (target != null)
{
target.SetActive(previousState);
}
}
}
}