GlobalEvent.SetData C# (CSharp) Méthode

SetData() public méthode

public SetData ( Hashtable ht ) : void
ht Hashtable
Résultat void
    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();
    }

Usage Example

Exemple #1
0
 public GlobalEvent GetCopy()
 {
     GlobalEvent ge = new GlobalEvent();
     ge.SetData(this.GetData(new Hashtable()));
     return ge;
 }