TrueReality  v0.1.1912
EntityType.h
Go to the documentation of this file.
1 /*
2 * True Reality Open Source Game and Simulation Engine
3 * Copyright © 2021 Acid Rain Studios LLC
4 *
5 * This library is free software; you can redistribute it and/or modify it under
6 * the terms of the GNU Lesser General Public License as published by the Free
7 * Software Foundation; either version 3.0 of the License, or (at your option)
8 * any later version.
9 *
10 * This library is distributed in the hope that it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
13 * details.
14 *
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with this library; if not, write to the Free Software Foundation, Inc.,
17 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 *
19 * @author Maxim Serebrennik
20 */
21 
22 #pragma once
23 
24 #include <trManager/Export.h>
25 
27 
28 #include <string>
29 
30 namespace trManager
31 {
38  {
40 
41  public:
42  static const EntityType ACTOR;
43  static const EntityType DIRECTOR;
44  static const EntityType ACTOR_MODULE;
45  static const EntityType INVALID;
46 
47  protected:
48  /*virtual*/ ~EntityType() {}
49 
50  private:
51 
52  EntityType(const std::string& name) : trUtil::EnumerationString(name)
53  {
54  AddInstance(this);
55  }
56  };
57 }
58 
static const EntityType INVALID
Definition: EntityType.h:45
static const EntityType ACTOR_MODULE
Definition: EntityType.h:44
A class that specifies what kind of entity an object is in the Entity System.
Definition: EntityType.h:37
EntityType(const std::string &name)
Definition: EntityType.h:52
static const EntityType ACTOR
Definition: EntityType.h:42
#define DECLARE_ENUM(EnumType)
Helper macros used to create the static data and methods needed to enumerate an EnumerationString.
This class represents a type-safe EnumerationString pattern.
static const EntityType DIRECTOR
Definition: EntityType.h:43
Namespace that holds various utility classes for the engine.
Definition: SmrtPtr.h:208
#define TR_MANAGER_EXPORT