public object getSetting(string setting) { if (settings.ContainsKey(setting)) { return(settings[setting]); } if (KerbalKonstructs.instance.DebugMode) { Debug.Log("KK: Setting " + setting + " not found in model " + config + ". This is harmless. Not a bug."); } object defaultValue = KKAPI.getModelSettings()[setting].getDefaultValue(); if (defaultValue != null) { settings.Add(setting, defaultValue); return(defaultValue); } else { if (KerbalKonstructs.instance.DebugMode) { Debug.Log("KK: Setting " + setting + " not found in model API. It may be on purpose. Not a bug."); } return(null); } }
internal KKAPI(Object a, object b) { Instance = this; actualKKAPI = a; actualKKControllerAPI = b; AutoPilotDisabledField = KKControllerType.GetField("autoPilotDisabled"); autoPilotDisTimeField = KKControllerType.GetField("autoPilotDisTime"); autoPilotDisCounterField = KKControllerType.GetField("autoPilotDisCounter"); firstMajCrazyWarningField = KKControllerType.GetField("firstMajCrazyWarning"); firstMinCrazyWarningField = KKControllerType.GetField("firstMinCrazyWarning"); getCLMT_BSE_DRN_FTRMethod = KKControllerType.GetMethod("get_CLMT_BSE_DRN_FTR", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); setCLMT_BSE_DRN_FTRMethod = KKControllerType.GetMethod("set_CLMT_BSE_DRN_FTR", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); getCLMT_TGT_TMPMethod = KKControllerType.GetMethod("get_CLMT_TGT_TMP", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); setCLMT_TGT_TMPMethod = KKControllerType.GetMethod("set_CLMT_TGT_TMP", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); getMSG_BSE_DRN_FTRMethod = KKControllerType.GetMethod("get_MSG_BSE_DRN_FTR", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); setMSG_BSE_DRN_FTRMethod = KKControllerType.GetMethod("set_MSG_BSE_DRN_FTR", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); getMSG_BSE_DRN_FTRMethod = KKControllerType.GetMethod("get_MSG_BSE_DRN_FTR", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); setMSG_BSE_DRN_FTRMethod = KKControllerType.GetMethod("set_MSG_BSE_DRN_FTR", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); getCRZ_BSE_DRN_FTRMethod = KKControllerType.GetMethod("get_CRZ_BSE_DRN_FTR", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); setCRZ_BSE_DRN_FTRMethod = KKControllerType.GetMethod("set_CRZ_BSE_DRN_FTR", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); getCRZ_CTE_UNC_FTRMethod = KKControllerType.GetMethod("get_CRZ_CTE_UNC_FTR", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); setCRZ_CTE_UNC_FTRMethod = KKControllerType.GetMethod("set_CRZ_CTE_UNC_FTR", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); getCRZ_CTE_RED_FTRMethod = KKControllerType.GetMethod("get_CRZ_CTE_RED_FTR", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); setCRZ_CTE_RED_FTRMethod = KKControllerType.GetMethod("set_CRZ_CTE_RED_FTR", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); getCRZ_RDO_RED_FTRMethod = KKControllerType.GetMethod("get_CRZ_RDO_RED_FTR", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); setCRZ_RDO_RED_FTRMethod = KKControllerType.GetMethod("set_CRZ_RDO_RED_FTR", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); getCRZ_MSG_RED_FTRMethod = KKControllerType.GetMethod("get_CRZ_MSG_RED_FTR", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); setCRZ_MSG_RED_FTRMethod = KKControllerType.GetMethod("set_CRZ_MSG_RED_FTR", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); getCRZ_MINOR_LMTMethod = KKControllerType.GetMethod("get_CRZ_MINOR_LMT", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); setCRZ_MINOR_LMTMethod = KKControllerType.GetMethod("set_CRZ_MINOR_LMT", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); getCRZ_MAJOR_LMTMethod = KKControllerType.GetMethod("get_CRZ_MAJOR_LMT", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); setCRZ_MAJOR_LMTMethod = KKControllerType.GetMethod("set_CRZ_MAJOR_LMT", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); getAutoTimerMethod = KKControllerType.GetMethod("get_AutoTimer", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance); }
public object getSetting(string setting) { if (settings.ContainsKey(setting)) { return(settings[setting]); } // Debug.Log("KK: Setting " + setting + " not found in instance of model " + model.config); object defaultValue = KKAPI.getInstanceSettings()[setting].getDefaultValue(); if (defaultValue != null) { settings.Add(setting, defaultValue); return(defaultValue); } else { if (KerbalKonstructs.instance.DebugMode) { Debug.Log("KK: Setting " + setting + " not found in instance API. BUG BUG BUG."); } return(null); } }
/// <summary> /// This method will set up the KK object and wrap all the methods/functions /// </summary> /// <returns></returns> public static Boolean InitKKWrapper() { //reset the internal objects _KKWrapped = false; LogFormatted_DebugOnly("Attempting to Grab KabinKraziness Types..."); //find the Controller base type KKType = getType("KabinKraziness.KabinKraziness"); if (KKType == null) { return(false); } LogFormatted("KabinKraziness Version:{0}", KKType.Assembly.GetName().Version.ToString()); //now grab the running instance LogFormatted_DebugOnly("Got Assembly Types, grabbing Instances"); try { actualKK = KKType.GetProperty("Instance", BindingFlags.Public | BindingFlags.Static).GetValue(null, null); } catch (Exception ex) { LogFormatted("No KabinKraziness Instance found"); LogFormatted(ex.Message); //throw; } if (actualKK == null) { LogFormatted("Failed grabbing Instance"); return(false); } //find the Controller base type KKControllerType = getType("KabinKraziness.KKController"); if (KKControllerType == null) { return(false); } //now grab the running instance LogFormatted_DebugOnly("Got Assembly Types, grabbing Instances"); try { actualKKController = KKControllerType.GetProperty("Instance", BindingFlags.Public | BindingFlags.Static).GetValue(null, null); } catch (Exception) { LogFormatted("No KabinKraziness Controller Instance found"); //throw; } if (actualKKController == null) { LogFormatted("Failed grabbing Instance"); return(false); } //If we get this far we can set up the local object and its methods/functions LogFormatted_DebugOnly("Got Instance, Creating Wrapper Objects"); KKactualAPI = new KKAPI(actualKK, actualKKController); _KKWrapped = true; return(true); }
public void setValue(string configValue) { body = KKAPI.getCelestialBody(configValue); }