#pragma once namespace Passer::Control { class CoreThing { public: // Participant *client; unsigned char networkId; unsigned char id; // CoreThing *parent; /// @brief The type of Thing unsigned char type; const char *name = nullptr; const char *modelUrl = nullptr; // protected Sensor sensor; static CoreThing *allThings[]; public: CoreThing( // Participant *client, unsigned char networkId, unsigned char thingId, unsigned char thingType = 0); static CoreThing *Get(unsigned char networkId, unsigned char thingId); static bool Add(CoreThing *thing); protected: virtual void Init(); }; } // namespace Passer::Control using namespace Passer::Control;