diff options
Diffstat (limited to 'Assets/ThirdParty/MaterializeFX/Scripts/Utils/DemoPrefabController.cs')
-rw-r--r-- | Assets/ThirdParty/MaterializeFX/Scripts/Utils/DemoPrefabController.cs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Assets/ThirdParty/MaterializeFX/Scripts/Utils/DemoPrefabController.cs b/Assets/ThirdParty/MaterializeFX/Scripts/Utils/DemoPrefabController.cs new file mode 100644 index 00000000..d1c108bb --- /dev/null +++ b/Assets/ThirdParty/MaterializeFX/Scripts/Utils/DemoPrefabController.cs @@ -0,0 +1,41 @@ +using UnityEngine;
+
+namespace Assets.MaterializeFX.Scripts.Utils
+{
+ internal sealed class DemoPrefabController : MonoBehaviour
+ {
+ public int StartNum;
+ public GameObject[] Prefabs;
+
+ private GameObject _currentInstance;
+ private int _currentPrefabNum;
+
+ public void Next()
+ {
+ if (Prefabs.Length == 0)
+ return;
+
+ _currentPrefabNum++;
+ if (_currentPrefabNum >= Prefabs.Length)
+ _currentPrefabNum = 0;
+
+ ChangePrefab(_currentPrefabNum);
+ }
+
+ private void Start()
+ {
+ _currentPrefabNum = StartNum;
+
+ ChangePrefab(_currentPrefabNum);
+ }
+
+ private void ChangePrefab(int num)
+ {
+ if (_currentInstance != null)
+ Destroy(_currentInstance);
+ var newPrefab = Prefabs[num];
+ _currentInstance = Instantiate(newPrefab, newPrefab.transform.position, newPrefab.transform.transform.rotation);
+ _currentInstance.SetActive(true);
+ }
+ }
+}
\ No newline at end of file |