From afd4224dfb00268fcee64b30cd533aa296a1680b Mon Sep 17 00:00:00 2001 From: RoheeAxel Date: Tue, 9 Jan 2024 10:04:22 +0100 Subject: [PATCH 1/4] Feat (patapata) --- .../ECS/Component/DefaultComponents/RendererComponents.hpp | 3 --- R-Type/src/Scripts/Pata-pata/Pata-pata.cpp | 1 + 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/GameEngine/src/Exodia/ECS/Component/DefaultComponents/RendererComponents.hpp b/GameEngine/src/Exodia/ECS/Component/DefaultComponents/RendererComponents.hpp index 5fd46d77..55dbe4f2 100644 --- a/GameEngine/src/Exodia/ECS/Component/DefaultComponents/RendererComponents.hpp +++ b/GameEngine/src/Exodia/ECS/Component/DefaultComponents/RendererComponents.hpp @@ -108,7 +108,6 @@ namespace Exodia { if (Texture) { - EXODIA_CORE_ERROR("Has texture {0}", hasTexture); buffer.Resize(buffer.Size + sizeof(Texture->GetAssetHandle()) + sizeof(Texture->GetCoords()) + sizeof(Texture->GetTextureCellSize()) + sizeof(Texture->GetTextureSpriteSize())); @@ -151,10 +150,8 @@ namespace Exodia { else hasTexture = false; offset += sizeof(bool); - std::cout << "Has texture " << hasTexture << std::endl; if (!hasTexture) { - EXODIA_CORE_ERROR("Hasnt texture"); return; } Exodia::AssetHandle assetHandle; diff --git a/R-Type/src/Scripts/Pata-pata/Pata-pata.cpp b/R-Type/src/Scripts/Pata-pata/Pata-pata.cpp index 08ab78b6..f5e3adc1 100644 --- a/R-Type/src/Scripts/Pata-pata/Pata-pata.cpp +++ b/R-Type/src/Scripts/Pata-pata/Pata-pata.cpp @@ -74,6 +74,7 @@ namespace RType { ComponentHandle sprite = GetComponent(); ComponentHandle anim = GetComponent(); + if (!sprite) sprite = HandleEntity->AddComponent(); From c7959f5d12ff4469a87fa453c82e9b54f31d916f Mon Sep 17 00:00:00 2001 From: Clang Robot Date: Tue, 9 Jan 2024 09:06:24 +0000 Subject: [PATCH 2/4] style (*): Committing clang-format changes --- R-Type/src/Scripts/Pata-pata/Pata-pata.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/R-Type/src/Scripts/Pata-pata/Pata-pata.cpp b/R-Type/src/Scripts/Pata-pata/Pata-pata.cpp index f5e3adc1..08ab78b6 100644 --- a/R-Type/src/Scripts/Pata-pata/Pata-pata.cpp +++ b/R-Type/src/Scripts/Pata-pata/Pata-pata.cpp @@ -74,7 +74,6 @@ namespace RType { ComponentHandle sprite = GetComponent(); ComponentHandle anim = GetComponent(); - if (!sprite) sprite = HandleEntity->AddComponent(); From f9999f362af1394f223415cc141b48ae47fadc2a Mon Sep 17 00:00:00 2001 From: ZeNo Date: Tue, 9 Jan 2024 10:17:04 +0100 Subject: [PATCH 3/4] feat(ClockSystem): add clock system --- Client/src/Layer/RTypeLayer.cpp | 1 + R-Type/CMakeLists.txt | 1 + R-Type/R-Type.hpp | 1 + R-Type/src/Scripts/Pata-pata/Pata-pata.cpp | 1 - R-Type/src/Scripts/Star/Star.cpp | 8 ++---- R-Type/src/System/ClockSystem.cpp | 28 ++++++++++++++++++ R-Type/src/System/ClockSystem.hpp | 33 ++++++++++++++++++++++ Server/src/Server.cpp | 2 ++ 8 files changed, 68 insertions(+), 7 deletions(-) create mode 100644 R-Type/src/System/ClockSystem.cpp create mode 100644 R-Type/src/System/ClockSystem.hpp diff --git a/Client/src/Layer/RTypeLayer.cpp b/Client/src/Layer/RTypeLayer.cpp index b65aa1c8..0c78b33a 100644 --- a/Client/src/Layer/RTypeLayer.cpp +++ b/Client/src/Layer/RTypeLayer.cpp @@ -77,6 +77,7 @@ namespace RType { Scenes[GAME]->RegisterSystem(new AnimationSystem()); Scenes[GAME]->RegisterSystem(new MovingSystem(1.5f)); Scenes[GAME]->RegisterSystem(collisionSystem); + Scenes[GAME]->RegisterSystem(new ClockSystem()); // Scenes[GAME]->Subscribe(subscribe); // Scenes[GAME]->Subscribe(subscribe); Scenes[GAME]->Subscribe(collisionSystem); diff --git a/R-Type/CMakeLists.txt b/R-Type/CMakeLists.txt index ca522c07..d0242bd0 100644 --- a/R-Type/CMakeLists.txt +++ b/R-Type/CMakeLists.txt @@ -22,6 +22,7 @@ set(SOURCES_GAME_ENGINE # -- System source files src/System/AnimationSystem.cpp + src/System/ClockSystem.cpp # -- Script source files diff --git a/R-Type/R-Type.hpp b/R-Type/R-Type.hpp index 20ee40f7..5186d282 100644 --- a/R-Type/R-Type.hpp +++ b/R-Type/R-Type.hpp @@ -27,6 +27,7 @@ #include "src/Scripts/Star/Star.hpp" #include "src/System/AnimationSystem.hpp" +#include "src/System/ClockSystem.hpp" #include "src/Event/EntityEventSubscriber.hpp" #include "src/Event/TakeDamage.hpp" diff --git a/R-Type/src/Scripts/Pata-pata/Pata-pata.cpp b/R-Type/src/Scripts/Pata-pata/Pata-pata.cpp index 08ab78b6..1fb0704b 100644 --- a/R-Type/src/Scripts/Pata-pata/Pata-pata.cpp +++ b/R-Type/src/Scripts/Pata-pata/Pata-pata.cpp @@ -192,7 +192,6 @@ namespace RType { float &mytime = clock.Get().ElapsedTime; if (_State == State::ALIVE) { - mytime += ts.GetSeconds(); body.Get().Velocity.y = (float)(amplitude * sin(frequency * mytime * PI)); } } diff --git a/R-Type/src/Scripts/Star/Star.cpp b/R-Type/src/Scripts/Star/Star.cpp index 47152eff..2bfe636f 100644 --- a/R-Type/src/Scripts/Star/Star.cpp +++ b/R-Type/src/Scripts/Star/Star.cpp @@ -64,16 +64,14 @@ namespace RType { } void Star::OnUpdate(Timestep ts) { - ComponentHandle clock = GetComponent(); ComponentHandle transform = GetComponent(); ComponentHandle circle = GetComponent(); World *world = HandleEntity->GetWorld(); - if (!transform || !circle || !clock || !world) { - EXODIA_WARN("No transform, circle, clock or world"); + if (!transform || !circle || !world) { + EXODIA_WARN("No transform, circle or world"); return; } - float &mytime = clock.Get().ElapsedTime; Entity *camera = world->GetEntityByTag("Camera"); if (!camera) { EXODIA_WARN("No camera"); @@ -86,8 +84,6 @@ namespace RType { return; } - mytime += ts.GetMilliseconds(); - CircleRendererComponent &cc = circle.Get(); float seconds = ts.GetSeconds(); diff --git a/R-Type/src/System/ClockSystem.cpp b/R-Type/src/System/ClockSystem.cpp new file mode 100644 index 00000000..285f4b43 --- /dev/null +++ b/R-Type/src/System/ClockSystem.cpp @@ -0,0 +1,28 @@ +/* +** EPITECH PROJECT, 2023 +** R-Type +** File description: +** ClockSystem +*/ + +#include "ClockSystem.hpp" +#include "Component/Clock.hpp" + +namespace RType { + + using namespace Exodia; + + ///////////// + // Methods // + ///////////// + + void ClockSystem::Update(World *world, Timestep ts) { + + world->LockMutex(); + world->ForEach([&](Entity *entity, auto clock) { + clock->ElapsedTime += ts; + EXODIA_INFO("ClockSystem: ElapsedTime: {0} from entity {1}", clock->ElapsedTime, entity->GetComponent().Get().Tag); + }); + world->UnlockMutex(); + } +}; // namespace RType \ No newline at end of file diff --git a/R-Type/src/System/ClockSystem.hpp b/R-Type/src/System/ClockSystem.hpp new file mode 100644 index 00000000..2d072057 --- /dev/null +++ b/R-Type/src/System/ClockSystem.hpp @@ -0,0 +1,33 @@ +/* +** EPITECH PROJECT, 2023 +** R-Type +** File description: +** AnimationSystem +*/ + +#ifndef CLOCKSYSTEM_HPP_ +#define CLOCKSYSTEM_HPP_ + +// R-Type Events includes +#include "Event/AnimationEvent.hpp" + +namespace RType { + + class ClockSystem : public Exodia::EntitySystem { + + ////////////////////////////// + // Constructor & Destructor // + ////////////////////////////// + public: + ClockSystem() = default; + ~ClockSystem() = default; + + ///////////// + // Methods // + ///////////// + public: + void Update(Exodia::World *world, Exodia::Timestep ts) override; + }; +}; // namespace RType + +#endif /* !CLOCKSYSTEM_HPP_ */ \ No newline at end of file diff --git a/Server/src/Server.cpp b/Server/src/Server.cpp index 9156f700..dc154805 100644 --- a/Server/src/Server.cpp +++ b/Server/src/Server.cpp @@ -132,8 +132,10 @@ namespace Exodia { RType::EntityEventSubscriber *subscribe = new RType::EntityEventSubscriber(_Network); CollisionSystem *collisionSystem = new CollisionSystem(); RType::TakeDamageSubscriber *takeDamage = new RType::TakeDamageSubscriber(); + ClockSystem *clockSystem = new ClockSystem(); systems.push_back(collisionSystem); + systems.push_back(clockSystem); InitScene(GAME, systems); From 5b41a1c0d90c6b958559791e016d5005c03158f0 Mon Sep 17 00:00:00 2001 From: Clang Robot Date: Tue, 9 Jan 2024 09:17:52 +0000 Subject: [PATCH 4/4] style (*): Committing clang-format changes --- R-Type/src/System/ClockSystem.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/R-Type/src/System/ClockSystem.cpp b/R-Type/src/System/ClockSystem.cpp index 285f4b43..9075622b 100644 --- a/R-Type/src/System/ClockSystem.cpp +++ b/R-Type/src/System/ClockSystem.cpp @@ -21,7 +21,8 @@ namespace RType { world->LockMutex(); world->ForEach([&](Entity *entity, auto clock) { clock->ElapsedTime += ts; - EXODIA_INFO("ClockSystem: ElapsedTime: {0} from entity {1}", clock->ElapsedTime, entity->GetComponent().Get().Tag); + EXODIA_INFO("ClockSystem: ElapsedTime: {0} from entity {1}", clock->ElapsedTime, + entity->GetComponent().Get().Tag); }); world->UnlockMutex(); }