public void Clear() { this.reservedSensors.Clear(); this.sensorList.Clear(); for (SubstanceListElement next = this.firstElement; next != null; next = next.Next) { next.Substance.Station = null; if (next.Previous != null) { next.Previous.Next = null; next.Previous = null; } } this.firstElement = null; }
public void Add(Substance substance) { if (substance.Station != null) { throw new InvalidOperationException("Substance can be registered to one station at the same time."); } substance.Station = this; if (substance.UseInstantAppearance) { this.ProcessReservedRequest(); SubstanceListElement substanceListElement = new SubstanceListElement(substance); substanceListElement.Next = this.firstElement; if (this.firstElement != null) { this.firstElement.Previous = substanceListElement; } substance.SubstanceListElement = substanceListElement; this.firstElement = substanceListElement; foreach (Sensor sensor in this.sensorList.Values) { sensor.Transmitter.Transmit(substance.Adapter.InstantAppearMessage); } } }
public void Reset(SubstanceListElement firstElement, bool appear) { this.element = firstElement; this.message = null; this.appear = appear; }