private void EvaAddResource(Part part, double rate, string name, bool full)
{
try
{
double max = rate * TacStartOnce.Instance.globalSettings.EvaDefaultResourceAmount;
ConfigNode resourceNode = new ConfigNode("RESOURCE");
resourceNode.AddValue("name", name);
resourceNode.AddValue("maxAmount", max);
if (full)
{
resourceNode.AddValue("amount", max);
}
else
{
resourceNode.AddValue("amount", 0);
}
resourceNode.AddValue("isTweakable", false);
PartResource resource = part.AddResource(resourceNode);
resource.flowState = true;
resource.flowMode = PartResource.FlowMode.Both;
}
catch (Exception ex)
{
if (!ex.Message.Contains("Object reference not set"))
{
this.LogError("Unexpected error while adding resource " + name + " to the EVA: " + ex.Message + "\n" + ex.StackTrace);
}
}
}