using System.Collections; using System.Collections.Generic; using NaughtyAttributes; using NaughtyAttributes.Test; using UnityEngine; using UnityEngine.Serialization; [CreateAssetMenu(fileName = "BootstrapConfig.asset", menuName = "KernelPanic/Boot/Config")] public class BootstrapConfig : ScriptableObject { [Header("Scenes")] [SerializeField] [Scene] private string BootflowScene; [SerializeField] [Scene] private string MainMenuScene; [SerializeField] [Scene] private string CreditsScene; [SerializeField] [Scene] private string GameplayScene; public LevelDescriptor StartLevel => _startLevel; [SerializeField] private LevelDescriptor _startLevel; public float TransitionDuration => _transitionDuration; [Header( "Transition" )] [SerializeField] [FormerlySerializedAs("TransitionDuration")] private float _transitionDuration; public string GetScene( SceneType sceneType ) { switch ( sceneType ) { case SceneType.BootSequence: return BootflowScene; case SceneType.MainMenu: return MainMenuScene; case SceneType.Gameplay: return GameplayScene; case SceneType.Credits: return CreditsScene; default: return null; } } }