DarkflameServer/dGame/dPropertyBehaviors/ControlBehaviorMessages/MigrateActionsMessage.h
jadebenn b6af92ef81
refactor: Rewrite BehaviorMessage classes to use member initialization, preferred member naming conventions, and const-ref getters (#1456)
* Split out BehaviorMessage class changes from PR #1452

* remove <string_view> inclusion in ActionContext.h

* add the arguments nullptr check back in

* remove redundant std::string constructor calls

* Update AddStripMessage.cpp - change push_back to emplace_back
2024-02-18 00:38:26 -06:00

39 lines
1.3 KiB
C++

#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<Action>& GetMigratedActions() const noexcept { return m_MigratedActions; }
void SetMigratedActions(std::vector<Action>::const_iterator start, std::vector<Action>::const_iterator end) { m_MigratedActions.assign(start, end); }
private:
int32_t m_SrcActionIndex;
int32_t m_DstActionIndex;
std::vector<Action> m_MigratedActions;
ActionContext m_SourceActionContext;
ActionContext m_DestinationActionContext;
};
#endif //!__MIGRATEACTIONSMESSAGE__H__