CResource.ExtractResource C# (CSharp) Method

ExtractResource() public method

Extract a certain amount of metal
public ExtractResource ( float amount ) : ExtractedResource
amount float /// Float with the amount of resource to be extracted. This value depends of the extractor level ///
return ExtractedResource
    public ExtractedResource ExtractResource(float amount)
    {
        ExtractedResource rv = new ExtractedResource();

        rv.type = resourceType;
        rv.amount = 0.0f;
        rv.isDrained = resourceDrained;

        if(!associatedExtractor ||  resourceLevel <= 0.0f) {

            return rv;
        }

        // extracts an amount of resource
        resourceLevel -= amount;

        // Check if we actually have enough resources
        if(resourceLevel <= 0.0f) {

            // We tried to extract more than available
            amount += resourceLevel; // Adjust the amount extracted
            resourceLevel = 0.0f;	// Clean the site
            resourceDrained = true;
        }

        rv.isDrained = resourceDrained;
        rv.amount = amount;

        return rv;
    }