43 lines
843 B
C#
43 lines
843 B
C#
|
using System;
|
||
|
using UnityEngine;
|
||
|
|
||
|
namespace RoR2;
|
||
|
|
||
|
public class EnableWithPhase : MonoBehaviour
|
||
|
{
|
||
|
[Serializable]
|
||
|
public struct PhaseInfo
|
||
|
{
|
||
|
public int minimumPhaseThreshold;
|
||
|
|
||
|
public int maximumPhaseThreshold;
|
||
|
|
||
|
public GameObject[] gameObjectsToEnable;
|
||
|
}
|
||
|
|
||
|
public PhaseInfo[] phaseInfos;
|
||
|
|
||
|
private void FixedUpdate()
|
||
|
{
|
||
|
if (!PhaseCounter.instance)
|
||
|
{
|
||
|
return;
|
||
|
}
|
||
|
int phase = PhaseCounter.instance.phase;
|
||
|
for (int i = 0; i < phaseInfos.Length; i++)
|
||
|
{
|
||
|
bool active = true;
|
||
|
PhaseInfo phaseInfo = phaseInfos[i];
|
||
|
if (phaseInfo.minimumPhaseThreshold > phase || phaseInfo.maximumPhaseThreshold < phase)
|
||
|
{
|
||
|
active = false;
|
||
|
}
|
||
|
GameObject[] gameObjectsToEnable = phaseInfo.gameObjectsToEnable;
|
||
|
for (int j = 0; j < gameObjectsToEnable.Length; j++)
|
||
|
{
|
||
|
gameObjectsToEnable[j].SetActive(active);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|