Ejemplo n.º 1
0
 internal void SetVar(string name, object value)
 {
     if (name.Contains('.'))
     {
         try
         {
             if (fields.ContainsKey(name.Split('.')[0]))
             {
                 if (fields[name.Split('.')[0]] is Instance)
                 {
                     (fields[name.Split('.')[0]] as Instance).SetVar(name.Substring(name.IndexOf('.') + 1), value);
                 }
                 else if (fields[name.Split('.')[0]] is vArray)
                 {
                     (fields[name.Split('.')[0]] as vArray).SetValue(name.Substring(name.IndexOf('.') + 1), value);
                 }
                 else
                 {
                     parent.parent.Error("Var not found!", "Could not find var: " + name.Split('.')[0] + " in class: " + type.getName());
                 }
             }
         }
         catch
         {
         }
     }
     else
     {
         if (fields.ContainsKey(name))
         {
             if (type.getField(name).access)
             {
                 fields[name] = value;
             }
             else
             {
                 parent.parent.Error("Variable not public", "The variable: " + name + " is not public and cannot be edited");
             }
         }
     }
 }