diff --git a/src/Client/languages/de.ts b/src/Client/languages/de.ts
index d86bd5f..2d1d3ca 100644
--- a/src/Client/languages/de.ts
+++ b/src/Client/languages/de.ts
@@ -73,6 +73,10 @@
Select level
+
+ Store
+
+
PreviewControl
@@ -86,9 +90,9 @@
- SelectLvlView
+ SelectLevelView
- Start
+ Select
diff --git a/src/Client/languages/en.ts b/src/Client/languages/en.ts
index 3cf7938..ee3d98a 100644
--- a/src/Client/languages/en.ts
+++ b/src/Client/languages/en.ts
@@ -73,6 +73,10 @@
Select level
+
+ Store
+
+
PreviewControl
@@ -86,9 +90,9 @@
- SelectLvlView
+ SelectLevelView
- Start
+ Select
diff --git a/src/Client/languages/es.ts b/src/Client/languages/es.ts
index cafd23c..4924ef4 100644
--- a/src/Client/languages/es.ts
+++ b/src/Client/languages/es.ts
@@ -73,6 +73,10 @@
Select level
+
+ Store
+
+
PreviewControl
@@ -86,9 +90,9 @@
- SelectLvlView
+ SelectLevelView
- Start
+ Select
diff --git a/src/Client/languages/fr.ts b/src/Client/languages/fr.ts
index 3cf7938..ee3d98a 100644
--- a/src/Client/languages/fr.ts
+++ b/src/Client/languages/fr.ts
@@ -73,6 +73,10 @@
Select level
+
+ Store
+
+
PreviewControl
@@ -86,9 +90,9 @@
- SelectLvlView
+ SelectLevelView
- Start
+ Select
diff --git a/src/Client/languages/ja.ts b/src/Client/languages/ja.ts
index 3cf7938..ee3d98a 100644
--- a/src/Client/languages/ja.ts
+++ b/src/Client/languages/ja.ts
@@ -73,6 +73,10 @@
Select level
+
+ Store
+
+
PreviewControl
@@ -86,9 +90,9 @@
- SelectLvlView
+ SelectLevelView
- Start
+ Select
diff --git a/src/Client/languages/pl.ts b/src/Client/languages/pl.ts
index 3cf7938..ee3d98a 100644
--- a/src/Client/languages/pl.ts
+++ b/src/Client/languages/pl.ts
@@ -73,6 +73,10 @@
Select level
+
+ Store
+
+
PreviewControl
@@ -86,9 +90,9 @@
- SelectLvlView
+ SelectLevelView
- Start
+ Select
diff --git a/src/Client/languages/ru.ts b/src/Client/languages/ru.ts
index 3cf7938..ee3d98a 100644
--- a/src/Client/languages/ru.ts
+++ b/src/Client/languages/ru.ts
@@ -73,6 +73,10 @@
Select level
+
+ Store
+
+
PreviewControl
@@ -86,9 +90,9 @@
- SelectLvlView
+ SelectLevelView
- Start
+ Select
diff --git a/src/Client/languages/tr.ts b/src/Client/languages/tr.ts
index 3cf7938..ee3d98a 100644
--- a/src/Client/languages/tr.ts
+++ b/src/Client/languages/tr.ts
@@ -73,6 +73,10 @@
Select level
+
+ Store
+
+
PreviewControl
@@ -86,9 +90,9 @@
- SelectLvlView
+ SelectLevelView
- Start
+ Select
diff --git a/src/Client/languages/uk.ts b/src/Client/languages/uk.ts
index 3cf7938..ee3d98a 100644
--- a/src/Client/languages/uk.ts
+++ b/src/Client/languages/uk.ts
@@ -73,6 +73,10 @@
Select level
+
+ Store
+
+
PreviewControl
@@ -86,9 +90,9 @@
- SelectLvlView
+ SelectLevelView
- Start
+ Select
diff --git a/src/Client/languages/zh.ts b/src/Client/languages/zh.ts
index 3cf7938..ee3d98a 100644
--- a/src/Client/languages/zh.ts
+++ b/src/Client/languages/zh.ts
@@ -73,6 +73,10 @@
Select level
+
+ Store
+
+
PreviewControl
@@ -86,9 +90,9 @@
- SelectLvlView
+ SelectLevelView
- Start
+ Select
diff --git a/src/Core/Crawl.qrc b/src/Core/Crawl.qrc
index 0d84981..8e8c34d 100644
--- a/src/Core/Crawl.qrc
+++ b/src/Core/Crawl.qrc
@@ -10,7 +10,6 @@
CrawlModule/Scene.qml
CrawlModule/SettingsView.qml
CrawlModule/SnakeItem.qml
- CrawlModule/SelectLvlView.qml
CrawlModule/DefaultMenu.qml
CrawlModule/AbstractMenuView.qml
CrawlModule/Light.qml
diff --git a/src/Core/Crawl/clientapp.cpp b/src/Core/Crawl/clientapp.cpp
index 5cf76f7..a99fa4a 100644
--- a/src/Core/Crawl/clientapp.cpp
+++ b/src/Core/Crawl/clientapp.cpp
@@ -39,9 +39,9 @@ QByteArray ClientApp::initTheme() {
ILevel *ClientApp::getLastLevel() {
for (const auto &data : qAsConst(_availableLvls)) {
- if (data.model && data.model->world() && _engine->currentUser() &&
- _engine->currentUser()->isUnlocked(data.model->world()->itemId())) {
- return data.model;
+ if (data && data->world() && _engine->currentUser() &&
+ _engine->currentUser()->isUnlocked(data->world()->itemId())) {
+ return data;
}
}
@@ -50,18 +50,13 @@ ILevel *ClientApp::getLastLevel() {
ClientApp::ClientApp() {
_engine = new Engine();
- _menu = new MainMenuModel();
-
- connect(_menu, &MainMenuModel::sigLevelChanged, this, &ClientApp::changeLevel);
}
ClientApp::~ClientApp() {
- delete _menu;
delete _engine;
for (auto it = _availableLvls.begin(); it != _availableLvls.end(); ++it) {
- delete it.value().viewModel;
- delete it.value().model;
+ delete it.value();
}
_availableLvls.clear();
@@ -69,15 +64,15 @@ ClientApp::~ClientApp() {
void ClientApp::initStore(QMultiHash & result) {
for (const auto &data : qAsConst(_availableLvls)) {
- if (data.model && data.model->world())
- result.unite(data.model->world()->childItemsRecursive());
+ if (data && data->world())
+ result.unite(data->world()->childItemsRecursive());
}
}
void ClientApp::changeLevel(int lvl) {
- WordlData data = _availableLvls.value(lvl);
+ ILevel* data = _availableLvls.value(lvl, nullptr);
- if (!data.model) {
+ if (!data) {
QuasarAppUtils::Params::log("Failed to start lvl.", QuasarAppUtils::Error);
return;
}
@@ -89,7 +84,7 @@ void ClientApp::changeLevel(int lvl) {
return;
}
- _engine->setLevel(data.model);
+ _engine->setLevel(data);
}
bool ClientApp::init(QQmlApplicationEngine *engine) {
@@ -104,7 +99,6 @@ bool ClientApp::init(QQmlApplicationEngine *engine) {
engine->addImageProvider(QLatin1String("userItems"), new ImageProvider());
root->setContextProperty("engine", QVariant::fromValue(_engine));
- root->setContextProperty("mainmenu", QVariant::fromValue(_menu));
qmlRegisterUncreatableMetaObject(
WorldStatus::staticMetaObject,
@@ -140,12 +134,7 @@ bool ClientApp::init(QQmlApplicationEngine *engine) {
}
void ClientApp::addLvl(ILevel *levelWordl) {
- WordlData data;
-
- data.model = levelWordl;
- data.viewModel = new WorldViewData(data.model->world());
- _availableLvls.insert(data.model->world()->itemId(), data);
- _menu->addWorldViewModel(data.viewModel);
+ _availableLvls.insert(levelWordl->world()->itemId(), levelWordl);
}
}
diff --git a/src/Core/Crawl/clientapp.h b/src/Core/Crawl/clientapp.h
index 3b55e37..80a8cb5 100644
--- a/src/Core/Crawl/clientapp.h
+++ b/src/Core/Crawl/clientapp.h
@@ -22,19 +22,10 @@ namespace CRAWL {
class Engine;
class IWorld;
-class WorldViewData;
class MainMenuModel;
class IControl;
class Store;
-/**
- * @brief The WordlData struct simple structure that contains information about world.
- */
-struct WordlData {
- WorldViewData* viewModel = nullptr;
- ILevel * model = nullptr;
-};
-
/**
* @brief The ClientApp class This is main class of the Game engine.
*/
@@ -87,8 +78,7 @@ private:
*/
void changeLevel(int lvl);
- QHash _availableLvls;
- MainMenuModel *_menu = nullptr;
+ QHash _availableLvls;
Engine *_engine = nullptr;
};
diff --git a/src/Core/CrawlModule/Crawl.qml b/src/Core/CrawlModule/Crawl.qml
index 8d8351b..7eb6718 100644
--- a/src/Core/CrawlModule/Crawl.qml
+++ b/src/Core/CrawlModule/Crawl.qml
@@ -41,9 +41,8 @@ ApplicationWindow {
MainMenu {
- model: (mainmenu)? mainmenu: null;
+ model: (mainWindow.model)? mainWindow.model.menu: null;
anchors.fill: parent;
- visible: scane.showMenu
}
NotificationServiceView {
diff --git a/src/Core/CrawlModule/MainMenu.qml b/src/Core/CrawlModule/MainMenu.qml
index ad21db9..3b39b98 100644
--- a/src/Core/CrawlModule/MainMenu.qml
+++ b/src/Core/CrawlModule/MainMenu.qml
@@ -11,10 +11,10 @@ import QtQuick.Controls
import QtQuick.Layouts
Item {
- id: item1
+ id: root
property var model: null
- visible: true
+ visible: Boolean(model && model.visible)
z: 1
GridLayout {
@@ -35,7 +35,6 @@ Item {
transformOrigin: Item.Center
-
MainMenuButton {
id: play
text: qsTr("Select level")
@@ -45,6 +44,15 @@ Item {
}
}
+ MainMenuButton {
+ id: store
+ text: qsTr("Store")
+
+ onClicked: {
+ storePopUp.open()
+ }
+ }
+
MainMenuButton {
id: settings
text: qsTr("My Settings")
@@ -70,7 +78,7 @@ Item {
id: settingsPopUp
source: SettingsView {
id: settingsView
- model: item1.model ? item1.model.userSettingsModel: null
+ model: root.model ? root.model.userSettingsModel: null
}
standardButtons: Dialog.Save | Dialog.Cancel | Dialog.RestoreDefaults
@@ -93,19 +101,25 @@ Item {
}
PagePopUp {
- id: selectLvl
- source: SelectLvlView {
+ id: storePopUp
+ source: StoreView {
id: view
- model: item1.model ? item1.model.availableLvlsModel: null
+ model: root.model ? root.model.storeView: null
- onStart: {
- if (!item1.model)
- return;
+ }
- item1.model.newGame(view.selectedLvl)
+ modal: false;
+ width: parent.width * 0.8
+ height: parent.height * 0.8;
+
+ }
+
+ PagePopUp {
+ id: selectLvl
+ source: SelectLevelView {
+ id: selectLvlView
+ model: root.model ? root.model.availableLvlsModel: null
- selectLvl.close();
- }
}
modal: false;
diff --git a/src/Core/CrawlModule/PreviewControl.qml b/src/Core/CrawlModule/PreviewControl.qml
index 3deda36..da6555b 100644
--- a/src/Core/CrawlModule/PreviewControl.qml
+++ b/src/Core/CrawlModule/PreviewControl.qml
@@ -12,7 +12,7 @@ import QtQuick.Controls
import QtQuick.Layouts
AbstractMenuView {
- columns: 2
+ columns: 4
rows: 2
MouseArea {
@@ -20,7 +20,7 @@ AbstractMenuView {
Layout.fillHeight: true
Layout.fillWidth: true
- Layout.columnSpan: 2
+ Layout.columnSpan: 4
Layout.rowSpan: 1
onClicked: {
diff --git a/src/Core/CrawlModule/Scene.qml b/src/Core/CrawlModule/Scene.qml
index 6401b87..7a0c816 100644
--- a/src/Core/CrawlModule/Scene.qml
+++ b/src/Core/CrawlModule/Scene.qml
@@ -5,14 +5,11 @@ import QtQuick.Controls
import QtQuick.Layouts
import QtQuick3D.Particles3D
-// https://doc.qt.io/qt-5/qqmlengine.html#qmlRegisterUncreatableMetaObject
-import engine.worldstatus
View3D {
id: scene;
property var worldModel: null;
- property alias showMenu: privateRoot.showMenu
renderMode: View3D.Offscreen
visible: worldModel && worldModel.visible
@@ -52,7 +49,6 @@ View3D {
property var releativeCameraPosition: (worldModel)? worldModel.cameraReleativePosition: null
property var gameMenu: null
- property bool showMenu: (worldModel)? WorldStatus.Game !== worldModel.worldStatus : false;
function add (cppObjId) {
if (!worldModel) {
@@ -144,12 +140,6 @@ View3D {
console.log("Error loading component: " + privateRoot.gameMenuModel.view, comp.errorString());
}
}
-
- function onShowMenuChanged() {
- if (privateRoot.gameMenu) {
- privateRoot.gameMenu.visible = !showMenu
- }
- }
}
}
}
diff --git a/src/Core/CrawlModule/SelectLevelView.qml b/src/Core/CrawlModule/SelectLevelView.qml
index 75c80cf..9478473 100644
--- a/src/Core/CrawlModule/SelectLevelView.qml
+++ b/src/Core/CrawlModule/SelectLevelView.qml
@@ -7,7 +7,6 @@ import QtQuick.Layouts
Page {
id: store
property var model: null;
- visible: model && model.visible
ColumnLayout {
anchors.fill: parent
ListView {
diff --git a/src/Core/CrawlModule/SelectLvlView.qml b/src/Core/CrawlModule/SelectLvlView.qml
deleted file mode 100644
index 5315e69..0000000
--- a/src/Core/CrawlModule/SelectLvlView.qml
+++ /dev/null
@@ -1,61 +0,0 @@
-//#
-//# Copyright (C) 2021-2021 QuasarApp.
-//# Distributed under the GPLv3 software license, see the accompanying
-//# Everyone is permitted to copy and distribute verbatim copies
-//# of this license document, but changing it is not allowed.
-//#
-
-import QtQuick
-import ViewSolutionsModule
-import QtQuick.Controls
-import QtQuick.Controls.Material
-import QtQuick.Layouts
-
-ColumnLayout {
- id: root
-
- property alias model: list.model
- property string selectedLvl: ""
-
- signal start(var lvlName)
-
- ListView {
- id: list
- Layout.fillHeight: true
- Layout.fillWidth: true
- orientation: ListView.Horizontal
- clip: true
-
- delegate: ImageView {
- property var data : modelData
- hoverColor: "#90f6ff"
- selectedColor: "#90f6ff"
-
- source: data.image
- text: data.name
-
- width: list.height * 1.5
- height: list.height * 0.9
- selected: selectedLvl === data.name
-
- onClicked: {
- selectedLvl = text
- }
- }
- }
-
- Button {
-
- Layout.alignment: Qt.AlignRight
-
- text: qsTr("Start")
- enabled: selectedLvl.length
-
- onClicked: {
- root.start(selectedLvl)
- }
-
- }
-}
-
-
diff --git a/src/Core/CrawlModule/StoreView.qml b/src/Core/CrawlModule/StoreView.qml
index fee908e..10515f1 100644
--- a/src/Core/CrawlModule/StoreView.qml
+++ b/src/Core/CrawlModule/StoreView.qml
@@ -7,7 +7,6 @@ import QtQuick.Layouts
Page {
id: store
property var model: null;
- visible: model && model.visible
ColumnLayout {
anchors.fill: parent
ListView {
diff --git a/src/Core/private/engine.cpp b/src/Core/private/engine.cpp
index e0c421a..72d0944 100644
--- a/src/Core/private/engine.cpp
+++ b/src/Core/private/engine.cpp
@@ -6,6 +6,7 @@
//#
#include "engine.h"
+#include "mainmenumodel.h"
#include
#include
@@ -23,14 +24,15 @@ namespace CRAWL {
Engine::Engine(QObject *parent): QObject(parent) {
_store = new Store();
- _storeView = new StoreViewModel;
_currentUser = new User();
+ _menu = new MainMenuModel();
}
Engine::~Engine() {
stopRenderLoop();
- delete _storeView;
+ delete _menu;
+ delete _currentUser;
}
QObject *Engine::scane() {
@@ -38,7 +40,6 @@ QObject *Engine::scane() {
}
void Engine::setLevel(ILevel *world) {
- _storeView->setVisible(!world);
if (_currentLevel == world)
return ;
@@ -166,6 +167,10 @@ void Engine::renderLoop() {
}
}
+QObject *Engine::menu() const {
+ return _menu;
+}
+
Store *Engine::store() const {
return _store;
}
@@ -181,13 +186,10 @@ User *Engine::currentUser() const {
return _currentUser;
}
-QObject *Engine::storeView() const {
- return _storeView;
-}
void Engine::initStore(const QMultiHash &availabelItems) {
_store->init(availabelItems);
- _storeView->init(_store, _currentUser);
+ static_cast(_menu->storeView())->init(_store, _currentUser);
}
}
diff --git a/src/Core/private/engine.h b/src/Core/private/engine.h
index 01e4f0f..280d161 100644
--- a/src/Core/private/engine.h
+++ b/src/Core/private/engine.h
@@ -21,6 +21,7 @@ class Store;
class StartData;
class User;
class StoreViewModel;
+class MainMenuModel;
/**
* @brief The Engine class
@@ -31,9 +32,10 @@ class Engine : public QObject {
Q_PROPERTY(QObject* player READ player NOTIFY playerChanged)
Q_PROPERTY(QObject* world READ world NOTIFY worldChanged)
Q_PROPERTY(QObject* nest READ nest NOTIFY worldChanged)
- Q_PROPERTY(QObject* storeView READ storeView NOTIFY storeViewChanged)
Q_PROPERTY(QObject* scane READ scane WRITE setScane NOTIFY scaneChanged)
+ Q_PROPERTY(QObject * menu READ menu NOTIFY menuChanged)
+
public:
Engine(QObject * parent = nullptr);
@@ -104,12 +106,6 @@ public:
*/
User *currentUser() const;
- /**
- * @brief storeView This method return pointer to store view model
- * @return pointer to store view model
- */
- QObject *storeView() const;
-
/**
* @brief initStore This method is wrapper of the Store::init method.
* @param availabelItems This is list of available items.
@@ -128,11 +124,19 @@ public:
*/
QObject *nest() const ;
+ /**
+ * @brief menu This is a main menu model.
+ * @return main menu model object.
+ */
+ QObject *menu() const;
+
+
signals:
void scaneChanged();
void playerChanged();
void worldChanged();
- void storeViewChanged();
+
+ void menuChanged();
private slots:
/**
@@ -152,11 +156,11 @@ private:
QObject *_scane = nullptr;
ILevel* _currentLevel = nullptr;
+ MainMenuModel *_menu = nullptr;
quint64 _oldTimeRender = 0;
User *_currentUser = nullptr;
- StoreViewModel *_storeView = nullptr;
Store *_store = nullptr;
QFuture _renderLoopFuture;
diff --git a/src/Core/private/mainmenumodel.cpp b/src/Core/private/mainmenumodel.cpp
index c4c4ef8..7b8eca2 100644
--- a/src/Core/private/mainmenumodel.cpp
+++ b/src/Core/private/mainmenumodel.cpp
@@ -8,6 +8,7 @@
#include
#include "mainmenumodel.h"
#include "settingsviewmodel.h"
+#include "storeviewmodel.h"
#include
@@ -17,28 +18,30 @@ MainMenuModel::MainMenuModel(QObject *ptr): QObject (ptr) {
_conf = QuasarAppUtils::Settings::instance();
_userSettingsModel = new SettingsViewModel(this);
- _availableLvlsModel = new ViewSolutions::ListViewModel(this);
+ _storeView = new StoreViewModel();
+}
+MainMenuModel::~MainMenuModel() {
+ delete _storeView;
}
QObject *MainMenuModel::userSettingsModel() const {
return _userSettingsModel;
}
-QObject *MainMenuModel::availableLvlsModel() const {
- return _availableLvlsModel;
+bool MainMenuModel::getVisible() const {
+ return visible;
}
-void MainMenuModel::addWorldViewModel(QObject * data) {
- _availableLvlsModel->addSource(data);
+void MainMenuModel::setVisible(bool newVisible) {
+ if (visible == newVisible)
+ return;
+ visible = newVisible;
+ emit visibleChanged();
}
-void MainMenuModel::setAvailableLvls(const QList &newData) {
- _availableLvlsModel->setSource(newData);
-}
-
-void MainMenuModel::changeLevel(int lvl) {
- emit sigLevelChanged(lvl);
+QObject *MainMenuModel::storeView() const {
+ return _storeView;
}
}
diff --git a/src/Core/private/mainmenumodel.h b/src/Core/private/mainmenumodel.h
index ed0d22a..eee7dca 100644
--- a/src/Core/private/mainmenumodel.h
+++ b/src/Core/private/mainmenumodel.h
@@ -10,7 +10,6 @@
#include
#include "settings.h"
-#include "worldviewdata.h"
namespace ViewSolutions {
class ListViewModel;
@@ -19,6 +18,7 @@ class ListViewModel;
namespace CRAWL {
class WorldInfo;
+class StoreViewModel;
/**
* @brief The MainMenuModel class This is main class for controll user interface
@@ -28,26 +28,35 @@ class MainMenuModel : public QObject
Q_OBJECT
Q_PROPERTY(QObject* userSettingsModel READ userSettingsModel NOTIFY userSettingsModelChanged)
- Q_PROPERTY(QObject * availableLvlsModel READ availableLvlsModel NOTIFY availableLvlsModelChanged)
+ Q_PROPERTY(bool visible READ getVisible WRITE setVisible NOTIFY visibleChanged)
+ Q_PROPERTY(QObject * storeView READ storeView NOTIFY storeViewChanged)
public:
MainMenuModel(QObject *ptr = nullptr);
+ ~MainMenuModel();
QObject* userSettingsModel() const;
- QObject* availableLvlsModel() const;
- void addWorldViewModel(QObject *);
- void setAvailableLvls(const QList &newData);
- Q_INVOKABLE void changeLevel(int lvl);
+ bool getVisible() const;
+ void setVisible(bool newVisible);
+
+ /**
+ * @brief storeView This method return pointer to store view model
+ * @return pointer to store view model
+ */
+ QObject *storeView() const;
signals:
void userSettingsModelChanged(QObject* userSettingsModel);
- void sigLevelChanged(int lvl);
- void availableLvlsModelChanged();
+
+ void visibleChanged();
+
+ void storeViewChanged();
private:
Settings *_conf = nullptr;
QObject* _userSettingsModel = nullptr;
- ViewSolutions::ListViewModel *_availableLvlsModel = nullptr;
+ bool visible = true;
+ StoreViewModel *_storeView = nullptr;
};
diff --git a/src/Core/private/storeviewmodel.cpp b/src/Core/private/storeviewmodel.cpp
index 51fdcd2..917ba96 100644
--- a/src/Core/private/storeviewmodel.cpp
+++ b/src/Core/private/storeviewmodel.cpp
@@ -16,17 +16,6 @@ void StoreViewModel::init(Store *store, User *user) {
_store = store;
}
-bool StoreViewModel::visible() const {
- return _visible;
-}
-
-void StoreViewModel::setVisible(bool newVisible) {
- if (_visible == newVisible)
- return;
- _visible = newVisible;
- emit visibleChanged();
-}
-
void StoreViewModel::buy(int item) {
if (_store && getUser()) {
_store->buy(*getUser(), item);
diff --git a/src/Core/private/storeviewmodel.h b/src/Core/private/storeviewmodel.h
index ca39aa9..a74746c 100644
--- a/src/Core/private/storeviewmodel.h
+++ b/src/Core/private/storeviewmodel.h
@@ -21,10 +21,6 @@ class User;
class StoreViewModel: public BaseUserListModel
{
Q_OBJECT
- /**
- * @brief visible If you sets thsis proprtye to false then store view qml view will be hide.
- */
- Q_PROPERTY(bool visible READ visible NOTIFY visibleChanged)
public:
StoreViewModel();
@@ -37,18 +33,6 @@ public:
*/
void init(Store * store, User* user);
- /**
- * @brief visible This method return true if the store view is visible.
- * @return true if the store view is visible.
- */
- bool visible() const;
-
- /**
- * @brief setVisible This method chnge the visible state of the qml view of store.
- * @param newVisible This is new value of the qml-store visible
- */
- void setVisible(bool newVisible);
-
/**
* @brief buy This is qml method for receive signal from view about buying item.
* @param item This is item id that user want to buy.
@@ -59,16 +43,9 @@ public:
protected:
const IItem *getItem(int id) const;
-signals:
- /**
- * @brief visibleChanged This slot emited when store visibel changed
- */
- void visibleChanged();
-
private:
Store *_store = nullptr;
- bool _visible = false;
};
}
diff --git a/src/Core/private/worldviewdata.cpp b/src/Core/private/worldviewdata.cpp
deleted file mode 100644
index db4068a..0000000
--- a/src/Core/private/worldviewdata.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-//#
-//# Copyright (C) 2021-2021 QuasarApp.
-//# Distributed under the GPLv3 software license, see the accompanying
-//# Everyone is permitted to copy and distribute verbatim copies
-//# of this license document, but changing it is not allowed.
-//#
-
-#include "worldviewdata.h"
-#include "Crawl/iworld.h"
-namespace CRAWL {
-
-WorldViewData::WorldViewData(const IWorld *data) {
- setWorldObject(data);
-}
-
-QString WorldViewData::name() const {
- if (_worldObject) {
- return _worldObject->itemName();
- }
-
- return "";
-}
-
-QString WorldViewData::desc() const {
- if (_worldObject) {
- return _worldObject->description();
- }
-
- return "";
-}
-
-int WorldViewData::cost() const {
- if (_worldObject) {
- return _worldObject->cost();
- }
-
- return 0;
-}
-
-bool WorldViewData::unlocked() const {
- return m_unlocked || !cost();
-}
-
-void WorldViewData::setUnlocked(bool newUnlocked) {
- if (m_unlocked == newUnlocked)
- return;
- m_unlocked = newUnlocked;
- emit unlockedChanged();
-}
-
-QString WorldViewData::image() const {
- if (_worldObject) {
- return _worldObject->image();
- }
-
- return "";
-}
-
-void WorldViewData::setWorldObject(const IWorld *newWorldObject) {
- if (_worldObject == newWorldObject)
- return;
-
- _worldObject = newWorldObject;
- emit dataChanged();
-
-}
-}
diff --git a/src/Core/private/worldviewdata.h b/src/Core/private/worldviewdata.h
deleted file mode 100644
index 97c8232..0000000
--- a/src/Core/private/worldviewdata.h
+++ /dev/null
@@ -1,52 +0,0 @@
-//#
-//# Copyright (C) 2021-2021 QuasarApp.
-//# Distributed under the GPLv3 software license, see the accompanying
-//# Everyone is permitted to copy and distribute verbatim copies
-//# of this license document, but changing it is not allowed.
-//#
-
-#ifndef WORLDVIEWDATA_H
-#define WORLDVIEWDATA_H
-
-#include
-
-namespace CRAWL {
-
-class IWorld;
-
-/**
- * @brief The WorldViewData class Simaple class for view world status in gui interface.
- */
-class WorldViewData: public QObject
-{
- Q_OBJECT
-
- Q_PROPERTY(QString name READ name NOTIFY dataChanged)
- Q_PROPERTY(QString desc READ desc NOTIFY dataChanged)
- Q_PROPERTY(int cost READ cost NOTIFY dataChanged)
- Q_PROPERTY(bool unlocked READ unlocked WRITE setUnlocked NOTIFY unlockedChanged)
- Q_PROPERTY(QString image READ image NOTIFY dataChanged)
-
-public:
- WorldViewData(const IWorld * data);
- QString name() const;
- QString desc() const;
-
- int cost() const;
- bool unlocked() const;
- void setUnlocked(bool newUnlocked);
-
- QString image() const;
-
- void setWorldObject(const IWorld *newWorldObject);
-
-private:
- bool m_unlocked;
- const IWorld* _worldObject = nullptr;
-
-signals:
- void dataChanged();
- void unlockedChanged();
-};
-}
-#endif // WORLDVIEWDATA_H