public SyncedListOfString(int entityId)
        {
            this.EntityId = entityId;

            initialize       = NetworkMagic.RegisterAtServer <NetworkData>(0, Initialize_AtServer, entityId);
            handleInitialize = NetworkMagic.RegisterAtClient <ListOfStringData>(0, HandleInitialize_AtClient, entityId);
            addItem          = NetworkMagic.RegisterAtAllClients <NameNetworkData>(0, Add_AtAllClients, entityId);
            removeItem       = NetworkMagic.RegisterAtAllClients <NameNetworkData>(1, Remove_AtAllClients, entityId);

            if (NetworkMagic.IsClient)
            {
                initialize(new NetworkData());
            }
        }
        public SyncedTransform2D(int entityId, IGame game, PhysicsBody body = null)
        {
            this.EntityId     = entityId;
            tickTriggerAmount = 1f / tickRate;
            this.game         = game;
            this.body         = body;

            stateBuffer = new Transform2DNetworkData[StateAmount];
            stateTimeOffsets.Add(0f);
            stateBuffer[0] = new Transform2DNetworkData()
            {
                Timestamp = 0.0000000001f, Position = new Vec2(0, 0), Rotation = 0f
            };
            stateBuffer[1] = new Transform2DNetworkData()
            {
                Timestamp = 0f, Position = new Vec2(0, 0), Rotation = 0f
            };
            transmitState = NetworkMagic.RegisterAtAllClients <Transform2DNetworkData>(0, TransmitState_AtAllClients, entityId);
        }