Example #1
0
        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;
                            }
                        }
                    }
                }
            }
        }
Example #2
0
 public void AddToConnectionFields(ConnectionField connectionField)
 {
     base.AddObject("ConnectionFields", connectionField);
 }
Example #3
0
 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;
 }