public virtual VSMXBaseObject call(VSMXBaseObject[] arguments) { VSMXBaseObject returnValue = null; try { object result = method.invoke(@object, (object[])arguments); if (result is VSMXBaseObject) { returnValue = (VSMXBaseObject)result; } } catch (System.ArgumentException e) { Console.WriteLine("call", e); } catch (IllegalAccessException e) { Console.WriteLine("call", e); } catch (InvocationTargetException e) { Console.WriteLine("call", e); } return(returnValue); }
public PlayAnimAction(BaseAnim[] children, int index, int Length, VSMXBaseObject @object) { this.children = children; this.index = index; this.Length = Length; this.@object = @object; }
public virtual void clearInterval(VSMXBaseObject @object, VSMXBaseObject id) { //if (log.DebugEnabled) { Console.WriteLine(string.Format("Timer.clearInterval {0:D}", id.getPropertyValue(0).IntValue)); } }
private VSMXBaseObject setInterval(VSMXBaseObject @object, VSMXBaseObject function, VSMXBaseObject interval, params VSMXBaseObject[] parameters) { //if (log.DebugEnabled) { Console.WriteLine(string.Format("Timer.setInterval function={0}, interval={1:D}, numberOfParameters={2:D}", function, interval.IntValue, parameters.Length)); for (int i = 0; i < parameters.Length; i++) { Console.WriteLine(string.Format("Timer.setInterval param{0:D}={1}", i, parameters[i])); } } int id = currentTimerId++; long schedule = Scheduler.Now + interval.IntValue * 1000; TimerAction timerAction = new TimerAction(this, id, @object, function, parameters); timers[id] = timerAction; Scheduler.Instance.addAction(schedule, timerAction); // setInterval seems to return an array object. Not sure how to fill it. VSMXArray result = new VSMXArray(interpreter, 1); result.setPropertyValue(0, new VSMXNumber(interpreter, id)); return(result); }
private BasePositionObject getFirstButton(VSMXBaseObject @object) { if (@object.hasPropertyValue(childrenName)) { VSMXBaseObject children = @object.getPropertyValue(childrenName); IList <string> childrenNames = children.PropertyNames; foreach (string childName in childrenNames) { VSMXBaseObject child = children.getPropertyValue(childName); if (child is VSMXNativeObject) { BaseNativeObject childObject = ((VSMXNativeObject)child).Object; if (childObject is UButtonObject) { return((BasePositionObject)childObject); } } BasePositionObject button = getFirstButton(child); if (button != null) { return(button); } } } return(null); }
public virtual void add(VSMXBaseObject @object) { if (@object is VSMXNativeObject) { add(((VSMXNativeObject)@object).Object); } }
public virtual void remove(VSMXBaseObject @object) { if (@object is VSMXNativeObject) { remove(((VSMXNativeObject)@object).Object); } }
public virtual void play(VSMXBaseObject thisObject, VSMXBaseObject @object) { //if (log.DebugEnabled) { Console.WriteLine(string.Format("BaseAnim.play {0}, {1}", thisObject, @object)); } if (thisObject.hasPropertyValue(Resource.childrenName)) { VSMXBaseObject children = thisObject.getPropertyValue(Resource.childrenName); IList <string> names = children.PropertyNames; BaseAnim[] baseAnims = new BaseAnim[names.Count + 1]; int numberBaseAnims = 0; baseAnims[numberBaseAnims++] = this; foreach (string name in names) { VSMXBaseObject child = children.getPropertyValue(name); if (child is VSMXNativeObject) { BaseNativeObject baseNativeObject = ((VSMXNativeObject)child).Object; if (baseNativeObject is BaseAnim) { baseAnims[numberBaseAnims++] = (BaseAnim)baseNativeObject; } } } if (numberBaseAnims > 0) { Scheduler.addAction(new PlayAnimAction(baseAnims, 0, numberBaseAnims, @object)); } } }
protected internal virtual long doPlayReference(ObjectType @ref) { BasePositionObject positionObject = @ref.PositionObject; if (positionObject == null) { return(0); } VSMXBaseObject @object = positionObject.Object; long delay = doPlayReference(@object); if (@object.hasPropertyValue(Resource.childrenName)) { VSMXBaseObject children = @object.getPropertyValue(Resource.childrenName); IList <string> names = children.PropertyNames; if (names != null) { foreach (string name in names) { VSMXBaseObject child = children.getPropertyValue(name); delay = System.Math.Max(delay, doPlayReference(child)); } } } return(delay); }
public TimerAction(Timer outerInstance, int id, VSMXBaseObject @object, VSMXBaseObject function, VSMXBaseObject[] parameters) { this.outerInstance = outerInstance; this.id = id; this.@object = @object; this.function = function; this.parameters = parameters; }
protected internal virtual long doPlay(VSMXBaseObject @object) { //if (log.DebugEnabled) { Console.WriteLine(string.Format("BaseAnim play on {0}", @object)); } return(0); }
public virtual VSMXBaseObject Int(VSMXBaseObject @object, VSMXBaseObject value) { //if (log.DebugEnabled) { Console.WriteLine(string.Format("Int: {0}", value)); } return(new VSMXNumber(@object.Interpreter, value.IntValue)); }
public override void call(VSMXCallState callState) { arguments[0] = callState.ThisObject; for (int i = 1; i < arguments.Length; i++) { arguments[i] = callState.getLocalVar(i); } returnValue = nativeFunction.call(arguments); }
public override bool identity(VSMXBaseObject value) { if (value is VSMXNumber) { return(FloatValue == value.FloatValue); } return(base.identity(value)); }
private long doPlayReference(VSMXBaseObject @object) { if (@object is VSMXNativeObject) { return(doPlayReference(((VSMXNativeObject)@object).Object)); } return(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); }
public virtual VSMXBaseObject isNaN(VSMXBaseObject @object, VSMXBaseObject value) { //if (log.DebugEnabled) { Console.WriteLine(string.Format("isNaN: {0}", value)); } bool isNaN = float.IsNaN(value.FloatValue); return(VSMXBoolean.getValue(isNaN)); }
private void write(VSMXBaseObject @object, params VSMXBaseObject[] strings) { for (int i = 0; i < strings.Length; i++) { writeBuffer.Append(strings[i].StringValue); } //if (log.DebugEnabled) { Console.WriteLine(string.Format("write: '{0}'", writeBuffer.ToString())); } }
public virtual VSMXBaseObject activate(VSMXBaseObject @object) { //if (log.DebugEnabled) { Console.WriteLine(string.Format("PageObject.activate")); } trigger(onActivate); return(@object); }
public virtual void close(VSMXBaseObject @object) { //if (log.DebugEnabled) { Console.WriteLine(string.Format("PageObject.close")); } if (display != null) { hide(@object.getPropertyValue(rootName)); } }
private void onTimer(int id, VSMXBaseObject @object, VSMXBaseObject function, VSMXBaseObject[] parameters) { //if (log.DebugEnabled) { Console.WriteLine(string.Format("Timer.onTimer id={0:D}, object={1}, function={2}, parameters={3}", id, @object, function, parameters)); } if (function is VSMXFunction) { interpreter.interpretFunction((VSMXFunction)function, @object, parameters); } }
private void display(VSMXBaseObject @object) { if (@object.hasPropertyValue(childrenName)) { VSMXBaseObject children = @object.getPropertyValue(childrenName); IList <string> childrenNames = children.PropertyNames; foreach (string childName in childrenNames) { VSMXBaseObject child = children.getPropertyValue(childName); display.add(child); display(child); } } }
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; }
public virtual VSMXBaseObject open(VSMXBaseObject @object) { //if (log.DebugEnabled) { Console.WriteLine(string.Format("PageObject.open {0}, children: {1}", this, @object.getPropertyValue(rootName).getPropertyValue(childrenName))); } trigger(onInit); if (display != null) { display(@object.getPropertyValue(rootName)); BasePositionObject button = getFirstButton(@object.getPropertyValue(rootName)); if (button != null) { button.setFocus(); } } return(@object); }
public virtual VSMXBaseObject setInterval(VSMXBaseObject @object, VSMXBaseObject function, VSMXBaseObject interval, VSMXBaseObject param1) { return(setInterval(@object, function, interval, new VSMXBaseObject[] { param1 })); }
public virtual VSMXBaseObject setInterval(VSMXBaseObject @object, VSMXBaseObject function, VSMXBaseObject interval) { return(setInterval(@object, function, interval, new VSMXBaseObject[0])); }
public virtual INativeFunction getNativeFunction(VSMXBaseObject @object, string name, int numberOfArguments) { INativeFunction nativeFunction = getNativeFunctionInterface(@object, name, numberOfArguments); return(nativeFunction); }
public virtual VSMXBaseObject setInterval(VSMXBaseObject @object, VSMXBaseObject function, VSMXBaseObject interval, VSMXBaseObject param1, VSMXBaseObject param2, VSMXBaseObject param3, VSMXBaseObject param4, VSMXBaseObject param5, VSMXBaseObject param6) { return(setInterval(@object, function, interval, new VSMXBaseObject[] { param1, param2, param3, param4, param5, param6 })); }
public override bool Equals(VSMXBaseObject value) { // null == undefined return(this == value || value == VSMXNull.singleton); }
public virtual void writeln(VSMXBaseObject @object, VSMXBaseObject s1) { writeln(@object, new VSMXBaseObject[] { s1 }); }