internal void AddTargetObjects(object[] targetsToAdd, Vector2 pos) { if (targetsToAdd == null) { Log.Error("No targets to add."); return; } // filter null targets var newTargets = targetsToAdd.Where(x => !Util.IsBadRef(x)); if (targetObjects == null) { SetTargetObjects(newTargets); return; } // allow user to abort if the node-count exceeds the limit var combined = targetObjects.Union(newTargets).ToHashSet(); if (!UserAcceptsTargetCount(combined.Count())) { return; } targetObjects = combined; var entitiesToAdd = MakeAssignableEntities(newTargets, selectedBackendType); workspace.AddTargets(entitiesToAdd.ToArray(), pos); UpdateBackend(); }