/// <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); } }
/// <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; }