private static void LoadLangs()
{
m_locals = new Dictionary<string, Dictionary<dbType, List<DBLanguage>>>();
List<string> langs = new List<string>();
int dbTypeElementsCount = Enum.GetValues(typeof(dbType)).Length;
//List<DBLanguage> tempDBList = new List<DBLanguage>();
//tempDBList.AddRange(GameServer.Database.SelectAllObjects<DBLanguage>());
var dbo = GameServer.Database.SelectAllObjects<DBLanguage>();
foreach (string language in (from l in dbo select l.DE /*change after db modify*/).ToList())
{
if (!langs.Contains(language))
langs.Add(language);
}
foreach (string lang in langs)
{
//1. create an language dictionary for each language
Dictionary<dbType, List<DBLanguage>> typeElements = new Dictionary<dbType, List<DBLanguage>>();
//1.1 run through each dbType member
for (int i = 0; i <= dbTypeElementsCount - 1; i++)
{
//2. create an dbType #i elements list for each language dictionary
List<DBLanguage> elementList = new List<DBLanguage>();
foreach (DBLanguage element in dbo)
{
//2.1 fill the elements list with data that has the same language and dbType
if (element.DE == lang && element.EN == ((dbType)i).ToString() /* Enum.GetName(typeof(dbType), i)*/)
{
DBLanguage newElement = new DBLanguage();
newElement.DE = element.DE; //key
newElement.CU = element.CU; //type konvertierung nicht vergessen
newElement.EN = element.EN; //description1
newElement.FR = element.FR; //description2
newElement.IT = element.IT; //language
elementList.Add(newElement);
}
}
//3. add the elements list with dbType #i to the language dictionary
typeElements.Add((dbType)i, elementList);
}
//4. add the language dictionary with language #lang to the localization dictionary
m_locals.Add(lang.ToLower(), typeElements);
}
}
Return to “%s” DOL Code Contributions
Users browsing this forum: No registered users and 1 guest