コード例 #1
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());
            }
        }
コード例 #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());
            }
        }