public void DisplayEntity(GalaxyEntity g)
 {
     galaxyEntity    = g;
     entityName.text = galaxyEntity.FullName;
     npcDisplay.DisplayNPC(galaxyEntity.leader);
     detailText.text = galaxyEntity.GetDetailString();
 }
Example #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();
    }
Example #3
0
 public ContractBid(GalaxyEntity _requester, int _units, List <ContractBidCriteria> _criteria, List <ContractBidRequirement> _requirements, string _name, int _lengthInMinutes = 30000)
 {
     requester       = _requester;
     units           = _units;
     name            = _name;
     lengthInMinutes = _lengthInMinutes;
     foreach (ContractBidCriteria c in _criteria)
     {
         criteria.Add(c);
     }
     foreach (ContractBidRequirement r in _requirements)
     {
         requirements.Add(r);
     }
 }
Example #4
0
    public GalaxyEntity GetEntity(List <SectorData> territory)
    {
        GalaxyEntity g = new GalaxyEntity();

        g.flag = LayeredSpriteGenerator.GenerateLayeredSprites(new List <string>()
        {
            "FlagBack", "FlagMid", "FlagFront"
        }, entityPallette)[0];
        g.color = g.flag.Colors[0];
        string[]   entityStrings = StringLoader.GetAllStrings("EntityStrings");
        SectorData capital       = territory[UnityEngine.Random.Range(0, territory.Count)];

        territory.Remove(capital);
        g.capitalSector = capital;
        g.GainTerritory(territory);
        g.capitalSector.AddGalaxyFeature(new GalaxyFeature(g.FullName + " Capital", GalaxyFeatureType.EntityCapital, g.color));
        return(g);
    }
Example #5
0
 public void Close()
 {
     galaxyEntity = null;
     gameObject.SetActive(false);
 }
Example #6
0
 public void DisplayEntity(GalaxyEntity _galaxyEntity)
 {
     galaxyEntity = _galaxyEntity;
     gameObject.SetActive(true);
 }
Example #7
0
 public void AddNewEntity(GalaxyEntity entity)
 {
     entities.Add(entity);
     OnEntitiesChangeEvent?.Invoke(Entitites);
 }