Esempio n. 1
0
    public static Species GetSpecies(string name = "")
    {
        GradientColorKey[] colorKeys = new GradientColorKey[3];
        float position = 0.0f;

        for (int i = 0; i < 3; i++)
        {
            colorKeys[i] = new GradientColorKey(Constants.GetRandomPastelColor(), position);
            position    += 0.50f;
        }
        GradientAlphaKey[] alphaKeys = new GradientAlphaKey[2] {
            new GradientAlphaKey(1, 0),
            new GradientAlphaKey(1, 1)
        };
        Gradient g = new Gradient();

        g.alphaKeys = alphaKeys;
        g.colorKeys = colorKeys;
        Sprite[] sprites = SpriteLoader.GetRandomSetOfAlienSprites().ToArray();
        if (name == "")
        {
            name = MarkovGenerator.GenerateMarkovWord(StringLoader.GetAllStrings("SpeciesButterfly"), 1)[0];
        }
        return(new Species(name, sprites, g));
    }
Esempio n. 2
0
    public void GenerateEntities()
    {
        data = GameDataManager.instance.masterGalaxyData;
        GameDataManager.instance.ClearAllEntities();
        GameDataManager.instance.ClearAllSpecies();

        string[] speciesNames = MarkovGenerator.GenerateMarkovWord(StringLoader.GetAllStrings("SpeciesButterfly"), numberOfSpecies);
        for (int i = 0; i < numberOfSpecies; i++)
        {
            GameDataManager.instance.AddNewSpecies(SpeciesGenerator.GetSpecies(speciesNames[i]));
        }
        for (int i = 0; i < data.sectors.Length; i++)
        {
            for (int j = 0; j < data.sectors[0].Length; j++)
            {
                if (data.sectors[i][j].Owner == null && data.sectors[i][j].SystemCount > 0)
                {
                    unoccupiedSectors.Add(data.sectors[i][j]);
                }
            }
        }
        List <List <SectorData> > partitions = GenerateSectorPartitions(unoccupiedSectors);

        string[] entityNames = MarkovGenerator.GenerateMarkovWord(StringLoader.GetAllStrings("StarNames"), partitions.Count);
        for (int i = 0; i < partitions.Count; i++)
        {
            float averageSystem = 0;
            float maxSystem     = 0;
            float minSystem     = 10000;
            float sumOfSquares  = 0;
            foreach (SectorData d in partitions[i])
            {
                averageSystem += d.SystemCount;
                sumOfSquares  += d.SystemCount * d.SystemCount;
                if (d.SystemCount > maxSystem)
                {
                    maxSystem = d.SystemCount;
                }
                if (d.SystemCount < minSystem)
                {
                    minSystem = d.SystemCount;
                }
            }
            float totalSystem = averageSystem;
            averageSystem = averageSystem / partitions[i].Count;
            float sumOfSquaresAverage = sumOfSquares / partitions[i].Count;
            float standardDeviation   = Mathf.Sqrt(sumOfSquaresAverage - (averageSystem * averageSystem));
            Debug.Log("Total System:" + totalSystem + " averageSystem:" + averageSystem + " minSystem:" + minSystem + " maxSystem:" + maxSystem + " stdDeviation:" + standardDeviation);
            GalaxyEntity g = GetEntity(partitions[i]);
            g.name = entityNames[i];
            Debug.Log(g.leader.FullName + " " + g.Government.governmentName + " " + g.Government.governmentCatagory);
            GameDataManager.instance.AddNewEntity(g);
        }
        entityList.Display(GameDataManager.instance.Entitites);
        speciesList.Display(GameDataManager.instance.Species);
        WorldMap.instance.ShowTerritory();
    }
Esempio n. 3
0
 public static Species[] GetMultipleSpecies(int number)
 {
     Species[] species = new Species[number];
     string[]  names   = MarkovGenerator.GenerateMarkovWord(StringLoader.GetAllStrings("SpeciesButterfly"), 400);
     for (int i = 0; i < number; i++)
     {
         species[i] = GetSpecies(names[i]);
     }
     return(species);
 }