sea_transport_project/sea_transport/entities/dpoint_entity.h
2020-12-23 19:00:57 +07:00

42 lines
1 KiB
C++

#ifndef DPOINT_ENTITY_H
#define DPOINT_ENTITY_H
#include "IEntity.h"
#include "storage_entity.h"
#include <QString>
#include <QVector>
#include <QRandomGenerator>
#include <QCryptographicHash>
class dpoint_entity : public IEntity {
private:
static entity_id __global_id;
entity_id _id = 0;
entity_id _dispatcher_id;
QString _title;
QVector<storage_entity> _storages;
public:
dpoint_entity();
dpoint_entity(entity_id dispatcher_id, const QString &title);
entity_id id() const;
entity_id dispatcher() const;
QString title() const;
void set_title(const QString &new_title);
const QVector<storage_entity> storages();
storage_entity* get_storage(entity_id sid, bool &success);
void set_storages(QVector<storage_entity> storages);
void remove_storage(entity_id sid);
void add_storage(storage_entity ent);
void serialize(QDataStream &output);
void deserialize(QDataStream &input);
static void preloadGlobalId(entity_id gid);
static entity_id GID();
};
#endif // DPOINT_ENTITY_H