Example #1
0
    public List <ResourceConsume> GetResourcesUsedPerRound()
    {
        List <ResourceConsume> allResourceNeeded = new List <ResourceConsume>();

        foreach (Need need in needs)
        {
            bool resourceAlreadyUsed = false;
            //check if a resource is already used
            for (int i = 0; i < allResourceNeeded.Count; i++)
            {
                if (allResourceNeeded[i].resourceType == need.ResourceUsed.resourcesInfos.resourceType)
                {
                    resourceAlreadyUsed = true;
                    ResourceConsume rC = allResourceNeeded[i];
                    rC.amountPerRound   += need.ResourceUsed.resourcesInfos.GetAmontUseFor(need.needType) * need.Multiplicator;
                    allResourceNeeded[i] = rC;
                }
            }
            if (!resourceAlreadyUsed)
            {
                ResourceConsume rC = new ResourceConsume();
                rC.resourceType   = need.ResourceUsed.resourcesInfos.resourceType;
                rC.amountPerRound = need.ResourceUsed.resourcesInfos.GetAmontUseFor(need.needType) * need.Multiplicator;
                allResourceNeeded.Add(rC);
            }
        }

        return(allResourceNeeded);
    }
Example #2
0
    private ResourceConsume[] ListToOrganize(List <ResourceConsume> listToOrganize)
    {
        ResourceConsume[]      order  = new ResourceConsume[5];
        List <ResourceConsume> buffer = new List <ResourceConsume>();

        for (int i = 0; i < listToOrganize.Count; i++)
        {
            order[(int)listToOrganize[i].resourceType] = listToOrganize[i];
        }

        return(order);
    }
Example #3
0
    private List <ResourceConsume> GetResourcePerRound()
    {
        List <ResourceConsume> allResourceGetPerRound = new List <ResourceConsume>();
        List <Tile>            neighbour = GetTileUnder().neighbours;

        foreach (Tile tile in neighbour)
        {
            if (tile.CheckForSameTypeAround(tile.neighbours))
            {
                if (tile.resourcesInfos != null)
                {
                    if (tile.roundNbrOfDesable == RoundManager.Instance.numberOfRound)
                    {
                        bool resourceAlreadyUsed = false;
                        for (int i = 0; i < allResourceGetPerRound.Count; i++)
                        {
                            if (allResourceGetPerRound[i].resourceType == tile.resourcesInfos.resourceType)
                            {
                                resourceAlreadyUsed = true;
                                ResourceConsume rC = allResourceGetPerRound[i];
                                rC.amountPerRound        += tile.resourcesInfos.WonPerRound;
                                allResourceGetPerRound[i] = rC;
                            }
                        }
                        if (!resourceAlreadyUsed)
                        {
                            ResourceConsume rC = new ResourceConsume();
                            rC.resourceType   = tile.resourcesInfos.resourceType;
                            rC.amountPerRound = tile.resourcesInfos.WonPerRound;
                            allResourceGetPerRound.Add(rC);
                        }
                    }
                }
            }
        }
        return(allResourceGetPerRound);
    }