//--------------------------------------------------------  
 | 
//    [Author]:           YYL  
 | 
//    [  Date ]:           2025年8月5日  
 | 
//--------------------------------------------------------  
 | 
  
 | 
using System.Collections.Generic;  
 | 
using System;  
 | 
using UnityEngine;  
 | 
using LitJson;  
 | 
  
 | 
public partial class NPCConfig : ConfigBase<int, NPCConfig>  
 | 
{  
 | 
    static NPCConfig()  
 | 
    {  
 | 
        // 访问过静态构造函数  
 | 
        visit = true;   
 | 
    }  
 | 
  
 | 
    public int NPCID;  
 | 
    public int NPCType;  
 | 
    public string MODE;  
 | 
    public string charName;  
 | 
    public int NPCLV;  
 | 
    public float ModleHeight;  
 | 
    public float ModelRadius;  
 | 
    public float ModeProportion;  
 | 
    public Vector3 UIModeLOffset;  
 | 
    public float UIModeLProportion;  
 | 
    public Vector3 UIModelRotation;  
 | 
    public int CanDeadFly;  
 | 
    public int Country;  
 | 
    public int MinAtk;  
 | 
    public int MaxAtk;  
 | 
    public int Def;  
 | 
    public int Realm;  
 | 
    public int PoisionAtk;  
 | 
    public int FireAtk;  
 | 
    public int IceAtk;  
 | 
    public int PoisionDef;  
 | 
    public int IceDef;  
 | 
    public int ThunderDef;  
 | 
    public int AtkInterval;  
 | 
    public int Hit;  
 | 
    public int MissRate;  
 | 
    public int SuperHiteRate;  
 | 
    public int OrgSpeed;  
 | 
    public int MoveType;  
 | 
    public int AtkDist;  
 | 
    public int Skill1;  
 | 
    public int Skill2;  
 | 
    public int Skill3;  
 | 
    public int Skill4;  
 | 
    public int Skill5;  
 | 
    public int Skill6;  
 | 
    public int Skill7;  
 | 
    public int Skill8;  
 | 
    public int AtkType;  
 | 
    public int Sight;  
 | 
    public int MoveArea;  
 | 
    public int DHP;  
 | 
    public int MaxHPEx;  
 | 
    public int IsBoss;  
 | 
    public int SP;  
 | 
    public int AIType;  
 | 
    public int CanAttack;  
 | 
    public float weight;  
 | 
    public string HeadPortrait;  
 | 
    public int Show;  
 | 
    public int AtkFeedback;  
 | 
    public int hurtFeedback;  
 | 
    public int AutomaticFace;  
 | 
    public int Dig;  
 | 
    public int[] Sounds;  
 | 
    public int LifeBarCount;  
 | 
    public int NPCEffect;  
 | 
    public int NPCSpeakID;  
 | 
    public string Equips;  
 | 
  
 | 
    public override int LoadKey(string _key)  
 | 
    {  
 | 
        int key = GetKey(_key);  
 | 
        return key;  
 | 
    }  
 | 
  
 | 
    public override void LoadConfig(string input)  
 | 
    {  
 | 
        try {  
 | 
        string[] tables = input.Split('\t');  
 | 
        int.TryParse(tables[0],out NPCID);   
 | 
  
 | 
            int.TryParse(tables[1],out NPCType);   
 | 
  
 | 
            MODE = tables[2];  
 | 
  
 | 
            charName = tables[3];  
 | 
  
 | 
            int.TryParse(tables[4],out NPCLV);   
 | 
  
 | 
            float.TryParse(tables[5],out ModleHeight);   
 | 
  
 | 
            float.TryParse(tables[6],out ModelRadius);   
 | 
  
 | 
            float.TryParse(tables[7],out ModeProportion);   
 | 
  
 | 
            UIModeLOffset=tables[8].Vector3Parse();  
 | 
  
 | 
            float.TryParse(tables[9],out UIModeLProportion);   
 | 
  
 | 
            UIModelRotation=tables[10].Vector3Parse();  
 | 
  
 | 
            int.TryParse(tables[11],out CanDeadFly);   
 | 
  
 | 
            int.TryParse(tables[12],out Country);   
 | 
  
 | 
            int.TryParse(tables[13],out MinAtk);   
 | 
  
 | 
            int.TryParse(tables[14],out MaxAtk);   
 | 
  
 | 
            int.TryParse(tables[15],out Def);   
 | 
  
 | 
            int.TryParse(tables[16],out Realm);   
 | 
  
 | 
            int.TryParse(tables[17],out PoisionAtk);   
 | 
  
 | 
            int.TryParse(tables[18],out FireAtk);   
 | 
  
 | 
            int.TryParse(tables[19],out IceAtk);   
 | 
  
 | 
            int.TryParse(tables[20],out PoisionDef);   
 | 
  
 | 
            int.TryParse(tables[21],out IceDef);   
 | 
  
 | 
            int.TryParse(tables[22],out ThunderDef);   
 | 
  
 | 
            int.TryParse(tables[23],out AtkInterval);   
 | 
  
 | 
            int.TryParse(tables[24],out Hit);   
 | 
  
 | 
            int.TryParse(tables[25],out MissRate);   
 | 
  
 | 
            int.TryParse(tables[26],out SuperHiteRate);   
 | 
  
 | 
            int.TryParse(tables[27],out OrgSpeed);   
 | 
  
 | 
            int.TryParse(tables[28],out MoveType);   
 | 
  
 | 
            int.TryParse(tables[29],out AtkDist);   
 | 
  
 | 
            int.TryParse(tables[30],out Skill1);   
 | 
  
 | 
            int.TryParse(tables[31],out Skill2);   
 | 
  
 | 
            int.TryParse(tables[32],out Skill3);   
 | 
  
 | 
            int.TryParse(tables[33],out Skill4);   
 | 
  
 | 
            int.TryParse(tables[34],out Skill5);   
 | 
  
 | 
            int.TryParse(tables[35],out Skill6);   
 | 
  
 | 
            int.TryParse(tables[36],out Skill7);   
 | 
  
 | 
            int.TryParse(tables[37],out Skill8);   
 | 
  
 | 
            int.TryParse(tables[38],out AtkType);   
 | 
  
 | 
            int.TryParse(tables[39],out Sight);   
 | 
  
 | 
            int.TryParse(tables[40],out MoveArea);   
 | 
  
 | 
            int.TryParse(tables[41],out DHP);   
 | 
  
 | 
            int.TryParse(tables[42],out MaxHPEx);   
 | 
  
 | 
            int.TryParse(tables[43],out IsBoss);   
 | 
  
 | 
            int.TryParse(tables[44],out SP);   
 | 
  
 | 
            int.TryParse(tables[45],out AIType);   
 | 
  
 | 
            int.TryParse(tables[46],out CanAttack);   
 | 
  
 | 
            float.TryParse(tables[47],out weight);   
 | 
  
 | 
            HeadPortrait = tables[48];  
 | 
  
 | 
            int.TryParse(tables[49],out Show);   
 | 
  
 | 
            int.TryParse(tables[50],out AtkFeedback);   
 | 
  
 | 
            int.TryParse(tables[51],out hurtFeedback);   
 | 
  
 | 
            int.TryParse(tables[52],out AutomaticFace);   
 | 
  
 | 
            int.TryParse(tables[53],out Dig);   
 | 
  
 | 
            if (tables[54].Contains("[")) 
 | 
            { 
 | 
                Sounds = JsonMapper.ToObject<int[]>(tables[54]); 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                string[] SoundsStringArray = tables[54].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); 
 | 
                Sounds = new int[SoundsStringArray.Length]; 
 | 
                for (int i=0;i<SoundsStringArray.Length;i++) 
 | 
                { 
 | 
                     int.TryParse(SoundsStringArray[i],out Sounds[i]); 
 | 
                } 
 | 
            }  
 | 
  
 | 
            int.TryParse(tables[55],out LifeBarCount);   
 | 
  
 | 
            int.TryParse(tables[56],out NPCEffect);   
 | 
  
 | 
            int.TryParse(tables[57],out NPCSpeakID);   
 | 
  
 | 
            Equips = tables[58];  
 | 
        }  
 | 
        catch (Exception exception)  
 | 
        {  
 | 
            Debug.LogError(exception);  
 | 
        }  
 | 
    }  
 | 
}  
 |