Assign() public méthode

public Assign ( ) : ScriptObject
Résultat ScriptObject
 public override void SetValue(object key, ScriptObject value)
 {
     if (value is ScriptScriptFunction)
     {
         ((ScriptScriptFunction)value).SetTable(this);
     }
     this.m_listObject[key] = value.Assign();
 }
 private bool SetVariableObject(string name, ScriptObject obj)
 {
     if (m_variableDictionary.ContainsKey(name)) {
         m_variableDictionary[name] = obj.Assign();
         return true;
     }
     if (m_parent != null) {
         return m_parent.SetVariableObject(name, obj);
     }
     return false;
 }
Exemple #3
0
 public override void SetValue(object key, ScriptObject value)
 {
     if (value is ScriptNull)
     {
         m_listObject.Remove(key);
     }
     else
     {
         m_listObject[key] = value.Assign();
     }
 }
        public override void SetValue(object key, ScriptObject value)
        {
            if (value is ScriptNull)
            {
                m_listObject.Remove(key);
            }
            else
            {
                if (this.metaTable == null)
                {
                    m_listObject[key] = value.Assign();
                }
                else
                {
                    if (m_listObject.ContainsKey(key))
                    {
                        m_listObject[key] = value.Assign();
                    }
                    else
                    {
                        ScriptObject idx_obj = this.metaTable.GetValue(ScorpioMetaMethod.NEWINDEX);
                        if (idx_obj == null)
                        {
                            m_listObject[key] = value.Assign();
                            return;
                        }

                        if (idx_obj.IsFunction)
                        {
                            ScriptObject[] paramsArr = { this, m_Script.CreateObject(key), value };
                            m_Script.CreateObject(idx_obj.Call(paramsArr));
                        }
                        else if (idx_obj.IsTable)
                        {
                            idx_obj.SetValue(key, value);
                        }
                    }
                }
            }
        }
 public override void SetValue(object key, ScriptObject value)
 {
     if (value is ScriptNull)
     {
         m_listObject.Remove(key);
     }
     else
     {
         //if (value is ScriptScriptFunction) {
         //    var func = (ScriptScriptFunction)value;
         //    if (func.IsStaticFunction) func.SetTable(this);
         //}
         m_listObject[key] = value.Assign();
     }
 }
Exemple #6
0
 public static void SetObject(Dictionary <string, ScriptObject> variables, string key, ScriptObject obj)
 {
     variables[key] = obj.Assign();
 }
 public override void SetValue(object key, ScriptObject value)
 {
     m_listObject[key] = value.Assign();
 }
 public override void SetValue(object key, ScriptObject value)
 {
     m_listObject[key] = value.Assign();
 }
Exemple #9
0
 public static void SetObject(Dictionary<string, ScriptObject> variables, string key, ScriptObject obj)
 {
     variables[key] = obj.Assign();
 }