00001 00032 #ifndef LL_WL_DAY_CYCLE_H 00033 #define LL_WL_DAY_CYCLE_H 00034 00035 class LLWLDayCycle; 00036 00037 #include "llfloater.h" 00038 00039 #include <vector> 00040 #include <map> 00041 #include <string> 00042 #include "llwlparamset.h" 00043 #include "llwlanimator.h" 00044 00045 class LLWLDayCycle 00046 { 00047 public: 00048 00049 // lists what param sets are used when during the day 00050 std::map<F32, std::string> mTimeMap; 00051 00052 // how long is my day 00053 F32 mDayRate; 00054 00055 public: 00056 00058 LLWLDayCycle(); 00059 00061 ~LLWLDayCycle(); 00062 00064 void loadDayCycle(const LLString & fileName); 00065 00067 void saveDayCycle(const LLString & fileName); 00068 00070 void clearKeys(); 00071 00076 bool addKey(F32 newTime, const LLString & paramName); 00077 00080 bool changeKeyTime(F32 oldTime, F32 newTime); 00081 00084 bool changeKeyParam(F32 time, const LLString & paramName); 00085 00088 bool removeKey(F32 time); 00089 00092 bool getKey(const LLString & name, F32& key); 00093 00096 bool getKeyedParam(F32 time, LLWLParamSet& param); 00097 00100 bool getKeyedParamName(F32 time, LLString & name); 00101 00102 }; 00103 00104 00105 #endif