#pragma once

#include <Reader.h>
#include <ReferenceCounter.h>

#include "StaticRegistry.h"

class WorldUpdateType : public Framework::ReferenceCounter
{
private:
    int id;

protected:
    WorldUpdateType(int id);
    virtual void applyUpdate(Framework::StreamReader* zReader) = 0;

public:
    void applyUpdateAndCheck(Framework::StreamReader* zReader);
};