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); }
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); }
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); }