示例#1
0
        public override void DrawNode(GameWorld world, DebugRender dr, Color color, bool selected)
        {
            dr.DrawBasis(WorldMatrix, 1);
            Factory.Draw(dr, WorldMatrix, color);

            if (selected)
            {
                if (Entity != null)
                {
                    var targets = world.GetTargets(Factory.Target);

                    if (targets.Any())
                    {
                        dr.DrawBox(new BoundingBox(0.5f, 0.5f, 0.5f), WorldMatrix, Color.Yellow);
                    }

                    foreach (var target in targets)
                    {
                        var dir  = target.Position - Entity.Position;
                        var len  = dir.Length();
                        var dirn = dir.Normalized();

                        var p0 = Entity.Position;
                        var p1 = target.Position;

                        dr.DrawLine(p0, p1, Color.Yellow, Color.Yellow, 1, 1);
                    }
                }
            }
        }
示例#2
0
        public override void DrawNode(GameWorld world, DebugRender dr, Color color, bool selected)
        {
            dr.DrawBasis(WorldMatrix, 1, 2);

            if (scene != null && selected)
            {
                for (int i = 0; i < scene.Nodes.Count; i++)
                {
                    var node = scene.Nodes[i];

                    if (node.MeshIndex < 0)
                    {
                        continue;
                    }

                    dr.DrawBox(bboxes[node.MeshIndex], transforms[i] * WorldMatrix, color, 1);
                }
            }
        }