Ejemplo n.º 1
0
        private static void createObjectFromEntry(VSMXInterpreter interpreter, Display display, Controller controller, VSMXBaseObject parent, RCO.RCOEntry entry)
        {
            if (entry.obj == null)
            {
                return;
            }

            VSMXBaseObject @object;

            if (entry.obj != null)
            {
                entry.obj.Display    = display;
                entry.obj.Controller = controller;
                @object = entry.obj.createVSMXObject(interpreter, parent, entry);
            }
            else
            {
                @object = parent;
            }

            if (entry.subEntries != null)
            {
                VSMXObject children = new VSMXObject(interpreter, null);
                @object.setPropertyValue(childrenName, children);
                for (int i = 0; i < entry.subEntries.Length; i++)
                {
                    RCO.RCOEntry child = entry.subEntries[i];
                    if (string.ReferenceEquals(child.label, null))
                    {
                        child.label = string.Format("{0:D4}", i);
                    }
                    createObjectFromEntry(interpreter, display, controller, children, child);
                }
            }
        }
Ejemplo n.º 2
0
        public virtual VSMXBaseObject getPos(VSMXBaseObject @object)
        {
            VSMXInterpreter interpreter = @object.Interpreter;
            VSMXArray       pos         = new VSMXArray(interpreter, 2);

            pos.setPropertyValue(0, new VSMXNumber(interpreter, x));
            pos.setPropertyValue(1, new VSMXNumber(interpreter, y));

            return(pos);
        }
Ejemplo n.º 3
0
        public virtual VSMXBaseObject getSize(VSMXBaseObject @object)
        {
            VSMXInterpreter interpreter = @object.Interpreter;
            VSMXArray       size        = new VSMXArray(interpreter, 2);

            size.setPropertyValue(0, new VSMXNumber(interpreter, width));
            size.setPropertyValue(1, new VSMXNumber(interpreter, height));

            return(size);
        }
Ejemplo n.º 4
0
        private MoviePlayer(VSMXInterpreter interpreter, UmdVideoPlayer umdVideoPlayer, VSMXNativeObject controller)
        {
            this.interpreter    = interpreter;
            this.umdVideoPlayer = umdVideoPlayer;
            this.controller     = controller;

            if (umdVideoPlayer != null)
            {
                umdVideoPlayer.MoviePlayer = this;
            }
        }
Ejemplo n.º 5
0
        public static VSMXNativeObject create(VSMXInterpreter interpreter)
        {
            Math             math    = new Math(interpreter);
            VSMXNativeObject @object = new VSMXNativeObject(interpreter, math);

            math.Object = @object;

            @object.setPropertyValue("PI", new VSMXNumber(interpreter, (float)Math.PI));

            return(@object);
        }
Ejemplo n.º 6
0
        public static VSMXNativeObject create(VSMXInterpreter interpreter, UmdVideoPlayer umdVideoPlayer, VSMXNativeObject controller)
        {
            MoviePlayer      moviePlayer = new MoviePlayer(interpreter, umdVideoPlayer, controller);
            VSMXNativeObject @object     = new VSMXNativeObject(interpreter, moviePlayer);

            moviePlayer.Object = @object;

            @object.setPropertyValue("audioLanguageCode", new VSMXString(interpreter, "en"));
            @object.setPropertyValue("subtitleLanguageCode", new VSMXString(interpreter, "en"));

            return(@object);
        }
Ejemplo n.º 7
0
        public override VSMXBaseObject createVSMXObject(VSMXInterpreter interpreter, VSMXBaseObject parent, RCOEntry entry)
        {
            VSMXBaseObject @object = base.createVSMXObject(interpreter, parent, entry);

            System.Drawing.Bitmap image = Image;
            if (image != null)
            {
                @object.setPropertyValue(Resource.textureName, new VSMXNativeObject(interpreter, new ImageObject(image)));
            }

            return(@object);
        }
Ejemplo n.º 8
0
        public virtual void callCallback(VSMXInterpreter interpreter, string name, VSMXBaseObject[] arguments)
        {
            VSMXBaseObject function = object.getPropertyValue(name);

            if (function is VSMXFunction)
            {
                //if (log.DebugEnabled)
                {
                    Console.WriteLine(string.Format("callCallback {0}, arguments={1}", name, arguments));
                }

                interpreter.interpretFunction((VSMXFunction)function, null, arguments);
            }
        }
Ejemplo n.º 9
0
        public static VSMXNativeObject create(VSMXInterpreter interpreter, Display display, VSMXNativeObject vsmxController, RCO.RCOEntry mainTable)
        {
            Resource         resource = new Resource(interpreter);
            VSMXNativeObject @object  = new VSMXNativeObject(interpreter, resource);

            resource.Object = @object;

            Controller controller = (Controller)vsmxController.Object;

            createTable(interpreter, display, controller, @object, mainTable, RCO.RCO_TABLE_OBJ, "pagetable");
            createTable(interpreter, display, controller, @object, mainTable, RCO.RCO_TABLE_ANIM, "animtable");
            createTable(interpreter, display, controller, @object, mainTable, RCO.RCO_TABLE_SOUND, "soundtable");
            createTable(interpreter, display, controller, @object, mainTable, RCO.RCO_TABLE_IMG, "texturetable");

            return(@object);
        }
Ejemplo n.º 10
0
        private static void createTable(VSMXInterpreter interpreter, Display display, Controller controller, VSMXObject parent, RCO.RCOEntry mainTable, int id, string name)
        {
            VSMXBaseObject table = new VSMXObject(interpreter, null);

            parent.setPropertyValue(name, table);

            RCO.RCOEntry[] entries = findEntries(mainTable, id);

            if (entries != null)
            {
                foreach (RCO.RCOEntry entry in entries)
                {
                    createObjectFromEntry(interpreter, display, controller, table, entry);
                }
            }
        }
Ejemplo n.º 11
0
        public virtual VSMXBaseObject getPos(VSMXBaseObject @object)
        {
            VSMXInterpreter interpreter = @object.Interpreter;
            VSMXArray       pos         = new VSMXArray(interpreter, 3);

            pos.setPropertyValue(0, new VSMXNumber(interpreter, posX.FloatValue));
            pos.setPropertyValue(1, new VSMXNumber(interpreter, posY.FloatValue));
            pos.setPropertyValue(2, new VSMXNumber(interpreter, posZ.FloatValue));

            //if (log.DebugEnabled)
            {
                Console.WriteLine(string.Format("getPos() returning {0}", pos));
            }

            return(pos);
        }
Ejemplo n.º 12
0
        public static VSMXNativeObject create(VSMXInterpreter interpreter, UmdVideoPlayer umdVideoPlayer, string resource)
        {
            Controller       controller = new Controller(interpreter, umdVideoPlayer);
            VSMXNativeObject @object    = new VSMXNativeObject(interpreter, controller);

            controller.Object   = @object;
            controller.resource = resource;

            // Callbacks
            @object.setPropertyValue("onChangeResource", VSMXNull.singleton);
            @object.setPropertyValue("onMenu", VSMXNull.singleton);
            @object.setPropertyValue("onExit", VSMXNull.singleton);
            @object.setPropertyValue("onAutoPlay", VSMXNull.singleton);
            @object.setPropertyValue("onContinuePlay", VSMXNull.singleton);

            return(@object);
        }
Ejemplo n.º 13
0
        public virtual VSMXBaseObject getColor(VSMXBaseObject @object)
        {
            VSMXInterpreter interpreter = @object.Interpreter;
            VSMXArray       color       = new VSMXArray(interpreter, 4);

            color.setPropertyValue(0, new VSMXNumber(interpreter, redScale.FloatValue));
            color.setPropertyValue(1, new VSMXNumber(interpreter, greenScale.FloatValue));
            color.setPropertyValue(2, new VSMXNumber(interpreter, blueScale.FloatValue));
            color.setPropertyValue(3, new VSMXNumber(interpreter, alphaScale.FloatValue));

            //if (log.DebugEnabled)
            {
                Console.WriteLine(string.Format("getColor() returning {0}", color));
            }

            return(color);
        }
Ejemplo n.º 14
0
 private Resource(VSMXInterpreter interpreter)
 {
 }
Ejemplo n.º 15
0
 private Controller(VSMXInterpreter interpreter, UmdVideoPlayer umdVideoPlayer)
 {
     this.interpreter    = interpreter;
     this.umdVideoPlayer = umdVideoPlayer;
     userData            = new VSMXArray(interpreter);
 }
Ejemplo n.º 16
0
 private Math(VSMXInterpreter interpreter)
 {
     this.interpreter = interpreter;
     random_Renamed   = new System.Random();
 }