2024-01-03 13:34:38 +00:00
|
|
|
#ifndef __STRIP__H__
|
|
|
|
#define __STRIP__H__
|
|
|
|
|
|
|
|
#include "Action.h"
|
|
|
|
#include "StripUiPosition.h"
|
|
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
2024-05-18 09:05:55 +00:00
|
|
|
namespace tinyxml2 {
|
|
|
|
class XMLElement;
|
|
|
|
}
|
|
|
|
|
2024-01-03 13:34:38 +00:00
|
|
|
class AMFArrayValue;
|
|
|
|
|
|
|
|
class Strip {
|
|
|
|
public:
|
2024-11-03 04:31:54 +00:00
|
|
|
void Update(float deltaTime);
|
|
|
|
|
2024-02-18 06:38:26 +00:00
|
|
|
template <typename Msg>
|
2024-01-03 13:34:38 +00:00
|
|
|
void HandleMsg(Msg& msg);
|
|
|
|
|
|
|
|
void SendBehaviorBlocksToClient(AMFArrayValue& args) const;
|
2024-02-18 06:38:26 +00:00
|
|
|
bool IsEmpty() const noexcept { return m_Actions.empty(); }
|
|
|
|
|
2024-05-18 09:05:55 +00:00
|
|
|
void Serialize(tinyxml2::XMLElement& strip) const;
|
2024-05-18 10:36:29 +00:00
|
|
|
void Deserialize(const tinyxml2::XMLElement& strip);
|
2024-01-03 13:34:38 +00:00
|
|
|
private:
|
2024-11-03 04:31:54 +00:00
|
|
|
uint32_t m_ActionIndex{ 0 };
|
|
|
|
|
2024-01-03 13:34:38 +00:00
|
|
|
std::vector<Action> m_Actions;
|
|
|
|
StripUiPosition m_Position;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif //!__STRIP__H__
|