summaryrefslogtreecommitdiffstats
path: root/System.c4g/DTSelectionContext.c
diff options
context:
space:
mode:
Diffstat (limited to 'System.c4g/DTSelectionContext.c')
-rw-r--r--System.c4g/DTSelectionContext.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/System.c4g/DTSelectionContext.c b/System.c4g/DTSelectionContext.c
index 2cd4aba..3584efa 100644
--- a/System.c4g/DTSelectionContext.c
+++ b/System.c4g/DTSelectionContext.c
@@ -239,6 +239,11 @@ global func HasLine(bool lineCheck, object target)
}
}
+func GetKitID(object line)
+{
+ return line->~KitID() || line->~LineKitID() || LNKT;
+}
+
func FindConnections(bool single)
{
var targets = FindObjects(Find_AtPoint(), Find_Exclude(this), Find_Or(Find_OCF(OCF_LineConstruct), Find_Func("HasLine")));
@@ -248,7 +253,7 @@ func FindConnections(bool single)
var lines = FindObjects(Find_Action("Connect"), Find_Or(Find_ActionTarget(target), Find_ActionTarget2(target)));
for(var line in lines)
{
- var kit = line->~KitID() || LNKT;
+ var kit = GetKitID(line);
if(GetID(GetActionTarget(0, line)) == kit || GetID(GetActionTarget(1, line)) == kit) // not connected on the other side
{
continue;
@@ -359,7 +364,7 @@ func RemoveLineEntry(id id, int pos)
return false;
}
- var lnkt = CreateObject(connection[1]->~KitID() || LNKT, 0, 0, GetOwner());
+ var lnkt = CreateObject(GetKitID(connection[1]), 0, 0, GetOwner());
Collect(lnkt);
Sound("Connect");
if(GetActionTarget(0, connection[1]) == connection[0])