示例#1
0
 public VSMXFunction(VSMXInterpreter interpreter, int args, int localVars, int startLine) : base(interpreter)
 {
     this.args      = args;
     this.localVars = localVars;
     this.startLine = startLine;
     prototype      = new VSMXObject(interpreter, "Function");
 }
示例#2
0
        public static VSMXNativeObject create(VSMXInterpreter interpreter)
        {
            Timer            timer   = new Timer(interpreter);
            VSMXNativeObject @object = new VSMXNativeObject(interpreter, timer);

            timer.Object = @object;

            return(@object);
        }
示例#3
0
        public override VSMXBaseObject createVSMXObject(VSMXInterpreter interpreter, VSMXBaseObject parent, RCOEntry entry)
        {
            VSMXBaseObject @object = base.createVSMXObject(interpreter, parent, entry);

            VSMXObject root = new VSMXObject(interpreter, null);

            @object.setPropertyValue(Resource.rootName, root);

            return(root);
        }
示例#4
0
		public virtual VSMXBaseObject createVSMXObject(VSMXInterpreter interpreter, VSMXBaseObject parent, RCOEntry entry)
		{
			VSMXNativeObject @object = new VSMXNativeObject(interpreter, this);
			Object = @object;
			entry.vsmxBaseObject = @object;
			if (!string.ReferenceEquals(entry.label, null))
			{
				name = entry.label;
				@object.setPropertyValue("name", new VSMXString(interpreter, entry.label));
				parent.setPropertyValue(entry.label, @object);
			}

			if (entry.parent != null && entry.parent.vsmxBaseObject is VSMXNativeObject)
			{
				Parent = ((VSMXNativeObject) entry.parent.vsmxBaseObject).Object;
			}

			return @object;
		}
示例#5
0
        public static VSMXNativeObject create(VSMXInterpreter interpreter)
        {
            GlobalVariables  globalVariables = new GlobalVariables(interpreter);
            VSMXNativeObject @object         = new VSMXNativeObject(interpreter, globalVariables);

            globalVariables.Object = @object;

            @object.setPropertyValue("undefined", VSMXUndefined.singleton);
            @object.setPropertyValue("Array", new VSMXArray(interpreter));
            @object.setPropertyValue("Object", new VSMXObject(interpreter, null));

            @object.setPropertyValue("timer", Timer.create(interpreter));

            @object.setPropertyValue("x", new VSMXNumber(interpreter, 0));
            @object.setPropertyValue("y", new VSMXNumber(interpreter, 0));
            @object.setPropertyValue("width", new VSMXNumber(interpreter, Screen.width));
            @object.setPropertyValue("height", new VSMXNumber(interpreter, Screen.height));

            return(@object);
        }
示例#6
0
 public static void init(VSMXInterpreter interpreter)
 {
     singleton.Interpreter = interpreter;
 }
示例#7
0
 public VSMXNumber(VSMXInterpreter interpreter, int value) : base(interpreter)
 {
     this.value = (float)value;
 }
示例#8
0
 private Timer(VSMXInterpreter interpreter)
 {
     this.interpreter = interpreter;
     timers           = new Dictionary <int, Timer.TimerAction>();
 }
示例#9
0
 public static void init(VSMXInterpreter interpreter)
 {
     singletonTrue.Interpreter  = interpreter;
     singletonFalse.Interpreter = interpreter;
 }
示例#10
0
 private GlobalVariables(VSMXInterpreter interpreter)
 {
 }
示例#11
0
 public VSMXNativeFunction(VSMXInterpreter interpreter, INativeFunction nativeFunction) : base(interpreter, nativeFunction.Args, 0, -1)
 {
     this.nativeFunction = nativeFunction;
     arguments           = new VSMXBaseObject[nativeFunction.Args + 1];
 }
示例#12
0
 public VSMXLocalVarReference(VSMXInterpreter interpreter, VSMXCallState callState, int index) : base(interpreter, null, null)
 {
     this.callState = callState;
     this.index     = index;
 }