1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- using UnityEngine;
- namespace Assets.ImagyVFX.Scripts.Utils
- {
- internal sealed class DemoPrefabController : MonoBehaviour
- {
- public int StartNum = 0;
- public GameObject[] Prefabs;
- private GameObject _currentInstance;
- private int _currentPrefabNum;
- public void SelectNextPrefab()
- {
- if (Prefabs.Length == 0)
- return;
- _currentPrefabNum++;
- if (_currentPrefabNum >= Prefabs.Length)
- _currentPrefabNum = 0;
- ChangePrefab(_currentPrefabNum);
- }
- public void SelectePrevPrefab()
- {
- if (Prefabs.Length == 0)
- return;
- _currentPrefabNum--;
- if (_currentPrefabNum < 0)
- _currentPrefabNum = Prefabs.Length - 1;
- ChangePrefab(_currentPrefabNum);
- }
- private void Start()
- {
- _currentPrefabNum = StartNum;
- ChangePrefab(_currentPrefabNum);
- }
- private void ChangePrefab(int num)
- {
- if (_currentInstance != null)
- Destroy(_currentInstance);
- _currentInstance = Instantiate(Prefabs[num]);
- _currentInstance.SetActive(true);
- }
- }
- }
|