public override void Render(DeviceContext graphics, Matrix4F matrix, Vector3D renderOrigin, Entity entity, AvatarController avatarController, Timestep renderTimestep, RenderMode renderMode)
        {
            _effectRenderer.Render(entity, this, renderTimestep, graphics, matrix, renderOrigin, renderMode);
            if (renderMode != RenderMode.Normal)
            {
                return;
            }

            var logic = entity.TileStateEntityLogic as SoccerGoalTileStateEntityLogic;

            if (logic == null || !logic.IsClaimed())
            {
                return;
            }

            var renderPosition     = logic.GetCountPosition();
            var distanceBetween    = (avatarController.Physics.Position - renderPosition).LengthSquared();
            var renderCullDistance = Constants.DockedItemCountRenderCullDistanceSquared * 4f;

            if (distanceBetween < renderCullDistance)
            {
                var scale = (2f - (renderCullDistance - (float)distanceBetween) / renderCullDistance) * 2f;
                _billboardNumberRenderer.DrawInteger(logic.GoalCount, renderPosition, Vector3D.Zero, scale);
            }
            _billboardNumberRenderer.Draw(graphics, renderOrigin, matrix);
        }
 public override void Render(DeviceContext graphics, Matrix4F matrix, Vector3D renderOrigin, Entity entity,
                             AvatarController avatarController, Timestep renderTimestep, RenderMode renderMode)
 {
     _effectRenderer.Render(entity, this, renderTimestep, graphics, matrix, renderOrigin, renderMode);
 }