//This code create by CodeEngine ,don't modify

using System;
using System.Collections.Generic;
using System.Collections;
using Module.Log;
  
namespace GCGame.Table
{

    public class Tab_SkillEx1{

    public const string TAB_FILE_DATA = "SkillEx1";
	private const int _varCount = 52;
	
	public int GetId()
	{
		return SkillExID;
	}
	
	public static bool Validate(string line)
	{
		var segments = 0;
		foreach (char c in line) 
			if (c == '\t')
				segments++;
		// Note: skip the 2nd column as it's the description;
		var result = segments == _varCount;
		if (!result)
			LogModule.ErrorLog(string.Format("Load {0} error as CodeSize:{1} not Equal DataSize:{2}", TAB_FILE_DATA, _varCount, segments));
		return result;
	}
	
	public Tab_SkillEx1()
	{
	}
	
	public Tab_SkillEx1(string line)
	{
		var segments = line.Split('\t');
          SkillExID = int.Parse(segments[0]);
          BaseId = int.Parse(segments[2]);
          SkillDesc = segments[3].Trim();
          Level = int.Parse(segments[4]);
          CombatValue = int.Parse(segments[5]);
          Radius = float.Parse(segments[6]);
          SearchRadius = float.Parse(segments[7]);
          CDTimeId = int.Parse(segments[8]);
          SkillContinueTime = int.Parse(segments[9]);
          YinChangTime = int.Parse(segments[10]);
          DelType[0] = int.Parse(segments[11]);
DelType[1] = int.Parse(segments[13]);
          DelNum[0] = int.Parse(segments[12]);
DelNum[1] = int.Parse(segments[14]);
          NextSkillId = int.Parse(segments[15]);
          MultiNextSkillId = int.Parse(segments[16]);
          NextSkillCDTimeId = int.Parse(segments[17]);
          SelectorId[0] = int.Parse(segments[18]);
SelectorId[1] = int.Parse(segments[22]);
SelectorId[2] = int.Parse(segments[26]);
          ImpactId[0] = int.Parse(segments[19]);
ImpactId[1] = int.Parse(segments[20]);
ImpactId[2] = int.Parse(segments[21]);
ImpactId[3] = int.Parse(segments[23]);
ImpactId[4] = int.Parse(segments[24]);
ImpactId[5] = int.Parse(segments[25]);
ImpactId[6] = int.Parse(segments[27]);
ImpactId[7] = int.Parse(segments[28]);
ImpactId[8] = int.Parse(segments[29]);
          Impact[0] = int.Parse(segments[30]);
Impact[1] = int.Parse(segments[31]);
Impact[2] = int.Parse(segments[32]);
Impact[3] = int.Parse(segments[33]);
Impact[4] = int.Parse(segments[34]);
Impact[5] = int.Parse(segments[35]);
          SatrtMotionId = int.Parse(segments[36]);
          CameraRockId = int.Parse(segments[37]);
          CameraRockRate = int.Parse(segments[38]);
          WarningText = int.Parse(segments[39]);
          WarningStart = int.Parse(segments[40]);
          WarningDuration = int.Parse(segments[41]);
          BulletEffectID[0] = int.Parse(segments[42]);
BulletEffectID[1] = int.Parse(segments[43]);
BulletEffectID[2] = int.Parse(segments[44]);
          BackswingCD[0] = int.Parse(segments[45]);
BackswingCD[1] = int.Parse(segments[46]);
          CradleTime = int.Parse(segments[47]);
          TransitTime = int.Parse(segments[48]);
          ConnectNextSkillTime = int.Parse(segments[49]);
          ConnectCradleTime = int.Parse(segments[50]);
          MaxMoveDistance = int.Parse(segments[51]);
          PreloadEffect = segments[52].Trim();

	}
  
    public int SkillExID { get; private set; }
  
    public int BaseId { get; private set; }
  
    public string SkillDesc { get; private set; }
  
    public int Level { get; private set; }
  
    public int CombatValue { get; private set; }
  
    public float Radius { get; private set; }
  
    public float SearchRadius { get; private set; }
  
    public int CDTimeId { get; private set; }
  
    public int SkillContinueTime { get; private set; }
  
    public int YinChangTime { get; private set; }
  
	public readonly int[] DelType = new int[2];
	public int getDelTypeCount() { return DelType.Length; } 
	public int GetDelTypebyIndex(int idx)
    {
		if(idx >= 0 && idx < DelType.Length)
			return DelType[idx];
		return default(int);
    }
  
	public readonly int[] DelNum = new int[2];
	public int getDelNumCount() { return DelNum.Length; } 
	public int GetDelNumbyIndex(int idx)
    {
		if(idx >= 0 && idx < DelNum.Length)
			return DelNum[idx];
		return default(int);
    }
  
    public int NextSkillId { get; private set; }
  
    public int MultiNextSkillId { get; private set; }
  
    public int NextSkillCDTimeId { get; private set; }
  
	public readonly int[] SelectorId = new int[3];
	public int getSelectorIdCount() { return SelectorId.Length; } 
	public int GetSelectorIdbyIndex(int idx)
    {
		if(idx >= 0 && idx < SelectorId.Length)
			return SelectorId[idx];
		return default(int);
    }
  
	public readonly int[] ImpactId = new int[9];
	public int getImpactIdCount() { return ImpactId.Length; } 
	public int GetImpactIdbyIndex(int idx)
    {
		if(idx >= 0 && idx < ImpactId.Length)
			return ImpactId[idx];
		return default(int);
    }
  
	public readonly int[] Impact = new int[6];
	public int getImpactCount() { return Impact.Length; } 
	public int GetImpactbyIndex(int idx)
    {
		if(idx >= 0 && idx < Impact.Length)
			return Impact[idx];
		return default(int);
    }
  
    public int SatrtMotionId { get; private set; }
  
    public int CameraRockId { get; private set; }
  
    public int CameraRockRate { get; private set; }
  
    public int WarningText { get; private set; }
  
    public int WarningStart { get; private set; }
  
    public int WarningDuration { get; private set; }
  
	public readonly int[] BulletEffectID = new int[3];
	public int getBulletEffectIDCount() { return BulletEffectID.Length; } 
	public int GetBulletEffectIDbyIndex(int idx)
    {
		if(idx >= 0 && idx < BulletEffectID.Length)
			return BulletEffectID[idx];
		return default(int);
    }
  
	public readonly int[] BackswingCD = new int[2];
	public int getBackswingCDCount() { return BackswingCD.Length; } 
	public int GetBackswingCDbyIndex(int idx)
    {
		if(idx >= 0 && idx < BackswingCD.Length)
			return BackswingCD[idx];
		return default(int);
    }
  
    public int CradleTime { get; private set; }
  
    public int TransitTime { get; private set; }
  
    public int ConnectNextSkillTime { get; private set; }
  
    public int ConnectCradleTime { get; private set; }
  
    public int MaxMoveDistance { get; private set; }
  
    public string PreloadEffect { get; private set; }
  

    }
}