Esempio n. 1
0
        public void BuildCrewAssignmentDialogue()
        {
            if ((object)KSP.UI.CrewAssignmentDialog.Instance == null)
            {
                return;
            }
            KSP.UI.CrewAssignmentDialog dialogue = KSP.UI.CrewAssignmentDialog.Instance;
            KSP.UI.CrewListItem         cic;

            for (int j = 0; j < dialogue.scrollListAvail.Count; j++)
            {
                KSP.UI.UIListItem listItem = dialogue.scrollListAvail.GetUilistItemAt(j);
                cic = listItem.GetComponent <KSP.UI.CrewListItem>();
                cic.AddButtonInputDelegate(new UnityAction <KSP.UI.CrewListItem.ButtonTypes, KSP.UI.CrewListItem>(RebuildCrewAssignmentDialogue));
                changeKerbalIcon(cic);
            }
            for (int j = 0; j < dialogue.scrollListCrew.Count; j++)
            {
                KSP.UI.UIListItem listItem = dialogue.scrollListCrew.GetUilistItemAt(j);
                cic = listItem.GetComponent <KSP.UI.CrewListItem>();
                if ((object)cic != null)
                {
                    cic.AddButtonInputDelegate(new UnityAction <KSP.UI.CrewListItem.ButtonTypes, KSP.UI.CrewListItem>(RebuildCrewAssignmentDialogue));
                    changeKerbalIcon(cic);
                }
            }
        }
Esempio n. 2
0
        public void BuildAstronautComplex()
        {
            KSP.UI.CrewListItem cic;
            KSP.UI.UIList       scroll;

            UnityEngine.Object[] objs = Resources.FindObjectsOfTypeAll(typeof(KSP.UI.Screens.AstronautComplex));
            if (objs.Length < 1)
            {
                return;
            }
            KSP.UI.Screens.AstronautComplex complex = (KSP.UI.Screens.AstronautComplex)objs[0];
            FieldInfo[] scrolls = typeof(KSP.UI.Screens.AstronautComplex).GetFields(BindingFlags.NonPublic | BindingFlags.Instance).Where(c => c.FieldType == typeof(KSP.UI.UIList)).ToArray();

            for (int i = 0; i < scrolls.Length; i++)
            {
                scroll = (KSP.UI.UIList)scrolls[i].GetValue(complex);
                for (int j = 0; j < scroll.Count; j++)
                {
                    KSP.UI.UIListItem listItem = scroll.GetUilistItemAt(j);
                    cic = listItem.GetComponent <KSP.UI.CrewListItem>();
                    cic.AddButtonInputDelegate(new UnityAction <KSP.UI.CrewListItem.ButtonTypes, KSP.UI.CrewListItem>(RebuildAstronautComplex));
                    changeKerbalIcon(cic);
                }
            }
        }