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); } } } }
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); } } }