public void UpdateMainTabVisibility(MainTabsRoot mainTabsRoot, IEnumerable <string> hiddenTabs)
        {
            HashSet <string> hashSet = new HashSet <string>();

            foreach (string current in hiddenTabs)
            {
                hashSet.Add(current);
            }
            foreach (MainTabDef current2 in mainTabsRoot.AllTabs)
            {
                if (!this.preference.IsTabExcluded(current2.defName))
                {
                    if (current2.Window != null)
                    {
                        if (hashSet.Contains(current2.defName))
                        {
                            current2.showTabButton = false;
                        }
                        else
                        {
                            current2.showTabButton = true;
                        }
                    }
                }
            }
        }
        public void PrepareDependencies(UserInterface userInterface)
        {
            MainTabsRoot mainTabsRoot = userInterface.MainTabsRoot;

            this.preference.ValueChanged += delegate(bool value)
            {
                this.UpdateButtonState(mainTabsRoot, value);
            };
        }
        public void PrepareDependencies(UserInterface userInterface)
        {
            MainTabsRoot mainTabsRoot = userInterface.MainTabsRoot;

            this.preference.ValueChanged += delegate(IEnumerable <string> selectedOptions)
            {
                this.UpdateMainTabVisibility(mainTabsRoot, selectedOptions);
            };
        }
 public void UpdateButtonState(MainTabsRoot mainTabsRoot, bool value)
 {
     foreach (MainTabDef current in mainTabsRoot.AllTabs)
     {
         if (current.showTabButton)
         {
             MainTabWindow window = current.Window;
             if (window != null)
             {
                 window.doCloseX = value;
             }
         }
     }
 }
        public void Initialize(UserInterface userInterface)
        {
            MainTabsRoot mainTabsRoot = userInterface.MainTabsRoot;

            foreach (MainTabDef current in mainTabsRoot.AllTabs)
            {
                MainTabWindow window = current.Window;
                if (window != null)
                {
                    MainTabWindow_Architect mainTabWindow_Architect = window as MainTabWindow_Architect;
                    if (mainTabWindow_Architect != null)
                    {
                        Designator_ZoneAddStockpile_Resources designator_ZoneAddStockpile_Resources = new Designator_ZoneAddStockpile_Resources();
                        designator_ZoneAddStockpile_Resources.EmptyZonePreference = this.preference;
                        mainTabWindow_Architect.ReplaceDesignator(typeof(RimWorld.Designator_ZoneAddStockpile_Resources), designator_ZoneAddStockpile_Resources);
                    }
                }
            }
        }
        public void PrepareDependencies(UserInterface userInterface)
        {
            MainTabsRoot mainTabsRoot = userInterface.MainTabsRoot;

            this.preferenceEnableSquadFiltering.PreferenceEnableSquads = this.preferenceEnableSquads;
            this.preferenceEnableSquadRow.PreferenceEnableSquads       = this.preferenceEnableSquads;
            SquadManager.Instance.PreferenceEnableSquads = this.preferenceEnableSquads;
            ColonistTracker.Instance.ColonistChanged    += new ColonistNotificationHandler(SquadManager.Instance.ColonistChanged);
            ComponentColonistBar colonistBarComponent = userInterface.FindNamedComponentAs <ComponentColonistBar>("ColonistBar");

            if (colonistBarComponent == null)
            {
                return;
            }
            colonistBarComponent.ColonistBar.AlwaysShowGroupName = this.preferenceAlwaysShowSquadName.Value;
            this.preferenceAlwaysShowSquadName.ValueChanged     += delegate(bool value)
            {
                colonistBarComponent.ColonistBar.AlwaysShowGroupName = value;
            };
            MainTabDef           squadsWindowTabDef   = mainTabsRoot.FindTabDef("EdB_Interface_Squads");
            MainTabWindow_Squads mainTabWindow_Squads = squadsWindowTabDef.Window as MainTabWindow_Squads;

            if (squadsWindowTabDef != null)
            {
                this.preferenceEnableSquads.ValueChanged += delegate(bool value)
                {
                    this.SquadsEnabledValueChanged(value, squadsWindowTabDef, colonistBarComponent);
                };
            }
            this.supervisor = new ColonistBarSquadSupervisor(colonistBarComponent.ColonistBar);
            SquadManager.Instance.SquadAdded += delegate(Squad Squad)
            {
                this.supervisor.SyncSquadsToColonistBar();
                this.supervisor.UpdateColonistBarGroups();
            };
            SquadManager.Instance.SquadChanged += delegate(Squad Squad)
            {
                this.supervisor.SyncSquadsToColonistBar();
                this.supervisor.UpdateColonistBarGroups();
            };
            SquadManager.Instance.SquadRemoved += delegate(Squad s, int i)
            {
                this.supervisor.SyncSquadsToColonistBar();
                this.supervisor.UpdateColonistBarGroups();
            };
            SquadManager.Instance.SquadDisplayPreferenceChanged += delegate(Squad Squad)
            {
                this.supervisor.SyncSquadsToColonistBar();
                this.supervisor.UpdateColonistBarGroups();
            };
            SquadManager.Instance.SquadOrderChanged += delegate
            {
                this.supervisor.SyncSquadsToColonistBar();
                this.supervisor.UpdateColonistBarGroups();
            };
            colonistBarComponent.ColonistBar.SelectedGroupChanged += new ColonistBar.SelectedGroupChangedHandler(this.supervisor.SelectedGroupChanged);
            this.supervisor.SelectedSquadChanged += delegate(Squad squad)
            {
                SquadManager.Instance.CurrentSquad = squad;
            };
            if (mainTabWindow_Squads != null)
            {
                SquadManager.Instance.SquadChanged += new SquadNotificationHandler(mainTabWindow_Squads.SquadChanged);
            }
            this.initializeAction = delegate
            {
                this.SquadsEnabledValueChanged(this.preferenceEnableSquads.Value, squadsWindowTabDef, colonistBarComponent);
            };
            foreach (MainTabWindow_PawnListWithSquads current in mainTabsRoot.FindWindows <MainTabWindow_PawnListWithSquads>())
            {
                current.PreferenceEnableSquadFiltering = this.preferenceEnableSquadFiltering;
                current.PreferenceEnableSquadRow       = this.preferenceEnableSquadRow;
                current.PreferenceEnableSquads         = this.preferenceEnableSquads;
            }
            this.shortcuts.ColonistBarSquadSupervisor = this.supervisor;
        }
示例#7
0
 public MainTabsComponent(MainTabsRoot mainTabsRoot)
 {
     this.mainTabsRoot = mainTabsRoot;
 }