Пример #1
0
        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();
        }