//------------------------------------------------------------------------------------------------------------------ /* * METODO QUE SE EJECUTA REPETIDAMENTE CADA FOTOGRAMA DE LA EJECUCION */ void Update() { if (miPersonaje == null) { miPersonaje = GameObject.Find("miPersonaje"); //Si obtengo el personaje y es la primera vez que lo ejecuto, efectuo las acciones } else if (primeraEjecucion) { //Ejecutar una sola vez primeraEjecucion = false; //Obtener referencias movimiento = miPersonaje.GetComponent <Movimiento>(); controlesPantalla = miPersonaje.GetComponent <ControlesPantalla>(); aparienciaWalter = miPersonaje.GetComponent <AparienciaWalter>(); //Establecer ajustes controlesPantalla.setModo(infoPersistente.getModoControl()); controlesPantalla.setSensibilidad(infoPersistente.getSenApunt() / 2); movimiento.setSensibilidadMovi((infoPersistente.getSenMov() * 25) / 8); //Establecer Apariencia aparienciaWalter.establecerApariencia(infoPersistente.getAparienciaActiva()); } }
//------------------------------------------------------------------------------------------------------------------- /* * METODO PARA REGENERAR UN PERSONAJE CUANDO ESTE MUERE */ public void regenerar(int balas, int energia) { //En funcion del cliente que sea lo instanciaremos en un portal u otro if (PhotonNetwork.IsMasterClient) { jugCreado = Photon.Pun.PhotonNetwork.Instantiate(jugador.name, PortalJug1.position, Quaternion.identity, 0); } else { jugCreado = Photon.Pun.PhotonNetwork.Instantiate(jugador.name, PortalJug2.position, Quaternion.identity, 0); } //Establecer el estado inicial del jugador jugCreado.GetComponent <EstadoJugador>().setContEnergia(energia); jugCreado.GetComponent <EstadoJugador>().setNumBalas(balas); jugCreado.GetComponent <EstadoJugador>().setEstado(0); //Establecer ajustes jugCreado.GetComponent <ControlesPantalla>().setModo(infoPersistente.getModoControl()); jugCreado.GetComponent <ControlesPantalla>().setSensibilidad(infoPersistente.getSenApunt() / 2); jugCreado.GetComponent <Movimiento>().setSensibilidadMovi((infoPersistente.getSenMov() * 25) / 8); //Establecer Apariencia jugCreado.GetComponent <AparienciaWalter>().establecerApariencia(infoPersistente.getAparienciaActiva()); //Ejecutar animacion de abrir el portal miPortal.GetComponent <Animator>().SetTrigger("Abrir"); //Ejecutar animacion en el oponente pView.RPC("anim_RPC", Photon.Pun.RpcTarget.OthersBuffered, "Abrir"); abierto = true; }
//------------------------------------------------------------------------------------------------------------------ /* * METODO PARA ACTIVAR LA APARIENCIA EN USO */ public void aparienciaActiva() { //Marcar la apariencia activa for (int i = 0; i < apariencias.Length; i++) { //Si la apariencia activa corresponde con la recorrida, la marcamos. if (infoPersistente.getAparienciaActiva().Equals(apariencias[i].GetComponent <Apariencia>().nombreAspecto)) { apariencias[i].GetComponent <Apariencia>().marcar(); //Ejecutar animacion animatorImagen.SetTrigger(apariencias[i].GetComponent <Apariencia>().getNombre()); animatorImagen2.SetTrigger(apariencias[i].GetComponent <Apariencia>().getNombre()); //En caso contrario la desmarcamos } else { apariencias[i].GetComponent <Apariencia>().desmarcar(); } } }
//------------------------------------------------------------------------------------------------------------------ /* * METODO QUE SE EJECUTA AL INICIAR EL SCRIPT */ void Start() { //Obtener referencias refBD = GameObject.Find("ReferenciaBD").GetComponent <ReferenciaBaseDatos>(); infoPersistente = GameObject.Find("InfoPersistente").GetComponent <InfoPersistente>(); //Establecer los datos a null para comenzar refBD.getBaseDatos().GetReference("usuarios").Child(refBD.getUsuario().UserId).Child("batalla/peticion").SetValueAsync("null"); refBD.getBaseDatos().GetReference("usuarios").Child(refBD.getUsuario().UserId).Child("batalla/respuesta").SetValueAsync("null"); //Poner a la escucha el campo correspondiente para obtener todos los nombres de usuario ocupados de la base de datos refBD.getBaseDatos() .GetReference("usuarios/" + refBD.getUsuario().UserId) .ValueChanged += HandleValueChanged; //Llamada al metodo de actualizar foto por si ha cambiado respecto a la ultima conexion //actualizarFotoPerfil(); //Establecer animacion del personaje animatorImagenWalter.SetTrigger(infoPersistente.getAparienciaActiva()); }