public void Init(string columnName, TemplateType ttype, string guideColumns, QuestColumnType columnType) { strQuestColumnName = columnName; nQuestColumnValue = 0; type = ttype; strGuideColumnNames = guideColumns; strGuideColumnValues = string.Empty; emQuestColumnType = columnType; }
/// <summary> /// 根据nTemplateId 和type更新当前地图名称 /// 如果所有的地图都找不到返回false /// </summary> /// <param name="nTemplateId"></param> /// <param name="rows">返回该nTemplateId对应的行</param> /// <param name="type"></param> /// <returns></returns> private bool UpdateCurrentMapName(int nTemplateId, TemplateType ttype, QuestColumnType colType, ref DataRow[] rows, ref string newMapName) { Hashtable htMapNameReader = null; switch (ttype) { case TemplateType.NPC_TEMPLATE: htMapNameReader = m_htMapNameNpcTable; break; case TemplateType.DOODAD_TEMPLATE: htMapNameReader = m_htMapNameDoodadTable; break; default: return false; } if (htMapNameReader.ContainsKey(m_strCurrentMapName)) { MapLogicalTableReader reader = htMapNameReader[m_strCurrentMapName] as MapLogicalTableReader; rows = reader.Select(nTempleteIDColumnName, nTemplateId.ToString()); if (rows.Length > 0) { return true; } } if (colType == QuestColumnType.START && m_htMapName.ContainsKey(m_nCurrentStartMapId)) { string mapname = m_htMapName[m_nCurrentStartMapId] as string; MapLogicalTableReader reader = htMapNameReader[mapname] as MapLogicalTableReader; if(reader != null) { rows = reader.Select(nTempleteIDColumnName, nTemplateId.ToString()); if (rows.Length > 0) { newMapName = mapname; return true; } } } else if (colType == QuestColumnType.END && m_htMapName.ContainsKey(m_nCurrentEndMapId)) { string mapname = m_htMapName[m_nCurrentEndMapId] as string; MapLogicalTableReader reader = htMapNameReader[mapname] as MapLogicalTableReader; if (reader != null) { rows = reader.Select(nTempleteIDColumnName, nTemplateId.ToString()); if (rows.Length > 0) { newMapName = mapname; return true; } } } foreach (DictionaryEntry de in htMapNameReader) { MapLogicalTableReader reader = de.Value as MapLogicalTableReader; string mapname = de.Key as string; rows = reader.Select(nTempleteIDColumnName, nTemplateId.ToString()); if (rows.Length > 0) { newMapName = mapname; return true; } } return false; }
/// <summary> /// 根据nTemplateId 和type更新当前地图名称 /// 如果所有的地图都找不到返回false /// </summary> /// <param name="nTemplateId"></param> /// <param name="rows">返回该nTemplateId对应的行</param> /// <param name="type"></param> /// <returns></returns> private bool UpdateCurrentMapName(int nTemplateId, TemplateType ttype, QuestColumnType colType, ref DataRow[] rows, ref string newMapName) { Hashtable htMapNameReader = null; switch (ttype) { case TemplateType.NPC_TEMPLATE: htMapNameReader = m_htMapNameNpcTable; break; case TemplateType.DOODAD_TEMPLATE: htMapNameReader = m_htMapNameDoodadTable; break; default: return(false); } if (htMapNameReader.ContainsKey(m_strCurrentMapName)) { MapLogicalTableReader reader = htMapNameReader[m_strCurrentMapName] as MapLogicalTableReader; rows = reader.Select(nTempleteIDColumnName, nTemplateId.ToString()); if (rows.Length > 0) { return(true); } } if (colType == QuestColumnType.START && m_htMapName.ContainsKey(m_nCurrentStartMapId)) { string mapname = m_htMapName[m_nCurrentStartMapId] as string; MapLogicalTableReader reader = htMapNameReader[mapname] as MapLogicalTableReader; if (reader != null) { rows = reader.Select(nTempleteIDColumnName, nTemplateId.ToString()); if (rows.Length > 0) { newMapName = mapname; return(true); } } } else if (colType == QuestColumnType.END && m_htMapName.ContainsKey(m_nCurrentEndMapId)) { string mapname = m_htMapName[m_nCurrentEndMapId] as string; MapLogicalTableReader reader = htMapNameReader[mapname] as MapLogicalTableReader; if (reader != null) { rows = reader.Select(nTempleteIDColumnName, nTemplateId.ToString()); if (rows.Length > 0) { newMapName = mapname; return(true); } } } foreach (DictionaryEntry de in htMapNameReader) { MapLogicalTableReader reader = de.Value as MapLogicalTableReader; string mapname = de.Key as string; rows = reader.Select(nTempleteIDColumnName, nTemplateId.ToString()); if (rows.Length > 0) { newMapName = mapname; return(true); } } return(false); }