//THIS IS THE ONLY CLASS TO BE ALLOWED THE START() FUNCTION. void Start() { SolarSystemGenerator SolarSystemGenerator = this.GetComponent <SolarSystemGenerator>(); IAstronomicalObject[] solarSystem = SolarSystemGenerator.generateSolarSystem(); playerManager.generatePlayers(solarSystem[0].regions); }
public SolarSystem() { SolarSystemGenerator.GenerateTestSystem(new SolarSystemSettings()); Sun = SystemCore.GameObjectManager.GetObject("sun"); PlayerShip = SystemCore.GameObjectManager.GetObject("ship") as Ship; SunLight = SystemCore.ActiveScene.LightsInScene.First() as DiffuseLight; }
public void CycleColonies() { SolarSystemGenerator solarSystem = GameManager.SharedInstance.SpawnerObject.GetComponent <SolarSystemGenerator>(); GameObject planetObject = solarSystem.GetNextColonizedPlanet(); _targetColonizedPlanet = planetObject.transform.position; StartPanMode(CameraMode.panColony); planetObject.GetComponent <Planet>().SelectPlanet(); }
void _initializeSolarSystem() { Debug.Log("Initializing solar system with index: " + levelIndex); GameManager.SharedInstance.CurrentLevel = new SolarSystemSeed(levelIndex); SpawnerObject.SetActive(true); SolarSystemGenerator planetSeed = SpawnerObject.GetComponent <SolarSystemGenerator>(); planetSeed.minPlanets = CurrentLevel.MinPlanetCount; planetSeed.maxPlanets = CurrentLevel.MaxPlanetCount; planetSeed.MinimumPlanetDistance = CurrentLevel.MinPlanetDistance; planetSeed.MinPlanetScale = CurrentLevel.MinPlanetScale; planetSeed.MaxPlanetScale = CurrentLevel.MaxPlanetScale; asteroidSpawner.minSpawnInterval = CurrentLevel.AsteroidThreatMinInterval; asteroidSpawner.maxSpawnInterval = CurrentLevel.AsteroidThreatMaxInterval; StartCoroutine(SpawnerObject.GetComponent <SolarSystemGenerator>().GenerateSolarSystem()); asteroidSpawner.enabled = true; }
private void OnEnable() { ssGenerator = (SolarSystemGenerator)target; }
public GeneratorController(SolarSystemGenerator solarSystemGenerator, SolarSystemRepository solarSystemRepository) { _solarSystemGenerator = solarSystemGenerator; _solarSystemRepository = solarSystemRepository; }
public void GenerateGalaxy() { if (_galaxy.SolarSystems != null) { foreach (SolarSystem g in _galaxy.SolarSystems) { Destroy(g.gameObject); } _galaxy.SolarSystems.Clear(); if (_galaxy.BlackHole != null) { Destroy(_galaxy.BlackHole.gameObject); } } GameObject blackHoleGameObject = Instantiate(GalaxyPrefabs.BlackHolePrefab, transform.position, Quaternion.identity, this.transform); BlackHole blackHole = blackHoleGameObject.GetComponent <BlackHole>(); _galaxy.BlackHole = blackHole; //Set galaxy name System.Random rand = new System.Random(); _galaxy.Name = StarName.Generate(rand); this.name = _galaxy.Name; _galaxy.Size = new Vector2(Settings.Radius, Settings.Radius); int solarSystems = Random.Range(Settings.MinGalaxies, Settings.MaxGalaxies); List <Vector3> positions = Spiral.GenerateSpiral(); //Generate solar systems of galaxy for (int i = 0; i < solarSystems; i++) { int random = Random.Range(0, (Spiral.iterations * 2) - 1); Vector2 pos = new Vector2(positions[random].x, positions[random].z) + Random.insideUnitCircle * Settings.Radius; while (CheckForGalaxies(pos)) { pos = new Vector2(positions[random].x, positions[random].z) + Random.insideUnitCircle * Settings.Radius; } GameObject solarSystemGameObject = Instantiate(GalaxyPrefabs.SolarSystemPrefab, new Vector3(pos.x, pos.y, 0), Quaternion.identity, this.transform); SolarSystemGenerator solarSystemGenerator = solarSystemGameObject.GetComponent <SolarSystemGenerator>(); SolarSystem solarSystem = solarSystemGameObject.GetComponent <SolarSystem>(); solarSystem.Name = StarName.Generate(rand); solarSystemGameObject.name = solarSystem.Name; solarSystem.Position = solarSystemGameObject.transform.position; _galaxy.SolarSystems.Add(solarSystem); solarSystemGenerator.GenerateSolarSystem(); foreach (Planet p in solarSystem.Planets) { p.gameObject.SetActive(false); } } GetComponent <GalaxyNavigator>().Connect(_galaxy.SolarSystems); }