public void UnregisterGrid(UtilityGrid grid) { if (!fluidGrids.Contains(grid)) { return; } fluidGrids.Remove(grid); }
public void RegisterGrid(UtilityGrid grid) { if (fluidGrids.Contains(grid)) { return; } fluidGrids.Add(grid); }
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)); }
public void Unplug(IPluggable connection, UtilityGrid grid) { if (connection == null) { throw new ArgumentNullException("connection"); } if (grid == null) { throw new ArgumentNullException("grid"); } grid.Unplug(connection); }
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); }
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)); }
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)); }
/// <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); }
public void RemoveGrid(UtilityGrid grid) { fluidGrids.Remove(grid); }
public int FindId(UtilityGrid grid) { return(fluidGrids.ToList().IndexOf(grid)); }
public void RemoveGrid(UtilityGrid grid) { powerGrids.Remove(grid); }