32 uint8_t *_aiCharacterDetails;
33 uint8_t *_aiCharacterStatic;
34 uint8_t *_aiUpdateNode;
36 uint8_t *_aiDeleteNode;
44 _aiReset(
new uint8_t[
sizeof(AIResetMessage)]),
46 _aiPing(
new uint8_t[
sizeof(AIPingMessage)]),
63 delete[] _aiCharacterDetails;
64 delete[] _aiCharacterStatic;
65 delete[] _aiUpdateNode;
67 delete[] _aiDeleteNode;
79 const int32_t size = IProtocolMessage::peekInt(in);
84 const int streamSize =
static_cast<int>(in.size() -
sizeof(int32_t));
85 if (size > streamSize) {
98 in.erase(in.begin(), std::next(in.begin(),
sizeof(int32_t)));
100 const uint8_t type = in.front();
102 if (type == PROTO_STATE) {
104 }
else if (type == PROTO_SELECT) {
106 }
else if (type == PROTO_PAUSE) {
108 }
else if (type == PROTO_NAMES) {
110 }
else if (type == PROTO_CHANGE) {
112 }
else if (type == PROTO_RESET) {
113 return new (_aiReset) AIResetMessage();
114 }
else if (type == PROTO_STEP) {
116 }
else if (type == PROTO_PING) {
117 return new (_aiPing) AIPingMessage();
118 }
else if (type == PROTO_CHARACTER_DETAILS) {
120 }
else if (type == PROTO_CHARACTER_STATIC) {
122 }
else if (type == PROTO_UPDATENODE) {
124 }
else if (type == PROTO_ADDNODE) {
126 }
else if (type == PROTO_DELETENODE) {
Message for the remote debugging interface.
Definition: AINamesMessage.h:15
Definition: ProtocolMessageFactory.h:22
bool isNewMessageAvailable(const streamContainer &in) const
Checks whether a new message is available in the stream.
Definition: ProtocolMessageFactory.h:78
A protocol message is used for the serialization of the ai states for remote debugging.
Definition: IProtocolMessage.h:60
IProtocolMessage * create(streamContainer &in)
Call this only if isNewMessageAvailable returned true on the same streamContainer before! ...
Definition: ProtocolMessageFactory.h:96
Message for the remote debugging interface.
Definition: AIPauseMessage.h:20
Definition: AICharacterStaticMessage.h:11
Message for the remote debugging interface.
Definition: AICharacterDetailsMessage.h:17
Message for the remote debugging interface.
Definition: AIDeleteNodeMessage.h:16
Message for the remote debugging interface.
Definition: AIChangeMessage.h:16
Message for the remote debugging interface.
Definition: AISelectMessage.h:16
Perform one step if the ai controlled entities are in paused mode.
Definition: AIStepMessage.h:15
Message for the remote debugging interface.
Definition: AIAddNodeMessage.h:16
Definition: NonCopyable.h:8
Message for the remote debugging interface.
Definition: AIUpdateNodeMessage.h:16
Message for the remote debugging interface.
Definition: AIStateMessage.h:17