コード例 #1
0
 public override bool DrawSpecial(Rect rect, WidgetRow row)
 {
     if (Sel.degreeDatas.Count > 1 &&
         row.ButtonText(Sel.DataAtDegree(traitDegree).label.CapitalizeFirst()))
     {
         List <FloatMenuOption> options = new List <FloatMenuOption>();
         foreach (TraitDegreeData deg in Sel.degreeDatas)
         {
             options.Add(new FloatMenuOption(deg.label.CapitalizeFirst(), () => traitDegree = deg.degree));
         }
         MainTabWindow_List.DoFloatMenu(options);
     }
     return(false);
 }
コード例 #2
0
 private void DoStageDropdown(WidgetRow row, int setI, Action <int> selectedAction)
 {
     if (row.ButtonText(Sel.stages[setI]?.label.CapitalizeFirst() ?? "TD.Invisible".Translate()))
     {
         List <FloatMenuOption> options      = new List <FloatMenuOption>();
         IEnumerable <int>      stageIndices = ContentsUtility.onlyAvailable ?
                                               ContentsUtility.AvailableInGame(t => ThoughtStagesForThing(t, Sel)) :
                                               Enumerable.Range(0, Sel.stages.Count);
         foreach (int i in stageIndices.Where(i => DebugSettings.godMode || (Sel.stages[i]?.visible ?? false)))
         {
             int localI = i;
             options.Add(new FloatMenuOption(Sel.stages[i]?.label.CapitalizeFirst() ?? "TD.Invisible".Translate(), () => selectedAction(localI)));
         }
         MainTabWindow_List.DoFloatMenu(options);
     }
 }
コード例 #3
0
        public override bool DrawOption(Rect rect)
        {
            WidgetRow row = new WidgetRow(rect.x, rect.y);

            if (row.ButtonText(sel.def.LabelCap))
            {
                List <FloatMenuOption> options = new List <FloatMenuOption>();
                foreach (ListFilterDef def in def.subFilters)
                {
                    options.Add(new FloatMenuOption(def.LabelCap, () => SetSelectedFilter(def)));
                }
                MainTabWindow_List.DoFloatMenu(options);

                return(true);
            }
            rect.xMin += row.FinalX;
            return(sel.DrawOption(rect));
        }