public void RestoreTouchTriggerIfMissing() { if (TouchTrigger) { if (triggerCopy) { DestroyImmediate(triggerCopy); } return; } List <Trigger> triggers = winAction.GetTargetingTriggers(); if (triggers.Count > 1 && triggers[0] as PickupTrigger) { if (triggerCopy) { DestroyImmediate(triggerCopy); } return; } if (!triggerCopy) { return; } triggerCopy.SetActive(true); triggerCopy.name = triggerCopy.name.Replace("(Clone)", ""); // Re-restablish connectivity var brick = triggerCopy.GetComponent <Brick>(); foreach (var part in brick.parts) { foreach (var field in part.connectivity.connectionFields) { var query = field.QueryConnections(out _); foreach (var(connection, otherConnection) in query) { var position = connection.field.GetPosition(connection); if (ConnectionField.IsConnectionValid(connection, otherConnection, position)) { var connections = ConnectionField.Connect(connection, otherConnection, position); if (connections.Count > 0) { break; } } } } } }
public void AddToConnectionFields(ConnectionField connectionField) { base.AddObject("ConnectionFields", connectionField); }
public static ConnectionField CreateConnectionField(global::System.Guid tenantID, global::System.Guid connectionFieldID, global::System.Guid connectionTypeID, string name, string type, bool isEncrypted, bool isOptional, global::System.DateTime creationTime, global::System.DateTime lastModifiedTime) { ConnectionField connectionField = new ConnectionField(); connectionField.TenantID = tenantID; connectionField.ConnectionFieldID = connectionFieldID; connectionField.ConnectionTypeID = connectionTypeID; connectionField.Name = name; connectionField.Type = type; connectionField.IsEncrypted = isEncrypted; connectionField.IsOptional = isOptional; connectionField.CreationTime = creationTime; connectionField.LastModifiedTime = lastModifiedTime; return connectionField; }