public string Generate(uint seed)
        {
            FastRandom.SetSeed(seed);

            uint id = FastRandom.Next(9000);

            return(parts[FastRandom.Next((uint)parts.Length)] + "-" + id);
        }
Esempio n. 2
0
        public void Start()
        {
            ProceduralGalaxyParameters parameters = new Procedural.Galaxy.ProceduralGalaxyParameters();

            string[] prefabs =
            {
                "Sprites/prefab_star_particle",
                "Sprites/prefab_star_particle_red",
                "Sprites/prefab_star_particle_blue",
                "Sprites/prefab_star_particle_deep_red"
            };

            parameters.maxStarTypes = prefabs.Length;

            parameters.referenceAssetTexturePath = this.referenceAssetTexturePath;
            parameters.galaxySize            = this.galaxySize;
            parameters.sectorSize            = this.sectorSize;
            parameters.maxStarCountPerSector = this.maxStarCountPerSector;
            parameters.minDensity            = this.minDensity;

            ProceduralGalaxyGenerator generator            = new Procedural.Galaxy.ProceduralGalaxyGenerator(parameters);
            List <ProceduralGalaxyGenerator.Result> result = generator.Generate();

            StarSystemNameGenerator starSystemNameGenerator = new StarSystemNameGenerator(File.ReadAllLines("C:\\Parts\\star_parts.txt"));

            foreach (ProceduralGalaxyGenerator.Result rst in result)
            {
                GameObject obj = UnityEngine.Object.Instantiate(Resources.Load(prefabs[rst.type]) as GameObject) as GameObject;
                obj.transform.position = rst.position;

                SphereCollider collider = obj.AddComponent <SphereCollider>();
                collider.radius = 1.0f;

                StarSystemInfo info = obj.AddComponent <StarSystemInfo>();

                uint hid = ((uint)Math.Floor(obj.transform.position.x) * 73856093) ^ ((uint)Math.Floor(obj.transform.position.y) * 19349663) ^ ((uint)Math.Floor(obj.transform.position.z) * 83492791);

                FastRandom.SetSeed(hid);
                info.planetCount = FastRandom.Next(8);
                info.systemName  = starSystemNameGenerator.Generate(FastRandom.Next());
            }
        }
Esempio n. 3
0
 public void SetSeed()
 {
     randomGenerator.SetSeed(seed);
 }