#pragma once

#include "ofMain.h"

class ofApp : public ofBaseApp{

	public:
		void setup();
		void update();
		void draw();

		void reset();

		int ancho, alto;
		int escala, ancho_escalado;
		int margen;

		bool proporcion_4_3;
		bool pantallaCompleta;

		// carga texto presentacion
		int estado;
		bool presentacion;

		bool botonStart;

		ofTrueTypeFont font_01; // titulo
    	string titulo;

    	ofTrueTypeFont  font_02;
   		string start;
		string instrucciones;

		// =============================0000
		//img ficha comida

		ofImage comidas[3];
   		ofImage imagenParaMostrar;

    	int coordImgX, coordImgY;

    	bool mostrarImagen;

    	int numeroImagen; // se va a almacenar una variable entera

		// =================================================


		ofSoundPlayer musica;
		
		float velReproduc; // velocidad de reporduccion musical;
		float velReproducMap; // velocidad de reproduccion mapeada

		ofSoundPlayer bienvenida;

		int contadorSonido;
		
		ofSoundPlayer collect;
		ofSoundPlayer hurt;
		ofSoundPlayer high;

		float distancia;
		float distancia02;
		float distancia03;
		float distancia04;
		
		bool colision (int distancia_, int radio_M_, int radio_m_);

		float manipularVelMusic (float velReproduc_, float velReproducMap_);


		  // HUD
		int puntos;

		ofTrueTypeFont fuente_texto_puntos;
  		ofTrueTypeFont fuente_texto_mensaje;

  		string texto_puntos;
  		string texto_mensaje;
  		ofVec2f posicion_texto_mensaje;

 		 // Barra de felicidad
 		 float barra_felicidad_alto;
 		 float barra_felicidad_ancho_inicial;
 		 float barra_felicidad_ancho;

 		 // Tiempo felicidad
 		 float tiempo_total;
  		 ofVec2f posicion_felicidad_tiempo;


		  
		int puntos_energia;
		/*
		ofTrueTypeFont fuente_texto_puntos;
  		ofTrueTypeFont fuente_texto_mensaje;

  		string texto_puntos;
  		
		*/
		string texto_mensaje_energia;
		ofVec2f posicion_texto_mensaje_energia;
		
		// Barra de energia
 		
		 float barra_energia_alto;
 		 float barra_energia_ancho_inicial;
 		 float barra_energia_ancho;

 		 // Tiempo energia
 		 float tiempo_total_energia;
  		 ofVec2f posicion_energia_tiempo;

		 // Para la pausa
  		bool pausa;
		bool energiaCero;
		bool felicidadCero;

		// boton ayuda

		bool ayuda;

		//placa final;

		ofImage placaFinal;

		ofTrueTypeFont font03;  // textosFinales;

		string textosFinales[8];

		int nroTexto, contadorInstrucciones, contadorFinal;

		void keyPressed(int key);
		void keyReleased(int key);
		void mouseMoved(int x, int y );
		void mouseDragged(int x, int y, int button);
		void mousePressed(int x, int y, int button);
		void mouseReleased(int x, int y, int button);
		void mouseEntered(int x, int y);
		void mouseExited(int x, int y);
		void windowResized(int w, int h);
		void dragEvent(ofDragInfo dragInfo);
		void gotMessage(ofMessage msg);
		
};
