Exemple #1
0
        public bool AsyncFinalize()
        {
            m_script.CallIfExists("AsyncFinalize");

            m_renderer      = new BasicSpriteRenderer(Plugin.DefaultResourceLocator, new Vector2(Window.Width, Window.Height));
            m_script["g2d"] = m_renderer;

            if (!m_resources.FinalizeLoad())
            {
                return(false);
            }

            return(true);
        }
Exemple #2
0
        public bool AsyncFinalize()
        {
            if (!m_script.LuaAsyncFinalize())
            {
                return(false);
            }

            if (!m_resources.FinalizeLoad())
            {
                return(false);
            }

            return(true);
        }
Exemple #3
0
        public override bool AsyncFinalize()
        {
            if (!m_highwayView.AsyncFinalize())
            {
                return(false);
            }
            if (!m_background.AsyncFinalize())
            {
                return(false);
            }

            if (!m_resources.FinalizeLoad())
            {
                return(false);
            }

            m_slamSample.Channel = Host.Mixer.MasterChannel;

            return(true);
        }
Exemple #4
0
        public bool AsyncFinalize()
        {
            if (!m_resources.FinalizeLoad())
            {
                return(false);
            }

            m_obj3dResources = new ObjectRenderable3DStaticResources();

            var highwayParams = new MaterialParams();

            highwayParams["LeftColor"]  = m_lVolColor;
            highwayParams["RightColor"] = m_rVolColor;
            highwayParams["Hidden"]     = 0.0f;

            laserMaterial.BlendMode      = BlendMode.Additive;
            laserEntryMaterial.BlendMode = BlendMode.Additive;

            var keyBeamMesh = Mesh.CreatePlane(Vector3.UnitX, Vector3.UnitZ, 1, LENGTH_BASE + LENGTH_ADD, Anchor.BottomCenter);

            m_resources.Manage(keyBeamMesh);

            m_highwayDrawable = new Drawable3D()
            {
                Texture  = highwayTexture,
                Material = highwayMaterial,
                Mesh     = Mesh.CreatePlane(Vector3.UnitX, Vector3.UnitZ, 1, LENGTH_BASE + LENGTH_ADD, Anchor.BottomCenter),
                Params   = highwayParams,
            };
            m_resources.Manage(m_highwayDrawable.Mesh);

            for (int i = 0; i < 6; i++)
            {
                m_keyBeamDrawables[i] = new Drawable3D()
                {
                    Texture  = keyBeamTexture,
                    Mesh     = keyBeamMesh,
                    Material = basicMaterial,
                };
            }

            MaterialParams CreateVolumeParams(int lane)
            {
                var volParams = new MaterialParams();

                volParams["LaserColor"]  = lane == 0 ? m_lVolColor : m_rVolColor;
                volParams["HiliteColor"] = new Vector3(1, 1, 0);
                return(volParams);
            }

            void CreateVolDrawables(int lane, ref Drawable3D entryDrawable, ref Drawable3D exitDrawable)
            {
                entryDrawable = new Drawable3D()
                {
                    Texture  = entryTexture,
                    Mesh     = Mesh.CreatePlane(Vector3.UnitX, Vector3.UnitZ, 2 / 6.0f, 1.0f, Anchor.TopCenter),
                    Material = laserEntryMaterial,
                    Params   = CreateVolumeParams(lane),
                };
                m_resources.Manage(entryDrawable.Mesh);

                exitDrawable = new Drawable3D()
                {
                    Texture  = exitTexture,
                    Mesh     = Mesh.CreatePlane(Vector3.UnitX, Vector3.UnitZ, 2 / 6.0f, 1.0f, Anchor.BottomCenter),
                    Material = laserMaterial,
                    Params   = CreateVolumeParams(lane),
                };
                m_resources.Manage(exitDrawable.Mesh);
            }

            CreateVolDrawables(0, ref m_lVolEntryDrawable, ref m_lVolExitDrawable);
            CreateVolDrawables(1, ref m_rVolEntryDrawable, ref m_rVolExitDrawable);

            return(true);
        }