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);
            }
        }
Exemple #2
0
            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);
            }
        }
Exemple #4
0
        /// <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);
        }
Exemple #5
0
 public void setValue(string configValue)
 {
     body = KKAPI.getCelestialBody(configValue);
 }