neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
standard_archetypes.hpp
Go to the documentation of this file.
1// entity_archetype.hpp
2/*
3 neogfx C++ App/Game Engine
4 Copyright (c) 2018, 2020 Leigh Johnston. All Rights Reserved.
5
6 This program is free software: you can redistribute it and / or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
18*/
19
20#pragma once
21
22#include <neogfx/neogfx.hpp>
30
31namespace neogfx::game
32{
45
47 {
48 public:
49 sprite_2d_archetype(const entity_archetype_id& aId, std::string const& aName) :
50 renderable_entity_archetype{ aId, aName, { game::sprite::meta::id(), game::mesh_renderer::meta::id(), game::mesh_filter::meta::id(), game::rigid_body::meta::id(), box_collider_2d::meta::id() } }
51 {
52 }
53 sprite_2d_archetype(std::string const& aName) :
54 renderable_entity_archetype{ aName, { game::sprite::meta::id(), game::mesh_renderer::meta::id(), game::mesh_filter::meta::id(), game::rigid_body::meta::id(), box_collider_2d::meta::id() } }
55 {
56 }
57 };
58
60 {
61 public:
62 animated_sprite_archetype(const entity_archetype_id& aId, std::string const& aName) :
63 renderable_entity_archetype{ aId, aName, { game::sprite::meta::id(), game::mesh_renderer::meta::id(), game::animation_filter::meta::id(), game::rigid_body::meta::id(), box_collider::meta::id() } }
64 {
65 }
66 animated_sprite_archetype(std::string const& aName) :
67 renderable_entity_archetype{ aName, { game::sprite::meta::id(), game::mesh_renderer::meta::id(), game::animation_filter::meta::id(), game::rigid_body::meta::id(), box_collider::meta::id() } }
68 {
69 }
70 };
71
73 {
74 public:
75 animated_sprite_2d_archetype(const entity_archetype_id& aId, std::string const& aName) :
76 renderable_entity_archetype{ aId, aName, { game::sprite::meta::id(), game::mesh_renderer::meta::id(), game::animation_filter::meta::id(), game::rigid_body::meta::id(), box_collider_2d::meta::id() } }
77 {
78 }
79 animated_sprite_2d_archetype(std::string const& aName) :
80 renderable_entity_archetype{ aName, { game::sprite::meta::id(), game::mesh_renderer::meta::id(), game::animation_filter::meta::id(), game::rigid_body::meta::id(), box_collider_2d::meta::id() } }
81 {
82 }
83 };
84
86 {
87 public:
88 animation_archetype(const entity_archetype_id& aId, std::string const& aName) :
89 renderable_entity_archetype{ aId, aName, { game::mesh_renderer::meta::id(), game::animation_filter::meta::id() } }
90 {
91 }
92 animation_archetype(std::string const& aName) :
93 renderable_entity_archetype{ aName, { game::mesh_renderer::meta::id(), game::animation_filter::meta::id() } }
94 {
95 }
96 };
97}
animated_sprite_2d_archetype(const entity_archetype_id &aId, std::string const &aName)
animated_sprite_archetype(std::string const &aName)
animated_sprite_archetype(const entity_archetype_id &aId, std::string const &aName)
animation_archetype(const entity_archetype_id &aId, std::string const &aName)
animation_archetype(std::string const &aName)
sprite_2d_archetype(const entity_archetype_id &aId, std::string const &aName)
sprite_2d_archetype(std::string const &aName)
sprite_archetype(std::string const &aName)
sprite_archetype(const entity_archetype_id &aId, std::string const &aName)
static const neolib::uuid & id()
static const neolib::uuid & id()
static const neolib::uuid & id()
static const neolib::uuid & id()
static const neolib::uuid & id()
Definition sprite.hpp:35