Ejemplo n.º 1
0
        private void Start()
        {
            camara = this.transform;
            if (camara == null)
            {
                Debug.LogError("No existe camara en el objeto.", this);
            }

            motor     = GetComponentInParent <Motor>();
            personaje = motor.transform;

            dirFija       = personaje.forward;
            actualDirFija = personaje.forward;

            barEffect = GetComponent <BarsEffect>();
            if (barEffect == null)
            {
                Debug.LogError("Agrega el efecto BarsEffect al objeto.", this);
            }

            camPos = new PosicionCamara();
            camPos.Init("Camara" + netId, new Vector3(0.0f, 1.6f, 0.2f), new GameObject().transform, motor.transform);

            // Inicializa valores
            offSetPersonaje = personaje.position + new Vector3(0f, distanciaArriba, 0f);
            distArribaLibre = distanciaArriba;
            distLejanaLibre = distanciaLejana;
            dirRigData      = DirRig;
        }
Ejemplo n.º 2
0
    //Calcula la posición de la cámara durante el diálogo según el que está hablando actualmente y
    //lo que debemos mover la cámara respecto a la dirección de este
    public void PosicionDialogo(PosicionCamara posicionCamara, GameObject interactuableGO)
    {
        //La cámara mira al jugador
        if (posicionCamara.lookAt == -1)
        {
            //- 1.769/2 (mitad cuerpo) temporal
            Vector3 translado = targetLookAt.TransformDirection(new Vector3(posicionCamara.coordX, posicionCamara.coordY - 1.769f / 2, posicionCamara.coordZ));

            Vector3 pos = targetLookAt.position + translado;

            //Asignamos la posicion actual con la posicion suavizada
            transform.position = pos;

            //Asignamos el lookAt
            //- 1.769/2 (mitad cuerpo) temporal
            transform.LookAt(targetLookAt.position - new Vector3(0f, 1.769f / 2, 0f));
        }
        //La cámara mira al Interactuable
        else
        {
            Vector3 translado = interactuableGO.transform.TransformDirection(new Vector3(posicionCamara.coordX, posicionCamara.coordY, posicionCamara.coordZ));

            Vector3 pos = interactuableGO.transform.position + translado;

            transform.position = pos;

            transform.LookAt(interactuableGO.transform);
        }
    }
Ejemplo n.º 3
0
 //Posiciona la cámara, si el interactuable no es nulo
 private void PosicionaCamara(PosicionCamara posicionCamara)
 {
     if (interactuable != null)
     {
         TPCamera.instance.PosicionDialogo(posicionCamara, Manager.instance.GetInteractuable(interactuable.ID));
     }
 }
Ejemplo n.º 4
0
        private void Setup()
        {
            dirFija       = personaje.forward;
            actualDirFija = personaje.forward;

            camPos = new PosicionCamara();
            camPos.Init("Camara", new Vector3(0.0f, 1.6f, 0.2f), new GameObject().transform, motor.transform);

            // Inicializa valores
            offSetPersonaje = personaje.position + new Vector3(0f, distanciaArriba, 0f);
        }
Ejemplo n.º 5
0
        public List <DialogueOption> options;                //Contiene las opciones del nodo. Puede estar vacío

        // parameterless constructor for serialization
        public DialogueNode()
        {
            posCamara       = new PosicionCamara();
            intros          = new List <DialogueAddIntro>();
            mensajes        = new List <DialogueAddMensaje>();
            grupos          = new List <DialogueGrupo>();
            gruposVariables = new List <DialogueGrupoVariable>();
            objetos         = new List <DialogueAddObjeto>();
            nombres         = new List <DialogueNombre>();
            rutinas         = new List <DialogueRutina>();
            options         = new List <DialogueOption>();
        }
Ejemplo n.º 6
0
		public List<DialogueOption> options; //Contiene las opciones del nodo. Puede estar vacío

        // parameterless constructor for serialization
        public DialogueNode()
        {
			posCamara = new PosicionCamara();
			intros = new List<DialogueAddIntro>();
			mensajes = new List<DialogueAddMensaje>();
			grupos = new List<DialogueGrupo>();
			gruposVariables = new List<DialogueGrupoVariable>();
			objetos = new List<DialogueAddObjeto>();
			nombres = new List<DialogueNombre>();
			rutinas = new List<DialogueRutina>();
			options = new List<DialogueOption>();
        }
Ejemplo n.º 7
0
	//Calcula la posición de la cámara durante el diálogo según el que está hablando actualmente y
	//lo que debemos mover la cámara respecto a la dirección de este
	public void PosicionDialogo(PosicionCamara posicionCamara, GameObject interactuableGO)
	{
		//La cámara mira al jugador
		if (posicionCamara.lookAt == -1)
		{
			//- 1.769/2 (mitad cuerpo) temporal
			Vector3 translado = targetLookAt.TransformDirection(new Vector3(posicionCamara.coordX, posicionCamara.coordY - 1.769f/2, posicionCamara.coordZ));

			Vector3 pos = targetLookAt.position + translado;

			//Asignamos la posicion actual con la posicion suavizada
			transform.position = pos;

			//Asignamos el lookAt
			//- 1.769/2 (mitad cuerpo) temporal
			transform.LookAt(targetLookAt.position - new Vector3(0f,1.769f/2,0f));
		}
		//La cámara mira al Interactuable
		else
		{
			Vector3 translado = interactuableGO.transform.TransformDirection(new Vector3(posicionCamara.coordX, posicionCamara.coordY, posicionCamara.coordZ));

			Vector3 pos = interactuableGO.transform.position + translado;

			transform.position = pos;

			transform.LookAt(interactuableGO.transform);
		}
	}
Ejemplo n.º 8
0
	//Posiciona la cámara, si el interactuable no es nulo
	private void PosicionaCamara(PosicionCamara posicionCamara)
	{
		if(interactuable != null)
			TPCamera.instance.PosicionDialogo(posicionCamara, Manager.instance.GetInteractuable(interactuable.ID));
	}