Documentation for module 'NDK'

Former-commit-id: 7d8a51d8ad14bfb16a76b8d77c92c776bfb694ab [formerly 1dac8450f2eddf175b3eb2b6675621ea0b2a0df7] [formerly bb4300770d267df0eed5c509ec748c6866f36376 [formerly d15a100319ffc8805c7f93c9bcd936e204dad40b]]
Former-commit-id: 83a4715ed2a3220b7ef4718401d50ce584d275fc [formerly a941a150d510a51daed4322723795d90b6d56724]
Former-commit-id: f46308abb0bc577d73447f6a574ec091a50a9cca
This commit is contained in:
Gawaboumga
2016-08-21 13:48:52 +02:00
parent 2e29e1995f
commit c8c19f5845
75 changed files with 3374 additions and 112 deletions

View File

@@ -0,0 +1,64 @@
#include <NDK/System.hpp>
#include <NDK/Components/NodeComponent.hpp>
#include <NDK/Components/VelocityComponent.hpp>
#include <NDK/World.hpp>
#include <Catch/catch.hpp>
namespace
{
class TestSystem : public Ndk::System<TestSystem>
{
public:
TestSystem()
{
Requires<Ndk::VelocityComponent>();
Excludes<Ndk::NodeComponent>();
}
~TestSystem() = default;
static Ndk::SystemIndex systemIndex;
private:
void OnUpdate(float elapsedTime) override
{
}
};
Ndk::SystemIndex TestSystem::systemIndex;
}
SCENARIO("BaseSystem", "[NDK][BASESYSTEM]")
{
GIVEN("Our TestSystem")
{
Ndk::World world;
Ndk::BaseSystem& system = world.AddSystem<TestSystem>();
REQUIRE(&system.GetWorld() == &world);
WHEN("We add an entity")
{
const Ndk::EntityHandle& entity = world.CreateEntity();
entity->AddComponent<Ndk::VelocityComponent>();
THEN("System should have it")
{
world.Update(1.f);
REQUIRE(system.HasEntity(entity));
}
}
WHEN("We add an entity with excluded component")
{
const Ndk::EntityHandle& entity = world.CreateEntity();
entity->AddComponent<Ndk::VelocityComponent>();
entity->AddComponent<Ndk::NodeComponent>();
THEN("System should not have it")
{
world.Update(1.f);
REQUIRE(!system.HasEntity(entity));
}
}
}
}