Ajout des fonctions update() et getLayer() sur Object
Tous les objets sont susceptibles d'être mis à jour La fonction getLayer() permet d'obtenir la couche d'affichage de l'objet
This commit is contained in:
		
							parent
							
								
									c0ef8ae976
								
							
						
					
					
						commit
						0ea9479a2a
					
				
							
								
								
									
										23
									
								
								object.hpp
								
								
								
								
							
							
						
						
									
										23
									
								
								object.hpp
								
								
								
								
							|  | @ -3,6 +3,7 @@ | |||
| 
 | ||||
| #include <SFML/Graphics.hpp> | ||||
| #include <iostream> | ||||
| #include "state.hpp" | ||||
| 
 | ||||
| class Object { | ||||
| protected: | ||||
|  | @ -15,6 +16,17 @@ public: | |||
|      */ | ||||
|     virtual void draw(sf::RenderWindow& window) = 0; | ||||
| 
 | ||||
|     /**
 | ||||
|      * Met à jour l'objet juste avant le dessin d'une frame | ||||
|      * Reçoit l'état du moteur et le temps écoulé depuis la dernière frame | ||||
|      */ | ||||
|     virtual void update(State state) = 0; | ||||
| 
 | ||||
|     /**
 | ||||
|      * Détermine la couche d'affichage de l'objet | ||||
|      */ | ||||
|     virtual unsigned int getLayer() = 0; | ||||
| 
 | ||||
|     /**
 | ||||
|      * Récupère la position de l'objet | ||||
|      */ | ||||
|  | @ -26,4 +38,15 @@ public: | |||
|     int getCharge(); | ||||
| }; | ||||
| 
 | ||||
| /**
 | ||||
|  * Classe de comparaison des couches deux objets | ||||
|  * Renvoie "true" si le premier objet est sur une couche | ||||
|  * qui doit être dessinée avant celle du second | ||||
|  */ | ||||
| struct CompareObjectLayer { | ||||
|     bool operator()(Object const &obj1, Object const &obj2) { | ||||
|         return obj1.getLayer() < obj2.getLayer(); | ||||
|     } | ||||
| }; | ||||
| 
 | ||||
| #endif | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue