void Start()
        {
            windowPos         = new Vector2d(Screen.width / 2 + 120, Screen.height / 2 - 150);
            morseSettingsRect = new Rect((float)windowPos.x, (float)windowPos.y, 1, 1);
            morseAlphabetRect = new Rect((float)windowPos.x - 680, (float)windowPos.y, 450, 450);

            morseSettings = HighLogic.CurrentGame.Parameters.CustomParams <CL_GeneralSettings>();
            morseAlph     = (Texture)GameDatabase.Instance.GetTexture("CrewLight/International_Morse_Code", false);

            Init();
            completed = false;
            Instance  = this;
        }
Esempio n. 2
0
        public override bool Interactible(System.Reflection.MemberInfo member, GameParameters parameters)
        {
            if (morseConf)
            {
                if (go == null)
                {
                    go = new GameObject();
                }
                MoreMorseSettings gui = go.GetComponent <MoreMorseSettings>();
                if (gui == null)
                {
                    gui = go.AddComponent <MoreMorseSettings>();
                }
                if (MoreMorseSettings.Instance != null)
                {
                    if (MoreMorseSettings.Instance.completed)
                    {
                        morseConf = false;
                        MoreMorseSettings.Instance.EnableWindow(false);
                        UnityEngine.Object.Destroy(gui);
                        gui = null;
                        MoreMorseSettings.Instance = null;
                    }
                    else
                    {
                        MoreMorseSettings.Instance.lastTimeTic = Time.realtimeSinceStartup;
                        if (!MoreMorseSettings.Instance.active)
                        {
                            MoreMorseSettings.Instance.EnableWindow();
                        }
                    }
                }
            }

            // HeadLight interactible
            if (member.Name == "onForEVASpace" || member.Name == "onForEVALanded")
            {
                if (useSunLightEVA)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }

            // EVA switch lights
            if (member.Name == "lightSymLights" || member.Name == "onAviationLights")
            {
                if (useVesselLightsOnEVA)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }

            // Morse Code
            if (member.Name == "onlyForControllable" || member.Name == "morseCodeStr" ||
                member.Name == "distance" || member.Name == "morseConf")
            {
                if (useMorseCode)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }


            return(base.Interactible(member, parameters));
        }