public ALittleScriptGuessEnum(string p_namespace_name, string p_enum_name , ALittleScriptEnumDecElement p_enum_dec) { is_register = ALittleScriptUtility.IsRegister(p_enum_dec); namespace_name = p_namespace_name; enum_name = p_enum_name; enum_dec = p_enum_dec; }
public ALittleScriptEnumDecElement GetEnumDec() { if (m_flag_EnumDec) { return(m_cache_EnumDec); } m_flag_EnumDec = true; foreach (var child in m_childs) { if (child is ALittleScriptEnumDecElement) { m_cache_EnumDec = child as ALittleScriptEnumDecElement; break; } } return(m_cache_EnumDec); }
// 获取枚举数据 public ALittleScriptEnumData GetEnumData(ALittleScriptEnumDecElement dec) { var name_dec = dec.GetEnumNameDec(); if (name_dec == null) { return(null); } if (!m_enum_data_map.TryGetValue(dec.GetFile(), out Dictionary <string, ALittleScriptEnumData> map)) { return(null); } if (!map.TryGetValue(name_dec.GetElementText(), out ALittleScriptEnumData data)) { return(null); } return(data); }
// 添加枚举数据 private void AddEnumData(ALittleScriptEnumDecElement dec) { var name_dec = dec.GetEnumNameDec(); if (name_dec == null) { return; } if (!m_enum_data_map.TryGetValue(dec.GetFile(), out Dictionary <string, ALittleScriptEnumData> map)) { map = new Dictionary <string, ALittleScriptEnumData>(); m_enum_data_map.Add(dec.GetFile(), map); } var enum_data = new ALittleScriptEnumData(); string name = name_dec.GetElementText(); if (map.ContainsKey(name)) { map.Remove(name); } map.Add(name, enum_data); var body_dec = dec.GetEnumBodyDec(); if (body_dec == null) { return; } var var_dec_list = body_dec.GetEnumVarDecList(); foreach (var var_dec in var_dec_list) { enum_data.AddVarDec(var_dec); } }