ACR_ChooserCreator.Waiter.DrawNavigatorCategory C# (CSharp) Method

DrawNavigatorCategory() public static method

public static DrawNavigatorCategory ( CLRScriptBase script, NavigatorCategory nav ) : void
script CLRScriptFramework.CLRScriptBase
nav NavigatorCategory
return void
        public static void DrawNavigatorCategory(CLRScriptBase script, NavigatorCategory nav)
        {
            if (nav != null)
            {
                script.ClearListBox(script.OBJECT_SELF, "SCREEN_DMC_CREATOR", "LISTBOX_ACR_CREATOR");
                if (nav.ParentCategory != null)
                {
                    string textFields = "LISTBOX_ITEM_TEXT=  ..";
                    string variables = "5=Category:..";
                    script.AddListBoxRow(script.OBJECT_SELF, "SCREEN_DMC_CREATOR", "LISTBOX_ACR_CREATOR", "Category:..", textFields, "LISTBOX_ITEM_ICON=folder.tga", variables, "unhide");
                }
                foreach (NavigatorCategory navCat in nav.ContainedCategories)
                {
                    string textFields = String.Format("LISTBOX_ITEM_TEXT=  {0}", navCat.DisplayName);
                    string variables = String.Format("5={0}", "Category:" + navCat.Name);
                    script.AddListBoxRow(script.OBJECT_SELF, "SCREEN_DMC_CREATOR", "LISTBOX_ACR_CREATOR", "Category:" + navCat.Name, textFields, "LISTBOX_ITEM_ICON=folder.tga", variables, "unhide");
                }
                foreach (IListBoxItem navItem in nav.ContainedItems)
                {
                    script.AddListBoxRow(script.OBJECT_SELF, "SCREEN_DMC_CREATOR", "LISTBOX_ACR_CREATOR", navItem.RowName, navItem.TextFields, navItem.Icon, navItem.Variables, "unhide");
                }
            }
            else
            {
                script.SendMessageToPC(script.OBJECT_SELF, "Error: Navigator category is null. Cannot draw a list.");
            }
        }

Usage Example

        public static void WaitForSearch(CLRScriptBase script, User currentUser, ACR_ChooserCreator.ACR_CreatorCommand currentTab, CreatorSearch awaitedSearch)
        {
            if (awaitedSearch == null)
            {
                // Search has been removed. Abort.
                return;
            }
            if (awaitedSearch.CancellationPending)
            {
                // Search has been canceled. Abort.
                return;
            }
            if (currentUser.openCommand != currentTab)
            {
                // User has switched tabs. Kill the search.
                return;
            }
            if (currentUser.CreatorSearchResponse != null)
            {
                // Looks like we've finished. Draw a list!
                CreatorSearch oldSearch = currentUser.CurrentSearch;
                currentUser.CurrentSearch = null;
                oldSearch.Dispose();

                Waiter.DrawNavigatorCategory(script, currentUser.CreatorSearchResponse);
                switch (currentUser.openCommand)
                {
                case ACR_ChooserCreator.ACR_CreatorCommand.ACR_CHOOSERCREATOR_FOCUS_CREATURE_TAB:
                    currentUser.CurrentCreatureCategory = currentUser.CreatorSearchResponse;
                    break;

                case ACR_ChooserCreator.ACR_CreatorCommand.ACR_CHOOSERCREATOR_FOCUS_ITEM_TAB:
                    currentUser.CurrentItemCategory = currentUser.CreatorSearchResponse;
                    break;

                case ACR_ChooserCreator.ACR_CreatorCommand.ACR_CHOOSERCREATOR_FOCUS_LIGHTS_TAB:
                    currentUser.CurrentLightCategory = currentUser.CreatorSearchResponse;
                    break;

                case ACR_ChooserCreator.ACR_CreatorCommand.ACR_CHOOSERCREATOR_FOCUS_PLACEABLE_TAB:
                    currentUser.CurrentPlaceableCategory = currentUser.CreatorSearchResponse;
                    break;

                case ACR_ChooserCreator.ACR_CreatorCommand.ACR_CHOOSERCREATOR_FOCUS_TRAP_TAB:
                    currentUser.CurrentTrapCategory = currentUser.CreatorSearchResponse;
                    break;

                case ACR_ChooserCreator.ACR_CreatorCommand.ACR_CHOOSERCREATOR_FOCUS_VFX_TAB:
                    currentUser.CurrentVisualEffectCategory = currentUser.CreatorSearchResponse;
                    break;

                case ACR_ChooserCreator.ACR_CreatorCommand.ACR_CHOOSERCREATOR_FOCUS_WAYPOINT_TAB:
                    currentUser.CurrentWaypointCategory = currentUser.CreatorSearchResponse;
                    break;
                }
                return;
            }
            script.DelayCommand(1.0f, delegate { WaitForSearch(script, currentUser, currentTab, awaitedSearch); });
        }
All Usage Examples Of ACR_ChooserCreator.Waiter::DrawNavigatorCategory