Pass variable into another class?
I have a key to a dictionary that I need to pass into a class so that i can access values asscoiated with that dictionary in the class. 
FurnaceStats[furnaceid].FuelEfficiancy;​
so, i would need to pass into the class the furnce id, so i can access the fuel efficiancy value that it has.
Or is it possible to pass the variable when you add a component to something?
I typically will either save a static reference to the plugin instance:

private static MyPlugin pluginInstance;

void Init()
{
    pluginInstance = this;
}

void Unload()
{
    pluginInstance = null;
}

internal class MyComponent : MonoBehaviour
{
    private void Update()
    {
        if (pluginInstance.myConfig.someValue)
        {
            // do stuff
        }
    }
}

Or set properties of the component after creating it:

void SomePluginMethod() {
    var component = something.gameObject.AddComponent<MyComponent>();
    component.someProperty = myConfig.someValue;
}​

internal class MyComponent : MonoBehaviour
{
    private bool someProperty = false;

    private void Update()
    {
        if (someProperty)
        {
            // do stuff
        }
    }
}
5f1792699e67b.jpg WhiteThunder
I typically will either save a static reference to the plugin instance:

private static MyPlugin pluginInstance;

void Init()
{
    pluginInstance = this;
}

void Unload()
{
    pluginInstance = null;
}

internal class MyComponent : MonoBehaviour
{
    private void Update()
    {
        if (pluginInstance.myConfig.someValue)
        {
            // do stuff
        }
    }
}

Or set properties of the component after creating it:

void SomePluginMethod() {
    var component = something.gameObject.AddComponent<MyComponent>();
    component.someProperty = myConfig.someValue;
}​

internal class MyComponent : MonoBehaviour
{
    private bool someProperty = 0;

    private void Update()
    {
        if (someProperty)
        {
            // do stuff
        }
    }
}

Thanks Man.