Exemplo n.º 1
0
    public static void DirectionOutput(GameObject SourceInstance, ElectricalOIinheritance Thiswire, CableLine RelatedLine = null)
    {
        int SourceInstanceID = SourceInstance.GetInstanceID();

        if (Thiswire.Data.connections.Count == 0)
        {
            Thiswire.FindPossibleConnections();
        }
        if (!(Thiswire.Data.SupplyDependent.ContainsKey(SourceInstanceID)))
        {
            Thiswire.Data.SupplyDependent[SourceInstanceID] = new ElectronicSupplyData();
        }
        ElectricalSynchronisation.OutputSupplyingUsingData = Thiswire.Data.SupplyDependent[SourceInstanceID];
        foreach (ElectricalOIinheritance Related in Thiswire.Data.connections)
        {
            if (!(ElectricalSynchronisation.OutputSupplyingUsingData.Upstream.Contains(Related)) && (!(Thiswire == Related)))
            {
                bool pass = true;
                if (RelatedLine != null)
                {
                    if (RelatedLine.Covering.Contains(Related))
                    {
                        pass = false;
                    }
                }
                if (!(ElectricalSynchronisation.OutputSupplyingUsingData.Downstream.Contains(Related)) && pass)
                {
                    ElectricalSynchronisation.OutputSupplyingUsingData.Downstream.Add(Related);
                    Related.DirectionInput(SourceInstance, Thiswire);
                }
            }
        }
    }
Exemplo n.º 2
0
    public static void DirectionOutput(GameObject SourceInstance, ElectricalOIinheritance Thiswire, CableLine RelatedLine = null)
    {
        int SourceInstanceID = SourceInstance.GetInstanceID();

        if (!(Thiswire.Data.Upstream.ContainsKey(SourceInstanceID)))
        {
            Thiswire.Data.Upstream[SourceInstanceID] = new HashSet <ElectricalOIinheritance>();
        }
        if (!(Thiswire.Data.Downstream.ContainsKey(SourceInstanceID)))
        {
            Thiswire.Data.Downstream[SourceInstanceID] = new HashSet <ElectricalOIinheritance>();
        }
        if (Thiswire.Data.connections.Count <= 0)
        {
            Thiswire.FindPossibleConnections();
        }
        foreach (ElectricalOIinheritance Related in Thiswire.Data.connections)
        {
            if (!(Thiswire.Data.Upstream[SourceInstanceID].Contains(Related)) && (!(Thiswire == Related)))
            {
                bool pass = true;
                if (RelatedLine != null)
                {
                    if (RelatedLine.Covering.Contains(Related))
                    {
                        pass = false;
                    }
                }
                if (!(Thiswire.Data.Downstream[SourceInstanceID].Contains(Related)) && pass)
                {
                    Thiswire.Data.Downstream[SourceInstanceID].Add(Related);
                    Related.DirectionInput(SourceInstance, Thiswire);
                }
            }
        }
    }