public static void LoadSaveGame(Hashtable ht)
{
GameHandler.Instance().ClearData();
GameHandler.ChangeHappened(2, 0, 0);
if(ht.ContainsKey("language")) GameHandler.SetLanguage(int.Parse((string)ht["language"]));
if(ht.ContainsKey("difficulty")) GameHandler.SetDifficulty(int.Parse((string)ht["difficulty"]));
if(ht.ContainsKey("gametime")) GameHandler.SetGameTime(float.Parse((string)ht["gametime"]));
if(ht.ContainsKey("areaname")) GameHandler.SetAreaNameID(int.Parse((string)ht["areaname"]));
if(ht.ContainsKey("money")) GameHandler.SetMoney(int.Parse((string)ht["money"]));
GameHandler.SetItemRecipeSaveData(ht);
if(ht.ContainsKey(XMLHandler.NODES))
{
ArrayList s = ht[XMLHandler.NODES] as ArrayList;
foreach(Hashtable ht2 in s)
{
if(ht2[XMLHandler.NODE_NAME] as string == SaveHandler.ITEMS)
{
GameHandler.SetItemSaveData(ht2);
}
else if(ht2[XMLHandler.NODE_NAME] as string == SaveHandler.WEAPONS)
{
GameHandler.SetWeaponSaveData(ht2);
}
else if(ht2[XMLHandler.NODE_NAME] as string == SaveHandler.ARMORS)
{
GameHandler.SetArmorSaveData(ht2);
}
else if(ht2[XMLHandler.NODE_NAME] as string == SaveHandler.VARIABLES)
{
GameHandler.SetVariableSaveData(ht2);
}
else if(ht2[XMLHandler.NODE_NAME] as string == SaveHandler.NUMBERVARIABLES)
{
GameHandler.SetNumberVariableSaveData(ht2);
}
else if(ht2[XMLHandler.NODE_NAME] as string == SaveHandler.PARTY)
{
GameHandler.Party().SetSaveData(ht2);
}
else if(ht2[XMLHandler.NODE_NAME] as string == SaveHandler.DROPS)
{
GameHandler.DropHandler().SetData(ht2);
}
else if(ht2[XMLHandler.NODE_NAME] as string == SaveHandler.ADDONS)
{
ArrayList ss = ht2[XMLHandler.NODES] as ArrayList;
foreach(Hashtable ht3 in ss)
{
foreach(AddonSaver adSav in SaveHandler.Instance().addonSavers)
{
adSav.SetData(ht3);
}
}
}
else if(ht2[XMLHandler.NODE_NAME] as string == SaveHandler.STATISTICS)
{
DataHolder.Statistic.SetSaveData(ht2);
}
}
}
if(ht.ContainsKey("musicid"))
{
GameHandler.GetMusicHandler().Stop();
GameHandler.GetMusicHandler().PlayFromTime(int.Parse((string)ht["musicid"]), float.Parse((string)ht["musictime"]));
}
GameHandler.GetLevelHandler().InitGlobalEvents();
}