1234567891011121314151617181920212223242526272829303132333435363738394041 |
- using UnityEngine;
- namespace MaterializationFX.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);
- }
- }
- }
|