#ifndef MIGRATEACTIONSMESSAGE_H #define MIGRATEACTIONSMESSAGE_H #include "Action.h" #include "ActionContext.h" #include "BehaviorMessageBase.h" class AMFArrayValue; /** * @brief Sent when a player moves an Action after the first Action to a different Strip * */ class MigrateActionsMessage : public BehaviorMessageBase { public: MigrateActionsMessage(const AMFArrayValue& arguments); [[nodiscard]] int32_t GetSrcActionIndex() const noexcept { return m_SrcActionIndex; } [[nodiscard]] int32_t GetDstActionIndex() const noexcept { return m_DstActionIndex; } [[nodiscard]] const ActionContext& GetSourceActionContext() const noexcept { return m_SourceActionContext; } [[nodiscard]] const ActionContext& GetDestinationActionContext() const noexcept { return m_DestinationActionContext; } [[nodiscard]] const std::vector& GetMigratedActions() const noexcept { return m_MigratedActions; } void SetMigratedActions(std::vector::const_iterator start, std::vector::const_iterator end) { m_MigratedActions.assign(start, end); } private: int32_t m_SrcActionIndex; int32_t m_DstActionIndex; std::vector m_MigratedActions; ActionContext m_SourceActionContext; ActionContext m_DestinationActionContext; }; #endif //!MIGRATEACTIONSMESSAGE_H