diff --git a/src/Client/languages/de.ts b/src/Client/languages/de.ts index 8a287e7..12ce0f2 100644 --- a/src/Client/languages/de.ts +++ b/src/Client/languages/de.ts @@ -1,6 +1,17 @@ + + AbstractLvl::AbsLvlSnake + + AbsLvlSnake + + + + AbsLvlSnake Snake + + + AbstractLvl::AbsLvlWorld diff --git a/src/Client/languages/en.ts b/src/Client/languages/en.ts index e65072a..ff6a4b6 100644 --- a/src/Client/languages/en.ts +++ b/src/Client/languages/en.ts @@ -1,6 +1,17 @@ + + AbstractLvl::AbsLvlSnake + + AbsLvlSnake + + + + AbsLvlSnake Snake + + + AbstractLvl::AbsLvlWorld diff --git a/src/Client/languages/es.ts b/src/Client/languages/es.ts index ffbe3b7..285d0f2 100644 --- a/src/Client/languages/es.ts +++ b/src/Client/languages/es.ts @@ -1,6 +1,17 @@ + + AbstractLvl::AbsLvlSnake + + AbsLvlSnake + + + + AbsLvlSnake Snake + + + AbstractLvl::AbsLvlWorld diff --git a/src/Client/languages/fr.ts b/src/Client/languages/fr.ts index e65072a..ff6a4b6 100644 --- a/src/Client/languages/fr.ts +++ b/src/Client/languages/fr.ts @@ -1,6 +1,17 @@ + + AbstractLvl::AbsLvlSnake + + AbsLvlSnake + + + + AbsLvlSnake Snake + + + AbstractLvl::AbsLvlWorld diff --git a/src/Client/languages/ja.ts b/src/Client/languages/ja.ts index e65072a..ff6a4b6 100644 --- a/src/Client/languages/ja.ts +++ b/src/Client/languages/ja.ts @@ -1,6 +1,17 @@ + + AbstractLvl::AbsLvlSnake + + AbsLvlSnake + + + + AbsLvlSnake Snake + + + AbstractLvl::AbsLvlWorld diff --git a/src/Client/languages/pl.ts b/src/Client/languages/pl.ts index e65072a..ff6a4b6 100644 --- a/src/Client/languages/pl.ts +++ b/src/Client/languages/pl.ts @@ -1,6 +1,17 @@ + + AbstractLvl::AbsLvlSnake + + AbsLvlSnake + + + + AbsLvlSnake Snake + + + AbstractLvl::AbsLvlWorld diff --git a/src/Client/languages/ru.ts b/src/Client/languages/ru.ts index e65072a..ff6a4b6 100644 --- a/src/Client/languages/ru.ts +++ b/src/Client/languages/ru.ts @@ -1,6 +1,17 @@ + + AbstractLvl::AbsLvlSnake + + AbsLvlSnake + + + + AbsLvlSnake Snake + + + AbstractLvl::AbsLvlWorld diff --git a/src/Client/languages/tr.ts b/src/Client/languages/tr.ts index e65072a..ff6a4b6 100644 --- a/src/Client/languages/tr.ts +++ b/src/Client/languages/tr.ts @@ -1,6 +1,17 @@ + + AbstractLvl::AbsLvlSnake + + AbsLvlSnake + + + + AbsLvlSnake Snake + + + AbstractLvl::AbsLvlWorld diff --git a/src/Client/languages/uk.ts b/src/Client/languages/uk.ts index e65072a..ff6a4b6 100644 --- a/src/Client/languages/uk.ts +++ b/src/Client/languages/uk.ts @@ -1,6 +1,17 @@ + + AbstractLvl::AbsLvlSnake + + AbsLvlSnake + + + + AbsLvlSnake Snake + + + AbstractLvl::AbsLvlWorld diff --git a/src/Client/languages/zh.ts b/src/Client/languages/zh.ts index e65072a..ff6a4b6 100644 --- a/src/Client/languages/zh.ts +++ b/src/Client/languages/zh.ts @@ -1,6 +1,17 @@ + + AbstractLvl::AbsLvlSnake + + AbsLvlSnake + + + + AbsLvlSnake Snake + + + AbstractLvl::AbsLvlWorld diff --git a/src/Core/Crawl/clientapp.h b/src/Core/Crawl/clientapp.h index 593a5c3..c697900 100644 --- a/src/Core/Crawl/clientapp.h +++ b/src/Core/Crawl/clientapp.h @@ -62,7 +62,7 @@ public: static_assert(std::is_base_of_v, "Plrease use the child classes of the ILevel interface for tegistering new levels in the crawl game."); - addLvl(LevelType().world()); + addLvl(new LevelType()); } private: diff --git a/src/Core/CrawlModule/Crawl.qml b/src/Core/CrawlModule/Crawl.qml index e68014d..c2e1d58 100644 --- a/src/Core/CrawlModule/Crawl.qml +++ b/src/Core/CrawlModule/Crawl.qml @@ -24,13 +24,13 @@ ApplicationWindow { Scene { id: scane; - model: (model)? model.world : null; + worldModel: (model)? model.world : null; anchors.fill: parent; } Scene { id: nest; - model: (model)? model.world : null; + worldModel: (model)? model.world : null; anchors.fill: parent; } diff --git a/src/CrawlAbstractLvl/abstractlevel.cpp b/src/CrawlAbstractLvl/abstractlevel.cpp index 5a5e7c9..c688db5 100644 --- a/src/CrawlAbstractLvl/abstractlevel.cpp +++ b/src/CrawlAbstractLvl/abstractlevel.cpp @@ -12,6 +12,5 @@ AbstractLevel::AbstractLevel() { initAbstractLvlResources(); setWorld(new AbstractLvl::AbsLvlWorld()); - setPreviewScane(new AbstractLvl::AbsLvlWorld()); } diff --git a/src/CrawlAbstractLvl/private/abslvlsnake.cpp b/src/CrawlAbstractLvl/private/abslvlsnake.cpp index 7aa1338..8dc8a38 100644 --- a/src/CrawlAbstractLvl/private/abslvlsnake.cpp +++ b/src/CrawlAbstractLvl/private/abslvlsnake.cpp @@ -30,5 +30,30 @@ AbsLvlSnake::AbsLvlSnake(): Snake(AUTO_CLASS_NAME) { registerItemType(); } +QString AbsLvlSnake::itemTextId() const { + return "AbsLvlSnake"; +} + +QString AbsLvlSnake::itemName() const { + return tr("AbsLvlSnake"); +} + +QString AbsLvlSnake::description() const { + return tr("AbsLvlSnake Snake"); + +} + +QString AbsLvlSnake::image() const { + return ""; +} + +int AbsLvlSnake::cost() const { + return 0; +} + +int AbsLvlSnake::requiredTier() const { + return 0; +} + } diff --git a/src/CrawlAbstractLvl/private/abslvlsnake.h b/src/CrawlAbstractLvl/private/abslvlsnake.h index 73f3f66..db2c61d 100644 --- a/src/CrawlAbstractLvl/private/abslvlsnake.h +++ b/src/CrawlAbstractLvl/private/abslvlsnake.h @@ -19,6 +19,15 @@ class AbsLvlSnake : public CRAWL::Snake { public: AbsLvlSnake(); + + // IItem interface +public: + QString itemTextId() const override; + QString itemName() const override; + QString description() const override; + QString image() const override; + int cost() const override; + int requiredTier() const override; }; } diff --git a/src/CrawlAbstractLvl/private/abslvlworld.cpp b/src/CrawlAbstractLvl/private/abslvlworld.cpp index a6df278..5d36d6c 100644 --- a/src/CrawlAbstractLvl/private/abslvlworld.cpp +++ b/src/CrawlAbstractLvl/private/abslvlworld.cpp @@ -23,7 +23,7 @@ AbsLvlWorld::AbsLvlWorld() { setCameraRotation(QQuaternion::fromEulerAngles({0,0,0})); } -CRAWL::PlayableObject *AbsLvlWorld::initPlayer() const { +CRAWL::PlayableObject *AbsLvlWorld::initPlayer(int) const { return new AbsLvlSnake(); } diff --git a/src/CrawlAbstractLvl/private/abslvlworld.h b/src/CrawlAbstractLvl/private/abslvlworld.h index 2f1d967..0927625 100644 --- a/src/CrawlAbstractLvl/private/abslvlworld.h +++ b/src/CrawlAbstractLvl/private/abslvlworld.h @@ -19,7 +19,7 @@ public: AbsLvlWorld(); - CRAWL::PlayableObject *initPlayer() const override; + CRAWL::PlayableObject *initPlayer(int type) const override; CRAWL::WorldRule *initWorldRules() override; QString initHdrBackGround() const override; QString description() const override; diff --git a/src/CrawlTestLvl/private/testsnake.cpp b/src/CrawlTestLvl/private/testsnake.cpp index b1c1fc7..0b5affb 100644 --- a/src/CrawlTestLvl/private/testsnake.cpp +++ b/src/CrawlTestLvl/private/testsnake.cpp @@ -25,4 +25,28 @@ TestSnake::TestSnake(): Snake("Snake") { unsigned int TestSnake::itemsCount() const { return 50; } + +QString TestSnake::itemTextId() const { + return "TestSnake"; +} + +QString TestSnake::itemName() const { + return tr("TestSnake"); +} + +QString TestSnake::description() const { + return tr("TestSnake Snake"); +} + +QString TestSnake::image() const { + return ""; +} + +int TestSnake::cost() const { + return 0; +} + +int TestSnake::requiredTier() const { + return 0; +} } diff --git a/src/CrawlTestLvl/private/testsnake.h b/src/CrawlTestLvl/private/testsnake.h index 90d358e..846e550 100644 --- a/src/CrawlTestLvl/private/testsnake.h +++ b/src/CrawlTestLvl/private/testsnake.h @@ -23,6 +23,15 @@ public: // AutoGenerateClaster interface public: unsigned int itemsCount() const override; + + // IItem interface +public: + QString itemTextId() const override; + QString itemName() const override; + QString description() const override; + QString image() const override; + int cost() const override; + int requiredTier() const override; }; } diff --git a/src/CrawlTestLvl/private/world.cpp b/src/CrawlTestLvl/private/world.cpp index 01400a3..7bf6964 100644 --- a/src/CrawlTestLvl/private/world.cpp +++ b/src/CrawlTestLvl/private/world.cpp @@ -73,7 +73,7 @@ void World::initControl(CRAWL::IControl *control) { return IWorld::initControl(control); } -CRAWL::PlayableObject *World::initPlayer() const { +CRAWL::PlayableObject *World::initPlayer(int) const { return new TestSnake(); } diff --git a/src/CrawlTestLvl/private/world.h b/src/CrawlTestLvl/private/world.h index e94b136..e376fb0 100644 --- a/src/CrawlTestLvl/private/world.h +++ b/src/CrawlTestLvl/private/world.h @@ -28,7 +28,7 @@ public: int cost() const override; CRAWL::IControl *initUserInterface() const override; void initControl(CRAWL::IControl *control) override; - CRAWL::PlayableObject *initPlayer() const override; + CRAWL::PlayableObject *initPlayer(int type) const override; CRAWL::IAI *initBackGroundAI() const override; QString itemTextId() const override; int requiredTier() const override; diff --git a/src/CrawlTestLvl/testlevel.cpp b/src/CrawlTestLvl/testlevel.cpp index 32b15ac..fef833d 100644 --- a/src/CrawlTestLvl/testlevel.cpp +++ b/src/CrawlTestLvl/testlevel.cpp @@ -9,10 +9,6 @@ #include "world.h" TestLevel::TestLevel() { - -} - -CRAWL::IWorld *TestLevel::world() { initTestLvlResources(); - return new TestLvl::World(); + setWorld(new TestLvl::World()); } diff --git a/src/CrawlTestLvl/testlevel.h b/src/CrawlTestLvl/testlevel.h index 44c28c4..610152e 100644 --- a/src/CrawlTestLvl/testlevel.h +++ b/src/CrawlTestLvl/testlevel.h @@ -21,10 +21,6 @@ class CRAWL_TEST_LEVEL_EXPORT TestLevel: public CRAWL::ILevel { public: TestLevel(); - - // ILevel interface -public: - CRAWL::IWorld *world() override; }; #endif // TESTLVL_H diff --git a/src/JungleLvl/jungle.cpp b/src/JungleLvl/jungle.cpp index d2a1ea3..971b4b1 100644 --- a/src/JungleLvl/jungle.cpp +++ b/src/JungleLvl/jungle.cpp @@ -10,10 +10,7 @@ #include "world.h" Jungle::Jungle() { - -} - -CRAWL::IWorld *Jungle::world() { initJungleLvlResources(); - return new JungleLvl::World(); + + setWorld(new JungleLvl::World()); } diff --git a/src/JungleLvl/jungle.h b/src/JungleLvl/jungle.h index 53040be..2e91e39 100644 --- a/src/JungleLvl/jungle.h +++ b/src/JungleLvl/jungle.h @@ -26,9 +26,6 @@ class CRAWL_JUNGLE_LEVEL_EXPORT Jungle: public CRAWL::ILevel public: Jungle(); - // ILevel interface -public: - CRAWL::IWorld *world() override; }; #endif // JUNGLE_H diff --git a/src/JungleLvl/private/snake.cpp b/src/JungleLvl/private/snake.cpp index eacf1c1..150bd23 100644 --- a/src/JungleLvl/private/snake.cpp +++ b/src/JungleLvl/private/snake.cpp @@ -31,6 +31,30 @@ Snake::Snake(): CRAWL::Snake("JungleSnake") { {1, 0.5}}); } +QString Snake::itemTextId() const { + return "JungleSnake"; +} + +QString Snake::itemName() const { + return tr("JungleSnake"); +} + +QString Snake::description() const { + return tr("JungleSnake Snake");; +} + +QString Snake::image() const { + return ""; +} + +int Snake::cost() const { + return 0; +} + +int Snake::requiredTier() const { + return 0; +} + unsigned int Snake::itemsCount() const { return 50; } diff --git a/src/JungleLvl/private/snake.h b/src/JungleLvl/private/snake.h index 3d49c0c..d45c228 100644 --- a/src/JungleLvl/private/snake.h +++ b/src/JungleLvl/private/snake.h @@ -23,11 +23,17 @@ class Snake: public CRAWL::Snake public: Snake(); - + QString itemTextId() const override; + QString itemName() const override; + QString description() const override; + QString image() const override; + int cost() const override; + int requiredTier() const override; // IWorldItem interface protected: unsigned int itemsCount() const override; + }; diff --git a/src/JungleLvl/private/world.cpp b/src/JungleLvl/private/world.cpp index b6f146c..7005a19 100644 --- a/src/JungleLvl/private/world.cpp +++ b/src/JungleLvl/private/world.cpp @@ -108,7 +108,7 @@ void World::initControl(CRAWL::IControl *control) { return IWorld::initControl(control); } -CRAWL::PlayableObject *World::initPlayer() const { +CRAWL::PlayableObject *World::initPlayer(int) const { return new Snake(); } diff --git a/src/JungleLvl/private/world.h b/src/JungleLvl/private/world.h index e94f435..063a7e6 100644 --- a/src/JungleLvl/private/world.h +++ b/src/JungleLvl/private/world.h @@ -27,7 +27,7 @@ public: int cost() const override; CRAWL::IControl *initUserInterface() const override; void initControl(CRAWL::IControl *control) override; - CRAWL::PlayableObject *initPlayer() const override; + CRAWL::PlayableObject *initPlayer(int) const override; CRAWL::IAI *initBackGroundAI() const override; QString itemTextId() const override; int requiredTier() const override; diff --git a/tests/units/clasterstest.cpp b/tests/units/clasterstest.cpp index f341674..d9baa3a 100644 --- a/tests/units/clasterstest.cpp +++ b/tests/units/clasterstest.cpp @@ -45,7 +45,7 @@ public: // IWorld interface public: - CRAWL::PlayableObject *initPlayer() const override {return nullptr;}; + CRAWL::PlayableObject *initPlayer(int) const override {return nullptr;}; CRAWL::WorldRule *initWorldRules() override {return nullptr;}; QString initHdrBackGround() const override {return "";}; QString description() const override {return "";};