public void SetData(Hashtable ht)
{
this.eventType = (GlobalEventType)System.Enum.Parse(typeof(GlobalEventType), (string)ht["type"]);
if(ht.ContainsKey("timeout"))
{
this.timeout = float.Parse((string)ht["timeout"]);
}
if(ht.ContainsKey("inpause"))
{
this.inPause = bool.Parse((string)ht["inpause"]);
}
int count = int.Parse((string)ht["prefabs"]);
this.prefabName = new string[count];
this.prefab = new GameObject[count];
for(int i=0; i<count; i++) this.prefabName[i] = "";
count = int.Parse((string)ht["audioclips"]);
this.audioName = new string[count];
this.audioClip = new AudioClip[count];
for(int i=0; i<count; i++) this.audioName[i] = "";
if(ht.ContainsKey(XMLHandler.NODES))
{
ArrayList s = ht[XMLHandler.NODES] as ArrayList;
foreach(Hashtable ht2 in s)
{
if(ht2[XMLHandler.NODE_NAME] as string == GlobalEvent.EVENTFILE)
{
this.eventFile = ht2[XMLHandler.CONTENT] as string;
}
else if(ht2[XMLHandler.NODE_NAME] as string == GlobalEvent.CONTROLTYPE)
{
int id = int.Parse((string)ht2["id"]);
if(id < this.controlType.Length) this.controlType[id] = true;
}
else if(ht2[XMLHandler.NODE_NAME] as string == GlobalEvent.VARIABLES)
{
this.variables.SetData(ht2);
}
else if(ht2[XMLHandler.NODE_NAME] as string == GlobalEvent.PREFAB)
{
int id = int.Parse((string)ht2["id"]);
if(id < this.prefabName.Length)
{
this.prefabName[id] = ht2[XMLHandler.CONTENT] as string;
}
}
else if(ht2[XMLHandler.NODE_NAME] as string == GlobalEvent.AUDIOCLIP)
{
int id = int.Parse((string)ht2["id"]);
if(id < this.audioName.Length)
{
this.audioName[id] = ht2[XMLHandler.CONTENT] as string;
}
}
}
}
this.LoadEvent();
}