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; } } 
 | 
  
 | 
    [SerializeField] RoleShowParams m_Magic; 
 | 
    public RoleShowParams magic { get { return m_Magic; } } 
 | 
  
 | 
    static CreateRoleScriptableObject config; 
 | 
    public static CameraParams GetCameraParams() 
 | 
    { 
 | 
        if (config == null) 
 | 
        { 
 | 
            config = BuiltInLoader.LoadScriptableObject<CreateRoleScriptableObject>("CreateRoleConfig"); 
 | 
        } 
 | 
  
 | 
        return config.cameraParams; 
 | 
    } 
 | 
  
 | 
    public static RoleShowParams GetJobParams(int job) 
 | 
    { 
 | 
        if (config == null) 
 | 
        { 
 | 
            config = BuiltInLoader.LoadScriptableObject<CreateRoleScriptableObject>("CreateRoleConfig"); 
 | 
        } 
 | 
  
 | 
        switch (job) 
 | 
        { 
 | 
            case 1: 
 | 
                return config.warrior; 
 | 
            case 2: 
 | 
                return config.magic; 
 | 
            default: 
 | 
                return default(RoleShowParams); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    [System.Serializable] 
 | 
    public struct CameraParams 
 | 
    { 
 | 
        public string prefabName; 
 | 
        public string warriorToMagic; 
 | 
        public float warriorToMagicTime; 
 | 
        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 EnterPictureType enterPictureType; 
 | 
        public string animation; 
 | 
        public float animationDuration; 
 | 
        public int[] persistentEffects; 
 | 
        public int showEffect; 
 | 
    } 
 | 
  
 | 
    public enum EnterPictureType 
 | 
    { 
 | 
        Stand, 
 | 
        OutIn, 
 | 
    } 
 | 
  
 | 
} 
 |