Exemple #1
0
 public Dialog_ResetGroup(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture)
     : base(parentWindow, colonistGroup, originRect, backgroundTexture)
 {
     this.originRect            = new Rect(originRect.x + originRect.width, originRect.y, originRect.width, originRect.height);
     this.colonistGroup         = colonistGroup;
     this.closeOnClickedOutside = true;
 }
Exemple #2
0
        public SortMenu(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture)
            : base(parentWindow, colonistGroup, originRect, backgroundTexture)
        {
            this.options = new List <TieredFloatMenuOption>();

            var noneOption = new TieredFloatMenuOption("None".Translate(), null, Textures.AOMButton, Textures.AOMButtonHover, Textures.AOMButtonPress, TextAnchor.MiddleCenter, MenuOptionPriority.High, 0f);

            noneOption.action = delegate
            {
                TacticDefOf.TG_SortOptionsSFX.PlayOneShotOnCamera();
                this.colonistGroup.activeSortBy = SortBy.None;
            };
            noneOption.bottomIndent = Textures.MenuButton.height + 4;
            options.Add(noneOption);

            var nameOption = new TieredFloatMenuOption("TG.Name".Translate(), null, Textures.AOMButton, Textures.AOMButtonHover, Textures.AOMButtonPress, TextAnchor.MiddleCenter, MenuOptionPriority.High, 0f);

            nameOption.action = delegate
            {
                TacticDefOf.TG_SortOptionsSFX.PlayOneShotOnCamera();
                this.colonistGroup.activeSortBy = SortBy.Name;
                this.colonistGroup.InitSort(this.colonistGroup.activeSortBy);
            };
            nameOption.bottomIndent = Textures.MenuButton.height + 4;
            options.Add(nameOption);

            foreach (var skillDef in DefDatabase <SkillDef> .AllDefs)
            {
                AddSkillSortButton(skillDef);
            }
            for (int i = 0; i < options.Count; i++)
            {
                options[i].SetSizeMode(SizeMode);
            }
        }
Exemple #3
0
        public WorkMenu(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture)
            : base(parentWindow, colonistGroup, originRect, backgroundTexture)
        {
            this.options = new List <TieredFloatMenuOption>();

            var takeFive = new TieredFloatMenuOption(Strings.TakeFive, null, Textures.LookBusyButton, Textures.LookBusyButtonHover, null, TextAnchor.MiddleCenter, MenuOptionPriority.High, 0f,
                                                     Textures.LookBusyButton.width - 2f, Strings.TakeFiveTooltip);

            takeFive.action = delegate
            {
                TacticDefOf.TG_ClickSFX.PlayOneShotOnCamera();
                WorkSearchUtility.TakeABreak(BreakType.None, this.colonistGroup.ActivePawns);
            };
            options.Add(takeFive);

            breakIconStates[Textures.ChowHallButton]  = BreakType.ChowHall;
            breakIconStates[Textures.LightsOutButton] = BreakType.LightsOut;

            tooltips[Textures.ChowHallButton]  = Strings.ChowHallToolTip;
            tooltips[Textures.LightsOutButton] = Strings.SleepTooltip;

            for (int i = 0; i < options.Count; i++)
            {
                options[i].SetSizeMode(SizeMode);
            }
        }
Exemple #4
0
 public IconMenu(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture)
     : base(parentWindow, colonistGroup, originRect, backgroundTexture)
 {
     groupBannerFolder = colonistGroup.groupBannerFolder;
     groupIconFolder   = colonistGroup.groupIconFolder;
     bannerModeEnabled = colonistGroup.bannerModeEnabled;
     ReInitIcons(this.colonistGroup.defaultBannerFolder);
 }
Exemple #5
0
 public Dialog_NewPresetName(TieredFloatMenu parentWindow, GroupPreset groupPreset, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture, string confirmationText)
     : base(parentWindow, colonistGroup, originRect, backgroundTexture, confirmationText)
 {
     this.originRect    = new Rect(originRect.x + originRect.width, originRect.y, originRect.width, originRect.height);
     this.colonistGroup = colonistGroup;
     this.groupPreset   = groupPreset;
     curName            = colonistGroup.groupName;
 }
Exemple #6
0
        public Dialog_RenameColonistGroup(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture, TieredFloatMenuOption option, string confirmationText)
            : base(parentWindow, colonistGroup, originRect, backgroundTexture, confirmationText)
        {
            this.originRect    = new Rect(originRect.x + originRect.width, originRect.y, originRect.width, originRect.height);
            this.colonistGroup = colonistGroup;

            curName     = colonistGroup.groupName;
            this.option = option;
        }
Exemple #7
0
 public ManagementMenu(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture)
     : base(parentWindow, colonistGroup, originRect, backgroundTexture)
 {
     this.options = new List <TieredFloatMenuOption>();
     for (int i = 0; i < options.Count; i++)
     {
         options[i].SetSizeMode(SizeMode);
     }
 }
Exemple #8
0
        public PrisonerMenu(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture, string menuTitle)
            : base(parentWindow, colonistGroup, originRect, backgroundTexture, menuTitle)
        {
            prisonerNodes = new Dictionary <PrisonerInteractionModeDef, TreeNode_Pawns>();

            foreach (PrisonerInteractionModeDef item in DefDatabase <PrisonerInteractionModeDef> .AllDefs.OrderBy((PrisonerInteractionModeDef pim) => pim.listOrder))
            {
                prisonerNodes[item] = new TreeNode_Pawns(null, item.LabelCap);
                prisonerNodes[item].SetOpen(32, true);
            }
        }
 public Dialog_Rename(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture, string confirmationText)
     : base(parentWindow, colonistGroup, originRect, backgroundTexture)
 {
     this.parentWindow     = parentWindow;
     this.confirmationText = confirmationText;
     forcePause            = true;
     doCloseX = true;
     absorbInputAroundWindow = true;
     closeOnAccept           = false;
     closeOnClickedOutside   = true;
 }
Exemple #10
0
 public void Chosen(TieredFloatMenu floatMenu)
 {
     floatMenu?.PreOptionChosen(this);
     if (!Disabled)
     {
         if (action != null)
         {
             action(mainMenu);
         }
     }
 }
 public PawnInfoMenu(Pawn pawn, TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture)
     : base(parentWindow, colonistGroup, originRect, backgroundTexture)
 {
     this.options            = new List <TieredFloatMenuOption>();
     this.pawn               = pawn;
     this.parentWindow.layer = WindowLayer.Dialog;
     this.layer              = WindowLayer.GameUI;
     for (int i = 0; i < options.Count; i++)
     {
         options[i].SetSizeMode(SizeMode);
     }
     TacticSkillUI.Reset();
 }
Exemple #12
0
 public OrderMenu(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture)
     : base(parentWindow, colonistGroup, originRect, backgroundTexture)
 {
     this.options = new List <TieredFloatMenuOption>();
     AddAttackButton();
     AddRegroupButton();
     AddBattleStationsButton();
     AddMedicalButton();
     for (int i = 0; i < options.Count; i++)
     {
         options[i].SetSizeMode(SizeMode);
     }
 }
 public AttackMenu(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture)
     : base(parentWindow, colonistGroup, originRect, backgroundTexture)
 {
     this.options = new List <TieredFloatMenuOption>();
     AddFireAtWillButton();
     AddStrongestButton();
     AddWeakestButton();
     AddPursueFleeingButton();
     for (int i = 0; i < options.Count; i++)
     {
         options[i].SetSizeMode(SizeMode);
     }
 }
Exemple #14
0
 public TieredFloatMenu(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture)
 {
     this.soundAmbient      = null;
     this.soundAppear       = null;
     this.soundClose        = null;
     this.parentWindow      = parentWindow;
     this.colonistGroup     = colonistGroup;
     this.originRect        = originRect;
     this.backgroundTexture = backgroundTexture;
     this.layer             = WindowLayer.GameUI;
     closeOnClickedOutside  = false;
     doWindowBackground     = false;
     drawShadow             = false;
     preventCameraMotion    = false;
 }
Exemple #15
0
 public void OpenNewMenu(TieredFloatMenu floatMenu)
 {
     if (this.childWindows != null)
     {
         for (int num = childWindows.Count - 1; num >= 0; num--)
         {
             childWindows[num].Close();
         }
         this.childWindows.Clear();
     }
     else
     {
         this.childWindows = new List <TieredFloatMenu>();
     }
     this.childWindows.Add(floatMenu);
     Find.WindowStack.Add(floatMenu);
 }
        public Dialog_ColorPicker(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture)
            : base(parentWindow, colonistGroup, originRect, backgroundTexture)
        {
            this.closeOnClickedOutside = true;
            colorRects  = new Dictionary <BodyColor, Rect>();
            stringRects = new Dictionary <string, Rect>();

            var torsoRect = new Rect(220, 30, 24, 24);

            colorRects[BodyColor.Torso] = torsoRect;
            stringRects[Strings.Torso]  = new Rect(torsoRect.xMax + 10, torsoRect.y + 3, 40, 24);

            var handsRect = new Rect(torsoRect.x, torsoRect.yMax + 10, torsoRect.width, torsoRect.height);

            colorRects[BodyColor.Hands] = handsRect;
            stringRects[Strings.Hands]  = new Rect(handsRect.xMax + 10, handsRect.y + 3, 40, 24);

            var allRect = new Rect(torsoRect.xMax + 60, torsoRect.y + 5, torsoRect.width * 2, torsoRect.height * 2);

            colorRects[BodyColor.All] = allRect;

            var legsRect = new Rect(allRect.xMax + 15, torsoRect.y + 3, 40, 24);

            stringRects[Strings.Legs]  = legsRect;
            colorRects[BodyColor.Legs] = new Rect(legsRect.xMax, torsoRect.y, 24, 24);

            var feetRect = new Rect(legsRect.x, legsRect.yMax + 13, 40, 24);

            stringRects[Strings.Feet]  = feetRect;
            colorRects[BodyColor.Feet] = new Rect(feetRect.xMax, feetRect.y - 3, 24, 24);

            var headRect = new Rect(colorRects[BodyColor.Legs].xMax + 10, torsoRect.y + 3, 40, 24);

            stringRects[Strings.Head]  = headRect;
            colorRects[BodyColor.Head] = new Rect(headRect.xMax, torsoRect.y, 24, 24);

            var hairRect = new Rect(headRect.x, headRect.yMax + 13, 40, 24);

            stringRects[Strings.Hair]  = hairRect;
            colorRects[BodyColor.Hair] = new Rect(hairRect.xMax, hairRect.y - 3, 24, 24);
        }
Exemple #17
0
 public ManageMenu(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture)
     : base(parentWindow, colonistGroup, originRect, backgroundTexture)
 {
     this.options = new List <TieredFloatMenuOption>();
     AddRenameButton();
     AddIconButton();
     AddSortButton();
     AddManagementButton();
     if (this.colonistGroup.isColonyGroup)
     {
         AddDiplomacyButton();
     }
     for (int i = 0; i < options.Count; i++)
     {
         options[i].SetSizeMode(SizeMode);
     }
     if (this.colonistGroup.isColonyGroup && this.colonistGroup.Map != null)
     {
         this.colonistGroup.Map.wealthWatcher.ForceRecount();
     }
 }
 public BattleStationsMenu(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture)
     : base(parentWindow, colonistGroup, originRect, backgroundTexture)
 {
 }
Exemple #19
0
        public WorkMenu(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture)
            : base(parentWindow, colonistGroup, originRect, backgroundTexture)
        {
            this.options = new List <TieredFloatMenuOption>();

            var lookBusy = new TieredFloatMenuOption(Strings.LookBusy, null, Textures.LookBusyButton, Textures.LookBusyButtonHover, null, TextAnchor.MiddleCenter,
                                                     MenuOptionPriority.High, 0f, Textures.LookBusyButton.width - 2f, Strings.LookBusyTooltip);

            lookBusy.action = delegate
            {
                TacticDefOf.TG_WorkSFX.PlayOneShotOnCamera();
                WorkSearchUtility.SearchForWork(WorkType.None, this.colonistGroup.ActivePawns);
            };
            lookBusy.bottomIndent = 400f;
            options.Add(lookBusy);

            var takeFive = new TieredFloatMenuOption(Strings.TakeFive, null, Textures.LookBusyButton, Textures.LookBusyButtonHover, null, TextAnchor.MiddleCenter, MenuOptionPriority.High, 0f,
                                                     Textures.LookBusyButton.width - 2f, Strings.TakeFiveTooltip);

            takeFive.action = delegate
            {
                TacticDefOf.TG_ClickSFX.PlayOneShotOnCamera();
                WorkSearchUtility.TakeABreak(BreakType.None, this.colonistGroup.ActivePawns);
            };
            options.Add(takeFive);

            workIconStates[Textures.ConstructButton] = WorkType.Construction;
            workIconStates[Textures.CraftButton]     = WorkType.Crafting;
            workIconStates[Textures.HaulButton]      = WorkType.Hauling;
            workIconStates[Textures.CleanButton]     = WorkType.Cleaning;
            workIconStates[Textures.HuntButton]      = WorkType.Hunting;
            workIconStates[Textures.CookButton]      = WorkType.Cooking;
            workIconStates[Textures.MineButton]      = WorkType.Mining;
            workIconStates[Textures.ChopWoodButton]  = WorkType.WoodChopping;

            workIconStates[Textures.TailorButton]         = WorkType.Tailor;
            workIconStates[Textures.SmithButton]          = WorkType.Smith;
            workIconStates[Textures.FireExtinguishButton] = WorkType.FireExtinguish;
            workIconStates[Textures.ArtButton]            = WorkType.Art;

            workIconStates[Textures.FarmButton]      = WorkType.Plants;
            workIconStates[Textures.HandleButton]    = WorkType.Handle;
            workIconStates[Textures.WardenButton]    = WorkType.Warden;
            workIconStates[Textures.ClearSnowButton] = WorkType.ClearSnow;

            breakIconStates[Textures.ChowHallButton]  = BreakType.ChowHall;
            breakIconStates[Textures.LightsOutButton] = BreakType.LightsOut;

            tooltips[Textures.ConstructButton] = Strings.WorkTaskTooltipConstruction;
            tooltips[Textures.CraftButton]     = Strings.WorkTaskTooltipCraft;
            tooltips[Textures.HaulButton]      = Strings.WorkTaskTooltipHaul;
            tooltips[Textures.CleanButton]     = Strings.WorkTaskTooltipClean;
            tooltips[Textures.HuntButton]      = Strings.WorkTaskTooltipHunt;
            tooltips[Textures.CookButton]      = Strings.WorkTaskTooltipCook;
            tooltips[Textures.MineButton]      = Strings.WorkTaskTooltipMine;
            tooltips[Textures.ChopWoodButton]  = Strings.WorkTaskTooltipChopWood;
            tooltips[Textures.FarmButton]      = Strings.WorkTaskTooltipFarm;
            tooltips[Textures.ClearSnowButton] = Strings.WorkTaskTooltipClearSnow;
            tooltips[Textures.WardenButton]    = Strings.WorkTaskTooltipWarden;

            tooltips[Textures.TailorButton]         = Strings.WorkTaskTooltipTailor;
            tooltips[Textures.SmithButton]          = Strings.WorkTaskTooltipSmith;
            tooltips[Textures.HandleButton]         = Strings.WorkTaskTooltipHandle;
            tooltips[Textures.FireExtinguishButton] = Strings.WorkTaskTooltipFireExtinguish;
            tooltips[Textures.ArtButton]            = Strings.WorkTaskTooltipArt;

            tooltips[Textures.ChowHallButton]  = Strings.ChowHallToolTip;
            tooltips[Textures.LightsOutButton] = Strings.SleepTooltip;


            for (int i = 0; i < options.Count; i++)
            {
                options[i].SetSizeMode(SizeMode);
            }
        }
 public OptionsMenu(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture)
     : base(parentWindow, colonistGroup, originRect, backgroundTexture)
 {
     this.closeOnClickedOutside = true;
 }
Exemple #21
0
 public PawnGroupedMenu(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture, string menuTitle)
     : base(parentWindow, colonistGroup, originRect, backgroundTexture)
 {
     this.menuTitle = menuTitle;
 }
Exemple #22
0
 public SlaveMenu(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture, string menuTitle)
     : base(parentWindow, colonistGroup, originRect, backgroundTexture, menuTitle)
 {
     slaveNodes = new TreeNode_Pawns(new List <Pawn>(), Strings.Slaves);
     slaveNodes.SetOpen(32, true);
 }
Exemple #23
0
        public virtual bool DoGUI(Rect rect, TieredFloatMenu floatMenu)
        {
            if (maxFloatMenuWidth != -1f)
            {
                rect.width = maxFloatMenuWidth;
            }
            Rect rect2 = rect;

            rect2.height--;
            bool flag  = !Disabled && Mouse.IsOver(rect2);
            bool flag2 = false;

            Text.Font = CurrentFont;
            Rect rect3 = rect;

            rect3.xMin += 4f;
            rect3.xMax  = rect.x + 27f;
            rect3.yMin += 4f;
            rect3.yMax  = rect.y + 27f;
            if (flag)
            {
                rect3.x += 4f;
            }
            Rect rect4 = rect;

            rect4.xMin += HorizontalMargin;
            rect4.xMax -= HorizontalMargin;
            rect4.xMax -= 4f;
            rect4.xMax -= extraPartWidth + IconOffset;
            rect4.x    += IconOffset;
            if (flag)
            {
                rect4.x += 4f;
            }
            Rect rect5 = default(Rect);

            if (extraPartWidth != 0f)
            {
                float num = Mathf.Min(Text.CalcSize(Label).x, rect4.width - 4f);
                rect5 = new Rect(rect4.xMin + num, rect4.yMin, extraPartWidth, 30f);
                flag2 = Mouse.IsOver(rect5);
            }
            Color color = GUI.color;

            //if (Disabled)
            //{
            //	GUI.color = ColorBGDisabled * color;
            //}
            //else if (flag && !flag2)
            //{
            //	GUI.color = ColorBGActiveMouseover * color;
            //}
            //else
            //{
            //	GUI.color = ColorBGActive * color;
            //}
            //GUI.DrawTexture(rect, BaseContent.WhiteTex);
            if (this.selected && iconSelected != null)
            {
                GUI.DrawTexture(rect, iconSelected);
            }
            else if (Mouse.IsOver(rect) && iconHover != null)
            {
                GUI.DrawTexture(rect, iconHover);
            }
            else if (curIcon != null)
            {
                GUI.DrawTexture(rect, curIcon);
            }
            if (toolTip.Length > 0)
            {
                TooltipHandler.TipRegion(rect, toolTip);
            }
            if (labelInt != null)
            {
                Text.Anchor = this.textAnchor;
                var textRect = new Rect(rect);
                textRect.x += this.leftTextIndent;
                Widgets.Label(textRect, Label);
                Text.Anchor = TextAnchor.UpperLeft;
            }
            GUI.color = ((!Disabled) ? ColorTextActive : ColorTextDisabled) * color;
            if (sizeMode == FloatMenuSizeMode.Tiny)
            {
                rect4.y += 1f;
            }
            Widgets.DrawAtlas(rect, TexUI.FloatMenuOptionBG);

            GUI.color = iconColor;
            if (shownItem != null || drawPlaceHolderIcon)
            {
                Widgets.DefIcon(rect3, shownItem, null, 1f, drawPlaceholder: drawPlaceHolderIcon);
            }
            else if ((bool)itemIcon)
            {
                GUI.DrawTexture(rect3, itemIcon);
            }
            GUI.color = color;
            if (extraPartOnGUI != null)
            {
                bool num2 = extraPartOnGUI(rect);
                GUI.color = color;
                if (num2)
                {
                    return(true);
                }
            }
            if (flag && mouseoverGuiAction != null)
            {
                mouseoverGuiAction();
            }
            if (tutorTag != null)
            {
                UIHighlighter.HighlightOpportunity(rect, tutorTag);
            }
            if (Widgets.ButtonInvisible(rect2))
            {
                if (tutorTag != null && !TutorSystem.AllowAction(tutorTag))
                {
                    return(false);
                }
                Chosen(floatMenu);
                if (tutorTag != null)
                {
                    TutorSystem.Notify_Event(tutorTag);
                }
                //return true;
            }
            return(false);
        }
Exemple #24
0
 public AnimalMenu(TieredFloatMenu parentWindow, ColonistGroup colonistGroup, Rect originRect, Texture2D backgroundTexture, string menuTitle)
     : base(parentWindow, colonistGroup, originRect, backgroundTexture, menuTitle)
 {
     animalNodes = new Dictionary <ThingDef, TreeNode_Pawns>();
 }