NcEngine
EngineTypes.h
1#pragma once
2
3#include "Type.h"
4
7#include "ncengine/ecs/Tag.h"
9#include "ncengine/ecs/detail/FreeComponentGroup.h"
10#include "ncengine/graphics/Camera.h"
11#include "ncengine/graphics/Light.h"
16
17namespace nc::type
18{
19REGISTER_TYPE(Vector2, PROPERTY(Vector2, x), PROPERTY(Vector2, y));
20REGISTER_TYPE(Vector3, PROPERTY(Vector3, x), PROPERTY(Vector3, y), PROPERTY(Vector3, z));
21REGISTER_TYPE(Vector4, PROPERTY(Vector4, x), PROPERTY(Vector4, y), PROPERTY(Vector4, z), PROPERTY(Vector4, w));
22REGISTER_TYPE(Quaternion, PROPERTY(Quaternion, x), PROPERTY(Quaternion, y), PROPERTY(Quaternion, z), PROPERTY(Quaternion, w));
23
25REGISTER_TYPE(Entity);
26REGISTER_TYPE(FrameLogic);
27REGISTER_TYPE(Tag);
28REGISTER_TYPE(Transform);
29REGISTER_TYPE(AudioSource);
30REGISTER_TYPE(ecs::detail::FreeComponentGroup);
31REGISTER_TYPE(Camera);
32REGISTER_TYPE(DirectionalLight);
33REGISTER_TYPE(ParticleEmitter);
34REGISTER_TYPE(PointLight);
35REGISTER_TYPE(SpotLight);
36REGISTER_TYPE(StaticMesh);
37REGISTER_TYPE(SkinnedMesh);
38REGISTER_TYPE(CollisionListener);
39REGISTER_TYPE(Constraint);
40REGISTER_TYPE(RigidBody);
41REGISTER_TYPE(Shape);
42} // namespace nc::type