protected override void Read(SocketEndpoint sendingEndpoint, BinaryReader message, byte changeType)
        {
            base.Read(sendingEndpoint, message, changeType);

            if (SpriteRendererBroadcaster.HasFlag(changeType, SpriteRendererBroadcaster.SpriteRendererChangeType.Sprite))
            {
                Guid spriteGuid = message.ReadGuid();
                Renderer.sprite = ImageService.Instance.GetSprite(spriteGuid);
            }

            if (SpriteRendererBroadcaster.HasFlag(changeType, SpriteRendererBroadcaster.SpriteRendererChangeType.Properties))
            {
                Renderer.adaptiveModeThreshold = message.ReadSingle();
                Renderer.color           = message.ReadColor();
                Renderer.drawMode        = (SpriteDrawMode)message.ReadByte();
                Renderer.flipX           = message.ReadBoolean();
                Renderer.flipY           = message.ReadBoolean();
                Renderer.maskInteraction = (SpriteMaskInteraction)message.ReadByte();
                Renderer.size            = message.ReadVector2();
                Renderer.tileMode        = (SpriteTileMode)message.ReadByte();
            }
        }
        protected override void Read(INetworkConnection connection, BinaryReader message, byte changeType)
        {
            base.Read(connection, message, changeType);

            if (SpriteRendererBroadcaster.HasFlag(changeType, SpriteRendererBroadcaster.SpriteRendererChangeType.Sprite))
            {
                AssetId spriteId = message.ReadAssetId();
                Renderer.sprite = ImageService.Instance.GetSprite(spriteId);
            }

            if (SpriteRendererBroadcaster.HasFlag(changeType, SpriteRendererBroadcaster.SpriteRendererChangeType.Properties))
            {
                Renderer.adaptiveModeThreshold = message.ReadSingle();
                Renderer.color           = message.ReadColor();
                Renderer.drawMode        = (SpriteDrawMode)message.ReadByte();
                Renderer.flipX           = message.ReadBoolean();
                Renderer.flipY           = message.ReadBoolean();
                Renderer.maskInteraction = (SpriteMaskInteraction)message.ReadByte();
                Renderer.size            = message.ReadVector2();
                Renderer.tileMode        = (SpriteTileMode)message.ReadByte();
            }
        }