Beispiel #1
0
    private void ConsumeNextResource()
    {
        resourceHolder.ModifyResourceAmount(currentResourceType, -1);
        switch (currentResourceType)
        {
        case ResourceObject.ResourceType.Wood:
            if (resourceHolder.GetResourceAmount(ResourceObject.ResourceType.Crystal) > 0)
            {
                currentResourceType = ResourceObject.ResourceType.Crystal;
            }
            else if (resourceHolder.GetResourceAmount(ResourceObject.ResourceType.Metal) > 0)
            {
                currentResourceType = ResourceObject.ResourceType.Metal;
            }
            break;

        case ResourceObject.ResourceType.Crystal:
            if (resourceHolder.GetResourceAmount(ResourceObject.ResourceType.Metal) > 0)
            {
                currentResourceType = ResourceObject.ResourceType.Metal;
            }
            else if (resourceHolder.GetResourceAmount(ResourceObject.ResourceType.Wood) > 0)
            {
                currentResourceType = ResourceObject.ResourceType.Wood;
            }
            break;

        case ResourceObject.ResourceType.Metal:
            if (resourceHolder.GetResourceAmount(ResourceObject.ResourceType.Wood) > 0)
            {
                currentResourceType = ResourceObject.ResourceType.Wood;
            }
            else if (resourceHolder.GetResourceAmount(ResourceObject.ResourceType.Crystal) > 0)
            {
                currentResourceType = ResourceObject.ResourceType.Crystal;
            }
            break;
        }
    }
Beispiel #2
0
 public void AddResource(ResourceObject.ResourceType resource)
 {
     ModifyResourceAmount(resource, 1);
 }
Beispiel #3
0
 public void ModifyResourceAmount(ResourceObject.ResourceType resource, int amount)
 {
     resourceAmounts[resource] += amount;
 }
Beispiel #4
0
 public int GetResourceAmount(ResourceObject.ResourceType resource)
 {
     return(resourceAmounts[resource]);
 }