Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #ifndef __SP_STORYBOARD_EVENT_H__
00009 #define __SP_STORYBOARD_EVENT_H__
00010
00011
00012 #include "Base/spStandard.hpp"
00013
00014 #ifdef SP_COMPILE_WITH_STORYBOARD
00015
00016
00017 #include "Framework/Tools/spStoryboardTrigger.hpp"
00018 #include "Base/spTimer.hpp"
00019
00020 #include <vector>
00021
00022
00023 namespace sp
00024 {
00025 namespace tool
00026 {
00027
00028
00034 class SP_EXPORT Event : public Trigger
00035 {
00036
00037 public:
00038
00039 virtual ~Event();
00040
00041
00042
00043 virtual void update() = 0;
00044
00045 protected:
00046
00047 Event();
00048
00049 };
00050
00051 class SP_EXPORT EventTimer : public Event
00052 {
00053
00054 public:
00055
00056 EventTimer(u64 Duration);
00057 ~EventTimer();
00058
00059
00060
00061 void update();
00062
00063 void onTriggered();
00064
00065 private:
00066
00067 io::Timer Timer_;
00068
00069 };
00070
00071 class SP_EXPORT TriggerCounter : public Trigger
00072 {
00073
00074 public:
00075
00076 TriggerCounter(u32 Counter = 1);
00077 ~TriggerCounter();
00078
00079
00080
00081 bool canTrigger() const;
00082
00083 void onTriggered();
00084
00085 void reset();
00086 void reset(u32 Counter);
00087
00088 private:
00089
00090
00091
00092 u32 OrigCounter_;
00093 u32 Counter_;
00094
00095 };
00096
00097
00098 class SP_EXPORT TriggerSwitch : public Trigger
00099 {
00100
00101 public:
00102
00103 TriggerSwitch(u32 Selection = 0);
00104 ~TriggerSwitch();
00105
00106
00107
00108 void onTriggered();
00109 void onUntriggered();
00110
00111 private:
00112
00113
00114
00115 u32 Selection_;
00116
00117 };
00118
00119
00120 }
00121
00122 }
00123
00124
00125 #endif
00126
00127 #endif
00128
00129
00130
00131