コード例 #1
0
        public override void DrawShapes(Camera cam)
        {
            _parent ??= transform.parent;
            var bot = new Vector3(_parent.position.x, 0, _parent.position.z);

            using (Draw.Command(cam))
            {
                Draw.BlendMode    = ShapesBlendMode.Screen;
                Draw.DiscGeometry = DiscGeometry.Flat2D;
                Draw.Matrix       = Matrix4x4.TRS(bot, Quaternion.Euler(90, 0, 0), Vector3.one);
                Draw.Color        = Color.red;
                Draw.Thickness    = _midRadius - _innerRadius;

                const float count = 10;
                for (var i = 0; i < count; i++)
                {
                    var mid = 2 * Mathf.PI / count * i;
                    Draw.Arc(_midRadius - (_midRadius - _innerRadius) / 2, mid - 0.025f, mid + 0.025f, ArcEndCap.None);
                }

                if (_thickness > 0.01f)
                {
                    Draw.Thickness = _thickness;
                    Draw.DashStyle = DashStyle.RelativeDashes(DashType.Basic, 3, 1, DashSnapping.Tiling);
                    Draw.UseDashes = true;
                    Draw.Ring(_outerRadius + 5);
                }
            }
        }