using System.Collections.Generic;
using System.Text;
namespace TableConfig
{
public partial class SkillConfig : ConfigBase, IConfigPostProcess
{
///
/// 根据职业以及技能类型存储技能
///
private static Dictionary>>> m_Skills = new Dictionary>>>();
public void OnConfigParseCompleted()
{
#region 根据职业以及技能类型以及技能等级
Dictionary>> funcDic = null;
Dictionary> typeDic = null;
List lvlist = null;
m_Skills.TryGetValue(UseType, out funcDic);
if (funcDic != null)
{
funcDic.TryGetValue(FuncType, out typeDic);
if (typeDic != null)
{
typeDic.TryGetValue(SkillTypeID, out lvlist);
if (lvlist != null)
{
lvlist.Add(this);
}
else
{
lvlist = new List();
lvlist.Add(this);
typeDic.Add(SkillTypeID, lvlist);
}
}
else
{
typeDic = new Dictionary>();
lvlist = new List();
lvlist.Add(this);
typeDic.Add(SkillTypeID, lvlist);
funcDic.Add(FuncType, typeDic);
}
}
else
{
funcDic = new Dictionary>>();
typeDic = new Dictionary>();
lvlist = new List();
lvlist.Add(this);
typeDic.Add(SkillTypeID, lvlist);
funcDic.Add(FuncType, typeDic);
m_Skills.Add(UseType, funcDic);
}
#endregion
#region 坐骑技能获取
_textBuilder.Length = 0;
if (FuncType == 5)
{
_textBuilder.Append(SkillTypeID);
_textBuilder.Append(SkillLV);
T_HorseSkill.Add(_textBuilder.ToString(), this);
}
#endregion
}
//--坐骑技能获取
private static StringBuilder _textBuilder = new StringBuilder();
public static Dictionary T_HorseSkill = new Dictionary();
///
/// 根据职业类型以及技能类型获取技能
///
///
///
///
public static Dictionary> GetSkillWithOccpyAndType(int occupy, int type)
{
Dictionary>> dic = null;
Dictionary> typeDic = null;
m_Skills.TryGetValue(occupy, out dic);
if (dic != null)
{
dic.TryGetValue(type, out typeDic);
}
return typeDic;
}
public static List GetSkillActConfigs(int occupy, int type, int _typeId)
{
List _list = null;
Dictionary> _dict = GetSkillWithOccpyAndType(occupy, type);
if (_dict != null)
{
_dict.TryGetValue(_typeId, out _list);
}
return _list;
}
public static Dictionary>> GetSkillActive(int occupy)
{
Dictionary>> dic = null;
m_Skills.TryGetValue(occupy, out dic);
return dic;
}
//------坐骑技能获取
public static SkillConfig GetSkillTypeIDAndSkillLV(int _SkillTypeID, int SkillLV)
{
_textBuilder.Length = 0;
_textBuilder.Append(_SkillTypeID.ToString() + SkillLV.ToString());
SkillConfig _tagChinSkillModel = null;
T_HorseSkill.TryGetValue(_textBuilder.ToString(), out _tagChinSkillModel);
return _tagChinSkillModel;
}
}
}