File indexing completed on 2024-06-16 05:12:00

0001 #include "mockcharacter.h"
0002 
0003 #include <QEvent>
0004 #include <QVariant>
0005 
0006 MockCharacter::MockCharacter(QObject* parent) : QObject(parent)
0007 {
0008     m_properties= {{"healthPoints", "100"},
0009                    {"maxHP", "100"},
0010                    {"minHP", "0"},
0011                    {"avatarPath", tr("unset Path")},
0012                    {"isNpc", "false"},
0013                    {"initiative", "100"},
0014                    {"distancePerTurn", "25.5"},
0015                    {"state", "15"},
0016                    {"currentShape", "-1"},
0017                    {"lifeColor", tr("green")},
0018                    {"initCommand", ""},
0019                    {"hasInitiative", "false"},
0020                    {"name", "Character"},
0021                    {"color", tr("red")},
0022                    {"avatar", ""}};
0023 
0024     for(auto pair : m_properties)
0025     {
0026         setProperty(pair.first.toStdString().c_str(), pair.second);
0027     }
0028 }
0029 
0030 bool MockCharacter::event(QEvent* event)
0031 {
0032     if(event->type() == QEvent::DynamicPropertyChange)
0033     {
0034         auto changeEv= dynamic_cast<QDynamicPropertyChangeEvent*>(event);
0035         emit dataChanged(QString::fromUtf8(changeEv->propertyName()));
0036     }
0037     return QObject::event(event);
0038 }
0039 
0040 void MockCharacter::setCurrentShape(int index)
0041 {
0042     Q_UNUSED(index)
0043     setProperty("currentShape", index);
0044     // emit dataChanged(QStringLiteral("currentShape").arg(index), LogController::Features);
0045 }
0046 void MockCharacter::addShape(const QString& name, const QString& path)
0047 {
0048     Q_UNUSED(name)
0049     Q_UNUSED(path)
0050     emit log(tr("Shape has been added [name: %1, path: %2]").arg(name, path));
0051 }