SUPER Space invader : Turbo edition DX - VS GOD 1.0.0
A simple space invader ripoff
transition_contract.h
Go to the documentation of this file.
1
11#ifndef TRANSITION_CONTRACT_H
12#define TRANSITION_CONTRACT_H
13
14#include <functional>
15#include <vector>
16
17#include "itransitionable.h"
18#include "transition_types.h"
19
20namespace nsTransition
21{
22
28{
29public:
38 };
39
53 TransitionContract(ITransitionable& target, const int& id,
54 const SystemDuration_t& duration, const std::vector<float>& destination,
55 const SystemDuration_t& delay = std::chrono::seconds::zero(),
56 const TransitionMode& transitionMode = TransitionMode::MODE_FINITE);
57
63 const int& getId() const;
64
70 const ITransitionable& getTarget() const;
71
78
84 const std::vector<float>& getBeginning() const;
85
91 const std::vector<float>& getDestination() const;
92
99
105 void setDestinationCallback(const std::function<void()>& callback);
106
107protected:
114 const int m_id;
115
122
129
133 std::vector<float> m_beginning;
134
138 const std::vector<float> m_destination;
139
144
149
153 std::function<void()> m_destinationCallback;
154}; // class TransitionContract
155
156} // namespace nsTransition
157
158#endif // TRANSITION_CONTRACT_H
Une classe abstraite pour n'importe quelle élément pouvant effectuer une transition entre deux états.
Une classe contenant des paramètres pour créer une transition.
SystemDuration_t m_duration
m_duration : La durée de la transition
ITransitionable & m_target
m_target : Une référence vers une instance d'une classe dérivée d'ITransitionable
const int & getId() const
Retourne l'ID de transition, utilisé par la cible pour connaitre les valeurs a utiliser.
TransitionMode
TransitionMode : Liste de tout les modes de transition.
const ITransitionable & getTarget() const
Retourne la cible de transition.
const int m_id
m_id : L'ID de la transition
SystemDuration_t m_delay
m_delay : Délai a attendre avant que la transition ne démarre
std::vector< float > m_beginning
m_beginning : Contient les valeurs de départ
const std::vector< float > & getBeginning() const
Retourne les valeurs de départ.
TransitionContract(ITransitionable &target, const int &id, const SystemDuration_t &duration, const std::vector< float > &destination, const SystemDuration_t &delay=std::chrono::seconds::zero(), const TransitionMode &transitionMode=TransitionMode::MODE_FINITE)
Constructeur pour la classe TransitionContract.
void setDestinationCallback(const std::function< void()> &callback)
Définit la fonction de callback a appeler quand la transition est achevée.
const TransitionMode m_transitionMode
m_transitionMode : Le mode de transition
const SystemDuration_t & getDuration() const
Retourne la durée de la transition.
std::function< void()> m_destinationCallback
m_duration : Un pointeur vers la fonction a appeler une fois la transition achevée
const TransitionMode & getTransitionMode() const
Retourne le mode de transition.
const std::vector< float > m_destination
m_destination : Contient les valeurs d'arrivées
const std::vector< float > & getDestination() const
Retourne les valeurs d'arrivée.
Interface pour objet "transitionable".
Espace de nom pour le moteur de transition et ses composants.
std::chrono::duration< float, std::nano > SystemDuration_t
SystemDuration_t : Définition de type stockant une durée exprimée en nanosecondes,...
Définit quelques types pour les transitions.