/// <summary>Creates an ObjectVariable and adds it to the object scope.</summary> public ObjectVariable AddObjectVariable(IVariableInstance variableInstance) { // Add the variable to the object scope. ObjectScope.AddNativeVariable(variableInstance); // Create the ObjectVariable. var result = new ObjectVariable(WorkingInstance, variableInstance); // Add it to the list. _objectVariables.Add(result); return(result); }
protected virtual void Setup() { _instanceReady = true; // Variables _variables = new IVariableInstance[_provider.Variables.Length]; for (int i = 0; i < _variables.Length; i++) { _variables[i] = _provider.Variables[i].GetInstance(this, _typeLinker); ObjectScope.AddNativeVariable(_variables[i]); } // Static variables foreach (var variable in _provider.StaticVariables) { variable.AddInstance(this, _typeLinker); } // Functions foreach (var method in _provider.Methods) { method.AddInstance(this, _typeLinker); } }