Ejemplo n.º 1
0
        public void UnregisterGrid(UtilityGrid grid)
        {
            if (!fluidGrids.Contains(grid))
            {
                return;
            }

            fluidGrids.Remove(grid);
        }
Ejemplo n.º 2
0
        public void RegisterGrid(UtilityGrid grid)
        {
            if (fluidGrids.Contains(grid))
            {
                return;
            }

            fluidGrids.Add(grid);
        }
Ejemplo n.º 3
0
        public bool PlugIn(IPluggable connection, UtilityGrid grid)
        {
            if (connection == null)
            {
                throw new ArgumentNullException("connection");
            }

            if (!fluidGrids.Contains(grid))
            {
                fluidGrids.Add(grid);
            }

            return(grid != null && grid.PlugIn(connection));
        }
Ejemplo n.º 4
0
        public void Unplug(IPluggable connection, UtilityGrid grid)
        {
            if (connection == null)
            {
                throw new ArgumentNullException("connection");
            }

            if (grid == null)
            {
                throw new ArgumentNullException("grid");
            }

            grid.Unplug(connection);
        }
Ejemplo n.º 5
0
        public bool IsPluggedIn(IPluggable connection, out UtilityGrid grid)
        {
            if (connection == null)
            {
                throw new ArgumentNullException("connection");
            }

            if (IsEmpty)
            {
                grid = null;
                return(false);
            }

            grid = fluidGrids.First(fluidGrid => fluidGrid.IsPluggedIn(connection));
            return(grid != null);
        }
Ejemplo n.º 6
0
        public bool PlugIn(IPluggable connection)
        {
            if (connection == null)
            {
                throw new ArgumentNullException("connection");
            }

            if (IsEmpty)
            {
                powerGrids.Add(new UtilityGrid());
            }

            UtilityGrid powerGrid = powerGrids.First(grid => grid.CanPlugIn(connection));

            return(PlugIn(connection, powerGrid));
        }
Ejemplo n.º 7
0
        public bool PlugIn(IPluggable connection)
        {
            if (connection == null)
            {
                throw new ArgumentNullException("connection");
            }

            if (IsEmpty || !fluidGrids.Any(grid => grid.CanPlugIn(connection)))
            {
                fluidGrids.Add(new UtilityGrid());
                UnityDebugger.Debugger.LogWarning("FluidNetwork", "Adding new Fluid UtilityGrid");
            }

            // TODO: Currently, this will create a "Universal" Fluid system... that is not ideal.
            // In theory at this point there should either be a grid that can be plugged in, or there should be new grid added... that can be plugged in.
            UtilityGrid fluidGrid = fluidGrids.FirstOrDefault(grid => grid.CanPlugIn(connection));

            return(PlugIn(connection, fluidGrid));
        }
Ejemplo n.º 8
0
 /// <summary>
 /// Merge the specified UtilityGrid with this UtilityGrid.
 /// </summary>
 /// <param name="otherGrid">Other grid to be merged.</param>
 public void Merge(UtilityGrid otherGrid)
 {
     connections.UnionWith(otherGrid.connections);
 }
Ejemplo n.º 9
0
 public void RemoveGrid(UtilityGrid grid)
 {
     fluidGrids.Remove(grid);
 }
Ejemplo n.º 10
0
 public int FindId(UtilityGrid grid)
 {
     return(fluidGrids.ToList().IndexOf(grid));
 }
Ejemplo n.º 11
0
 public void RemoveGrid(UtilityGrid grid)
 {
     powerGrids.Remove(grid);
 }