/// <summary>
        ///     Atender mensaje InformacionInicial
        /// </summary>
        private void clienteAtenderInformacionInicial(TgcSocketRecvMsg msg)
        {
            //Recibir data
            var vehiculoData = (VehiculoData)msg.readNext();

            //Cargar mesh
            var loader = new TgcSceneLoader();
            var scene  = loader.loadSceneFromFile(vehiculoData.meshPath);

            meshPrincipal = scene.Meshes[0];

            //Ubicarlo en escenario
            meshPrincipal.Position = vehiculoData.initialPos;

            //Camara en 3ra persona
            camaraInterna = new TgcThirdPersonCamera(meshPrincipal.Position, 100, 400);
            camaraInterna.resetValues();
            Camera = camaraInterna;

            //Ver si ya habia mas clientes para cuando nosotros nos conectamos
            var otrosVehiculosCant = (int)msg.readNext();

            for (var i = 0; i < otrosVehiculosCant; i++)
            {
                var vData = (VehiculoData)msg.readNext();
                crearMeshOtroCliente(vData);
            }
        }
        /// <summary>
        /// Arranca a ejecutar un ejemplo.
        /// Para el ejemplo anterior, si hay alguno.
        /// </summary>
        /// <param name="example"></param>
        internal void executeExample(TgcExample example)
        {
            stopCurrentExample();
            userVars.clearVars();
            modifiers.clear();
            resetDefaultConfig();
            fpsCamera.resetValues();
            rotCamera.resetValues();
            thirdPersonCamera.resetValues();

            //Ejecutar init
            try
            {
                example.init();

                //Ver si abrimos una ventana para modo FullScreen
                if (FullScreenEnable)
                {
                    mainForm.removePanel3dFromMainForm();
                    fullScreenPanel.Controls.Add(panel3d);
                    fullScreenPanel.Show(mainForm);
                }

                this.currentExample = example;
                panel3d.Focus();
                mainForm.setCurrentExampleStatus("Ejemplo actual: " + example.getName());
                Logger.log("Ejecutando ejemplo: " + example.getName(), Color.Blue);
            }
            catch (Exception e)
            {
                Logger.logError("Error en init() de ejemplo: " + example.getName(), e);
            }
        }
Exemple #3
0
        /// <summary>
        ///     Iniciar cliente
        /// </summary>
        private void initClient()
        {
            //Crear piso
            var pisoTexture = TgcTexture.createTexture(D3DDevice.Instance.Device, MediaDir + "Texturas\\Quake\\TexturePack2\\rock_wall.jpg");

            piso = TGCBox.fromSize(new TGCVector3(0, -60, 0), new TGCVector3(5000, 5, 5000), pisoTexture);

            //Camara en 3ra persona
            camaraInterna.resetValues();
            camaraInterna = new TgcThirdPersonCamera(meshPrincipal.Position, 100, 400);
            Camara        = camaraInterna;
        }