Gamedev Framework (gf)
1.2.0
A C++17 framework for 2D games
include
gf
Message.h
1
/*
2
* Gamedev Framework (gf)
3
* Copyright (C) 2016-2022 Julien Bernard
4
*
5
* This software is provided 'as-is', without any express or implied
6
* warranty. In no event will the authors be held liable for any damages
7
* arising from the use of this software.
8
*
9
* Permission is granted to anyone to use this software for any purpose,
10
* including commercial applications, and to alter it and redistribute it
11
* freely, subject to the following restrictions:
12
*
13
* 1. The origin of this software must not be misrepresented; you must not
14
* claim that you wrote the original software. If you use this software
15
* in a product, an acknowledgment in the product documentation would be
16
* appreciated but is not required.
17
* 2. Altered source versions must be plainly marked as such, and must not be
18
* misrepresented as being the original software.
19
* 3. This notice may not be removed or altered from any source distribution.
20
*/
21
#ifndef GF_MESSAGE_H
22
#define GF_MESSAGE_H
23
24
#include <functional>
25
26
#include "CoreApi.h"
27
#include "Id.h"
28
29
namespace
gf
{
30
#ifndef DOXYGEN_SHOULD_SKIP_THIS
31
inline
namespace
v1 {
32
#endif
33
53
struct
GF_CORE_API
Message
{
59
static
const
Id
type =
InvalidId
;
60
};
61
71
enum class
MessageStatus
{
72
Keep
,
73
Die
,
74
};
75
121
using
MessageHandler
= std::function<
MessageStatus
(
Id
,
Message
*)>;
122
123
#ifndef DOXYGEN_SHOULD_SKIP_THIS
124
}
125
#endif
126
}
127
128
#endif
// GF_MESSAGE_H
gf::MessageStatus
MessageStatus
A message status.
Definition:
Message.h:71
gf::MessageHandler
std::function< MessageStatus(Id, Message *)> MessageHandler
A message handler.
Definition:
Message.h:121
gf::MessageStatus::Keep
@ Keep
gf::MessageStatus::Die
@ Die
gf::Id
uint64_t Id
An identifier.
Definition:
Id.h:37
gf::InvalidId
constexpr Id InvalidId
The invalid id (which is 0)
Definition:
Id.h:43
gf
The namespace for gf classes.
gf::Message
The base class for all messages.
Definition:
Message.h:53
Generated by
1.9.4