using System.Collections; using System.Collections.Generic; using UnityEngine; [CreateAssetMenu(menuName = "Config/CreateRoleScriptableObject")] public class CreateRoleScriptableObject : ScriptableObject { [SerializeField] CameraParams m_CameraParams; public CameraParams cameraParams { get { return m_CameraParams; } } [SerializeField] RoleShowParams[] m_Warrior; public RoleShowParams[] warrior { get { return m_Warrior; } } static CreateRoleScriptableObject config; public static CameraParams GetCameraParams() { if (config == null) { config = BuiltInLoader.LoadScriptableObject("CreateRoleConfig"); } return config.cameraParams; } public static RoleShowParams GetJobParams(int job) { if (config == null) { config = BuiltInLoader.LoadScriptableObject("CreateRoleConfig"); } return config.warrior[job - 1]; } [System.Serializable] public struct CameraParams { public string prefabName; public string magicToWarrior; public float magicToWarriorTime; } [System.Serializable] public struct RoleShowParams { public int job; public float scale; public string platformPrefabName; public Vector3 platformPosition; public Vector3 platformScale; public float animationDuration; } }