public void Start() { // TODO: This is a stupid hack because this system is half-assed foreach (var og in FindObjectsOfType <OrbitGroup>()) { og.Position(); } // TODO: kind of a hacky way to set courses for all these predictive chasers foreach (var chaser in FindObjectsOfType <PredictiveChaser>()) { float tf = 3f; float3 p0 = chaser.transform.position; float3 v0 = InitialHeading * InitialSpeed; float3 pf = FuturePosition(chaser.Target, tf); float3 vf = FutureVelocity(chaser.Target, tf); chaser.TimeElapsed = 0; chaser.Trajectory = PathSystem.TrajectoryFrom(tf, p0, v0, pf, vf); } Emitters = FindObjectsOfType <Emitter>().ToList(); FreeBodies = FindObjectsOfType <FreeBody>().ToList(); Travelers = FindObjectsOfType <Traveler>().ToList(); Orbiters = FindObjectsOfType <Orbiter>().ToList(); Velocities = FindObjectsOfType <Velocity>().ToList(); DeathTimers = FindObjectsOfType <DeathTimer>().ToList(); Rotators = FindObjectsOfType <Rotator>(); Geosynchronouses = FindObjectsOfType <Geosynchronous>(); OrbitPredictors = FindObjectsOfType <OrbitPredictor>(); TargetReflectors = FindObjectsOfType <TargetReflector>(); LightSources = FindObjectsOfType <LightSource>(); NormalizedMasses = FindObjectsOfType <NormalizedMass>(); SkyHookRockets = FindObjectsOfType <SkyHookRocket>(); }