public string CreateFileInfo(int index)
{
string info = "";
ArrayList data = SaveHandler.LoadFile(index);
if(data.Count > 0)
{
info = DataHolder.LoadSaveHUD().GetFileInfoString();
foreach(Hashtable entry in data)
{
if(entry[XMLHandler.NODE_NAME] as string == SaveHandler.SAVEGAMES)
{
if(entry.ContainsKey(XMLHandler.NODES))
{
ArrayList subs = entry[XMLHandler.NODES] as ArrayList;
foreach(Hashtable ht in subs)
{
if(ht[XMLHandler.NODE_NAME] as string == SaveHandler.SAVEGAME)
{
if(ht.ContainsKey("gametime"))
{
info = info.Replace("%t", GameHandler.GetTimeString(float.Parse((string)ht["gametime"])));
}
if(ht.ContainsKey("areaname"))
{
if("" != info) info += " ";
info = info.Replace("%a", DataHolder.AreaName(int.Parse((string)ht["areaname"])));
}
ArrayList s = ht[XMLHandler.NODES] as ArrayList;
foreach(Hashtable ht2 in s)
{
if(ht2[XMLHandler.NODE_NAME] as string == SaveHandler.PARTY)
{
if(ht2.ContainsKey("playerid"))
{
int id = int.Parse((string)ht2["playerid"]);
ArrayList s2 = ht2[XMLHandler.NODES] as ArrayList;
foreach(Hashtable ht3 in s2)
{
if(ht3[XMLHandler.NODE_NAME] as string == PartyHandler.ACTIVEPARTY)
{
if(ht3.ContainsKey(XMLHandler.NODES))
{
ArrayList s3 = ht3[XMLHandler.NODES] as ArrayList;
foreach(Hashtable ht4 in s3)
{
if(ht4[XMLHandler.NODE_NAME] as string == PartyHandler.CHARACTER)
{
if(id == int.Parse((string)ht4["realid"]))
{
info = info.Replace("%l", (string)ht4["level"]);
}
if(ht4.ContainsKey(XMLHandler.NODES))
{
ArrayList s4 = ht4[XMLHandler.NODES] as ArrayList;
foreach(Hashtable ht5 in s4)
{
if(ht5[XMLHandler.NODE_NAME] as string == Character.NEWNAME)
{
string tmpName = ht5[XMLHandler.CONTENT] as string;
if(tmpName != "") info = info.Replace("%n", tmpName);
}
}
}
}
}
}
}
}
info = info.Replace("%n", DataHolder.Characters().GetName(id));
}
}
}
}
}
}
}
}
}
else
{
info = DataHolder.LoadSaveHUD().GetEmptyInfoString();
}
if(index == SaveHandler.AUTOSAVE_INDEX) info = info.Replace("%i", DataHolder.LoadSaveHUD().GetAutoName());
else info = info.Replace("%i", (index+1).ToString());
return info;
}