Ejemplo n.º 1
0
    private Dictionary <SocialNode, int> GetPopulations(SocialHierarchy hierarchy, int quantity)
    {
        var output = new Dictionary <SocialNode, float>();

        foreach (var node in hierarchy.allNodes)
        {
            output.Add(node, GetPopulation(node));
        }
        output = NormalizePopulations(output, quantity);
        var finalOutput = FloorPopulations(output);

        return(finalOutput);
    }
Ejemplo n.º 2
0
    protected List <MonsterData> GetPopulation(SocialHierarchy hierarchy, int quantity)
    {
        var output     = new List <MonsterData>();
        var quantities = GetPopulations(hierarchy, quantity);

        foreach (var node in hierarchy.allNodes)
        {
            node.actualPopulation = quantities[node];
            foreach (var monster in GenerateMonstersForNode(node, quantities[node]))
            {
                output.Add(monster);
            }
        }
        return(output);
    }
Ejemplo n.º 3
0
 public SocialStructure(int monsterQuantity, bool dungeon = false)
 {
     if (dungeon)
     {
         builders = GetDungeonDwellers();
     }
     else
     {
         builders = GetBuilders();
     }
     pets = GetPets();
     if (dungeon)
     {
         servants = GetDungeonDwellers();
     }
     else
     {
         servants = GetServants();
     }
     hierarchy  = new SocialHierarchy(builders, pets, servants);
     population = GetPopulation(hierarchy, monsterQuantity);
 }