private void GeneratePlanets(bool isLoadRequest = false, GameState gameState = null) { for (int i = 0; i < totalPlanets; i++) { GameObject planet = Instantiate(gameConfig.planetPrefab); planet.name = "Planet " + i; PlanetState planetState; if (isLoadRequest) { planetState = gameState.planetsStates[i]; } else { RocketType rocketType = ComputationalFunctions.getRandomRocketType(); int matIndex = randomMaterialsOrder[i]; Color col = i > 0 ? gameConfig.enemyColor : gameConfig.playerColor; Vector3 pos = ComputationalFunctions.getRandomPositionOnOrbit(randomOrbitsOrder[i], totalPlanets, gameConfig.distanceBetweenOrbits); float HP = gameConfig.planetMaxHP; float RT = GetRocketReloadCooldown(rocketType); planetState = new PlanetState(rocketType, matIndex, col, pos, HP, RT); } planet.GetComponent <PlanetManager>().Initialize(planetState); planets.Add(planet); } }
private void GenerateRandomVariables() { randomMaterialsOrder = ComputationalFunctions.getRandomOrderFromInterval(totalPlanets, 0, totalPlanets); randomOrbitsOrder = ComputationalFunctions.getRandomOrderFromInterval(totalPlanets, 0, totalPlanets); }