Exemple #1
0
        public void ClearInputOutputComponent()
        {
            foreach (var i in InputComponents)
            {
                i.OutputComponents.Remove(this);
            }
            InputComponents.Clear();

            foreach (var o in OutputComponents)
            {
                o.InputComponents.Remove(this);
            }
            OutputComponents.Clear();
        }
Exemple #2
0
 public void AddComponent(Gate Component)
 {
     if (Component != null)
     {
         Components.Add(Component);
         if (Component.Output.Type == Wire.WireType.o)
         {
             OutputComponents.Add(Component);
         }
         bool isInComponent = true;
         if (Component is MultipleInputComponent)
         {
             foreach (Wire w in ((MultipleInputComponent)Component).Input)
             {
                 if (w.Type != Wire.WireType.i)
                 {
                     isInComponent = false;
                     break;
                 }
             }
         }
         else if (Component is OneInputComponent)
         {
             if (((OneInputComponent)Component).Input1.Type != Wire.WireType.i)
             {
                 isInComponent = false;
             }
         }
         else if (Component is Cone)
         {
             foreach (Wire w in ((Cone)Component).cone.Input)
             {
                 if (w.Type != Wire.WireType.i)
                 {
                     isInComponent = false;
                     break;
                 }
             }
         }
         if (isInComponent)
         {
             InputComponents.Add(Component);
         }
     }
 }