using Thousandto.Code.Logic;


namespace Thousandto.Editor.ModelEditor
{
    //模型编辑器数据定义文件
    public class ModelEditorDefine
    {
        public static string[] ModelTypeName = new string[] {
            "玩家身体",
            "玩家武器",
            "玩家翅膀",
            "玩家坐骑",
            "怪物",
            "采集物",
            "掉落模型",
            "其他模型"
            };

        public static string[] SlotTypeName = new string[] {
                    "头部",       //Head = 0,       //头部
                    "左手武器",     //LeftWeapon = 1,     //左手武器   
                    "右手武器",     //RightWeapon = 2,    //右手武器    
                    "受击点",      //Hit = 3,            //被击点    
                    "初始位置",     //Origin = 4,         //初始位置
                    "左脚",       //LeftFoot = 5,       //左脚
                    "右脚",       // RightFoot = 6,      //右脚         
                    "坐骑上的位置1",//MountSit1 = 7,      //坐骑上的位置1
                    "坐骑上的位置2",//MountSit2 = 8,      //坐骑上的位置2
                    "左手",//LeftHand = 9,       //左手
                    "右手",//RightHand = 10,      //右手        
                    "None",
                    "None",
                    "左手武器特效",//LeftWeaponSFX = 13, //左手武器特效,如果不分左右手,那么就使用这个
                    "右手武器特效",//RightWeaponSFX = 14, //右手武器特效      
                    "None",
                    "强化特效挂载点",//StrengthenVfx = 16, //强化特效挂载点
                    "坐骑原点",//MountOrigin = 17,   //坐骑原点
                    "None",//Wing = 18,          //翅膀挂接点
                    "None",//WingReserve = 19,   //翅膀模型替换了挂接点后,挂接点被修改为这个名字
                    "翅膀原点",//WingOrigin = 20, //翅膀原点
                    "左手武器",//WeaponLeftChild = 21,    //左手武器节点名字
                    "右手武器",//WeaponRightChild = 22,    //右手武器节点名字
                    "坐骑上的位置3",//MountSit3 = 23,      //坐骑上的位置3
                    "坐骑上的位置4",//MountSit4 = 24,      //坐骑上的位置4
                    "坐骑上的位置5",//MountSit5 = 25,      //坐骑上的位置5
                };

        public static string[] ShaderTypeName = new string[]{
                    "默认",// None = 0,
                    "流光",//Flow = 1,
                    "边缘光",//Rim = 2,
                    "消融",//Dissolving = 3,
                    "半透",//Transparent = 4,
                    "AlphaTest",//AlphaTest = 5,
                    "Brdf",//Brdf = 6,
                    "琉璃",//琉璃 = 7,
                    "新流光",//新流光 = 8,
        };

        public const string Key_Id = "id";
        public const string Key_Name = "name";
        public const string Key_Type = "type";
        public const string Key_Model = "model";
        public const string Key_IsShow = "IsShow";
        public const string Key_ApplyStatus = "ApplyStatus";
        public const string Key_Shader = "shader";
        public const string Key_ShaderParam1 = "sharder_param1";
        public const string Key_ShaderParam2 = "sharder_param2";
        public const string Key_ShaderParam3 = "sharder_param3";
        public const string Key_ShaderParam4 = "sharder_param4";
        public const string Key_ShaderParam5 = "sharder_param5";
        public const string Key_OutLine = "out_line_param";
        public const string Key_Vfx1 = "vfx_1";
        public const string Key_Vfx2 = "vfx_2";
        public const string Key_Vfx3 = "vfx_3";
        public const string Key_Vfx4 = "vfx_4";
        public const string Key_Vfx5 = "vfx_5";
        public const string Key_MainTexture = "main_textrue";
        public const string Key_MaskTexture = "mask_textrue";


        public RoleSkinModelType Covert(int index)
        {
            switch (index)
            {
                case 0:
                    return RoleSkinModelType.PlayerBody;
                case 1:
                    return RoleSkinModelType.PlayerWeapon;
                case 2:
                    return RoleSkinModelType.PlayerWing;
                case 3:
                    return RoleSkinModelType.PlayerMount;
                case 4:
                    return RoleSkinModelType.MonsterBody;
                case 5:
                    return RoleSkinModelType.CollectionBody;
            }
            return RoleSkinModelType.Other;
        }
    }
}