コード例 #1
0
    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);
        }
    }
コード例 #2
0
 private void GenerateRandomVariables()
 {
     randomMaterialsOrder = ComputationalFunctions.getRandomOrderFromInterval(totalPlanets, 0, totalPlanets);
     randomOrbitsOrder    = ComputationalFunctions.getRandomOrderFromInterval(totalPlanets, 0, totalPlanets);
 }