public OrbitalObject Get(string name) { if (_objects.TryGetValue(name, out var @object)) { return(@object); } @object = new OrbitalObject(name); _objects.Add(name, @object); return(@object); }
public static IEnumerable <OrbitalObject> GetPathToCom(this OrbitalObject orbitalObject) { var obj = orbitalObject.Orbits; while (obj != null) { yield return(obj); obj = obj.Orbits; } }
public IOrbitalBuilder AddOrbit(OrbitalObject orbitalObject) { return(new OrbitalBuilder(this, orbitalObject)); }