#pragma once #include #include #include struct UIObserver { int sourceEntiryId; Framework::Text uimlElementId; int networkApiProcessorId; }; class Entity; class NetworkMessage; class UIObservable { private: Framework::Array observers; Framework::Array> onObserverAdded; Framework::Critical cs; public: void notifyObservers(NetworkMessage* msg); void removeObserver(Entity* zSource, Framework::Text uimlElementId, int networkApiProcessorId); void addObserver(Entity* zSource, Framework::Text uimlElementId, int networkApiProcessorId); void registerOnObserverAddedCall(std::function call); };