Exemplo n.º 1
0
    public void SetUp()
    {
        if (HasRed && _redNetwork == null)
        {
            var network = new WireNetwork();

            FloodFill(
                Location,
                wire => wire._hasRed,
                wire => wire._redNetwork = network
                );

            _networks.Add(network);
        }

        if (HasGreen && _greenNetwork == null)
        {
            var network = new WireNetwork();

            FloodFill(
                Location,
                wire => wire._hasGreen,
                wire => wire._greenNetwork = network
                );

            _networks.Add(network);
        }
    }
Exemplo n.º 2
0
    private void Start()
    {
        _redNetwork   = null;
        _greenNetwork = null;

        UpdateAllTextures();
    }
Exemplo n.º 3
0
        /// <summary>
        /// Attempts to send the <paramref name="flux"/> to a connected <seealso cref="WireNetwork"/>. The flux is split among all connected networks.
        /// </summary>
        /// <param name="flux"></param>
        public void ExportFlux(WireNetwork network)
        {
            TerraFlux flux = new TerraFlux(Math.Min((float)StoredFlux, (float)ExportRate));

            //Ran out of TF
            if ((float)flux <= 0)
            {
                return;
            }

            TerraFlux send = flux / NetworkCollection.GetWireNetworksConnectedTo(this).Count;

            network.ImportFlux(this, ref send);

            if ((float)send > 0)
            {
                ImportFlux(ref send);
            }
        }
Exemplo n.º 4
0
 public void TearDown()
 {
     _redNetwork   = null;
     _greenNetwork = null;
 }