#ifndef MERGESTRIPSMESSAGE_H #define MERGESTRIPSMESSAGE_H #include "Action.h" #include "ActionContext.h" #include "BehaviorMessageBase.h" class AMFArrayValue; /** * @brief Sent when a player adds the first Action of Strip A to a Strip B * */ class MergeStripsMessage : public BehaviorMessageBase { public: MergeStripsMessage(const AMFArrayValue& arguments); [[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_DstActionIndex; std::vector m_MigratedActions; ActionContext m_SourceActionContext; ActionContext m_DestinationActionContext; }; #endif //!MERGESTRIPSMESSAGE_H