Ejemplo n.º 1
0
        private void FillUpPositions()
        {
            foreach (var launchsite in PSystemSetup.Instance.SpaceCenterFacilityLaunchSites)
            {
                if (!SpawnPoints.ContainsKey(launchsite.hostBody.name))
                {
                    SpawnPoints.Add(launchsite.hostBody.name, new List <SpawnPointLocation>());
                }

                foreach (var spawnPoint in launchsite.spawnPoints)
                {
                    SpawnPoints[launchsite.hostBody.name].Add(new SpawnPointLocation(spawnPoint, launchsite.hostBody));
                }
            }

            foreach (var launchsite in PSystemSetup.Instance.StockLaunchSites)
            {
                if (!SpawnPoints.ContainsKey(launchsite.Body.name))
                {
                    SpawnPoints.Add(launchsite.Body.name, new List <SpawnPointLocation>());
                }

                foreach (var spawnPoint in launchsite.spawnPoints)
                {
                    SpawnPoints[launchsite.Body.name].Add(new SpawnPointLocation(spawnPoint, launchsite.Body));
                }
            }
        }
Ejemplo n.º 2
0
        private bool IsInSafetyBubble(Vector3d position, CelestialBody body)
        {
            if (!SpawnPoints.ContainsKey(body.name))
            {
                return(false);
            }

            foreach (var spawnPoint in SpawnPoints[body.name])
            {
                var distance = Vector3d.Distance(position, spawnPoint.Position);
                if (distance < SettingsSystem.ServerSettings.SafetyBubbleDistance)
                {
                    return(true);
                }
            }

            return(false);
        }