示例#1
0
    public void Generate()
    {
        // Setup parameters based on user settings
        if (!CustomSeed)
        {
            Seed = Random.Range(0, 100000000);
        }

        if (!CustomNoiseGenerator)
        {
            System.Array values = System.Enum.GetValues(typeof(SS_NoiseGenerator));
            NoiseGenerator = (SS_NoiseGenerator)values.GetValue(Random.Range(0, values.Length));
        }

        if (!CustomFrequency)
        {
            Frequency = Random.Range(FrequencyMin, FrequencyMax);
        }
        if (!CustomLacunarity)
        {
            Lacunarity = Random.Range(LacunarityMin, LacunarityMax);
        }
        if (!CustomPersistence)
        {
            Persistence = Random.Range(PersistenceMin, PersistenceMax);
        }
        if (!CustomOctaves)
        {
            Octaves = Random.Range(OctavesMin, OctavesMax);
        }

        if (!CustomTint)
        {
            //Tint = new Color((float)Random.Range(0f, 1f), (float)Random.Range(0f, 1f), (float)Random.Range(0f, 1f));
            double r, g, b = 0;
            SS_Utilities.HSVToRGB(Random.Range(0f / 360f, 360f / 360f), Random.Range(0f, 1f), Random.Range(0f, 1f), out r, out g, out b);
            Tint = new Color((float)r, (float)g, (float)b);
        }

        if (!CustomBrightness)
        {
            Brightness = Random.Range(BrightnessMin, BrightnessMax);
        }

        if (SS_StellarSprite.Threaded)
        {
            // Create the Stellar Sprite Object in it's own thread
            Thread generatorThread = new Thread(new ThreadStart(GenerateSprite));
            generatorThread.Start();
        }
        else
        {
            GenerateSprite();
        }
    }
示例#2
0
    // Generate the Stellar Sprite
    public void Generate()
    {
        // Setup parameters based on user settings
        if (!CustomSeed)
        {
            Seed = Random.Range(0, 100000000);
        }

        if (!CustomSize)
        {
            Size = AvailableSizes[Random.Range(0, AvailableSizes.Length)];
        }

        if (!CustomFrequency)
        {
            Frequency = Random.Range(FrequencyMin, FrequencyMax);
        }
        if (!CustomLacunarity)
        {
            Lacunarity = Random.Range(LacunarityMin, LacunarityMax);
        }
        if (!CustomPersistence)
        {
            Persistence = Random.Range(PersistenceMin, PersistenceMax);
        }
        if (!CustomOctaves)
        {
            Octaves = Random.Range(OctavesMin, OctavesMax);
        }

        if (!CustomRoughness)
        {
            Roughness = Random.Range(0f, 1f);
        }

        if (!CustomColors)
        {
            Colors = SS_Utilities.GenerateColorWheelColors(Seed, 3);
        }

        if (SS_StellarSprite.Threaded)
        {
            // Create the Stellar Sprite Object in it's own thread
            Thread generatorThread = new Thread(new ThreadStart(GenerateSprite));
            generatorThread.Start();
        }
        else
        {
            GenerateSprite();
        }
    }
示例#3
0
    public void Generate()
    {
        // Setup parameters based on user settings
        if (!CustomSeed)
        {
            Seed = Random.Range(0, 100000000);
        }

        if (!CustomSize)
        {
            Size = AvailableSizes[Random.Range(0, AvailableSizes.Length)];
        }

        if (!CustomColors)
        {
            Colors = SS_Utilities.GenerateColorWheelColors(Seed, 3);
        }

        if (!CustomMinerals)
        {
            Minerals = Random.Range(0, 2) > 0;
        }

        if (!CustomMineralColor)
        {
            MineralColor = AvailableMineralColors[Random.Range(0, AvailableMineralColors.Length)];
        }

        if (SS_StellarSprite.Threaded)
        {
            // Create the Stellar Sprite Object in it's own thread
            Thread generatorThread = new Thread(new ThreadStart(GenerateSprite));
            generatorThread.Start();
        }
        else
        {
            GenerateSprite();
        }
    }
示例#4
0
    // Generate the Stellar Sprite
    public void Generate()
    {
        // Delete any children created during generation
        var children = new List <GameObject>();

        for (int i = 0; i < transform.childCount; i++)
        {
            if (transform.GetChild(i).name == "EngineExhaust" ||
                transform.GetChild(i).name == "Weapon")
            {
                children.Add(transform.GetChild(i).gameObject);
            }
        }
        children.ForEach(child => Destroy(child));

        // Setup parameters based on user settings
        if (!CustomSeed)
        {
            Seed = Random.Range(0, 100000000);
        }

        if (!CustomShipType)
        {
            System.Array values = System.Enum.GetValues(typeof(SS_ShipType));
            ShipType = (SS_ShipType)values.GetValue(Random.Range(0, values.Length));
        }

        if (!CustomColorBody)
        {
            Colors[0] = SS_Utilities.GenerateColorWheelColors(Seed, 3)[0];
        }
        if (!CustomColorHighlight)
        {
            Colors[1] = SS_Utilities.GenerateColorWheelColors(Seed, 1)[0];
        }
        if (!CustomColorEngine)
        {
            Colors[2] = SS_Utilities.GenerateColorWheelColors(Seed, 1)[0];
        }

        if (!CustomColorDetail)
        {
            ColorDetail = Random.Range(0.075f, 0.15f);
        }

        if (!CustomBodyDetail)
        {
            BodyDetail = Random.Range(0.01f, 0.1f);
        }

        if (!CustomBodyLength)
        {
            BodyLength = AvailableBodyLengths[Random.Range(0, AvailableBodyLengths.Length)];
        }

        if (!CustomWingDetail)
        {
            WingDetail = Random.Range(0.01f, 0.1f);
        }

        if (SS_StellarSprite.Threaded)
        {
            // Create the Stellar Sprite Object in it's own thread
            Thread generatorThread = new Thread(new ThreadStart(GenerateSprite));
            generatorThread.Start();
        }
        else
        {
            GenerateSprite();
        }
    }