#ifndef ADDSTRIPMESSAGE_H #define ADDSTRIPMESSAGE_H #include "ActionContext.h" #include "BehaviorMessageBase.h" #include "StripUiPosition.h" #include class Action; class AMFArrayValue; /** * @brief Sent in 2 contexts: * A player adds an Action A from their toolbox without attaching it to an existing Strip. In this case, only 1 action is sent. * A player moves a Strip from BehaviorState A directly to BehaviorState B. In this case, a list of actions are sent. * */ class AddStripMessage : public BehaviorMessageBase { public: AddStripMessage(const AMFArrayValue& arguments); [[nodiscard]] const StripUiPosition& GetPosition() const noexcept { return m_Position; } [[nodiscard]] const ActionContext& GetActionContext() const noexcept { return m_ActionContext; } [[nodiscard]] const std::vector& GetActionsToAdd() const noexcept { return m_ActionsToAdd; } private: StripUiPosition m_Position; ActionContext m_ActionContext; std::vector m_ActionsToAdd; }; #endif //!ADDSTRIPMESSAGE_H