NGUI: Next-Gen UI kit  3.7.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345]
 CBetterList< T >This improved version of the System.Collections.Generic.List that doesn't release the buffer on Clear(), resulting in better performance and less garbage collection. PRO: BetterList performs faster than List when you Add and Remove items (although slower if you remove from the beginning). CON: BetterList performs worse when sorting the list. If your operations involve sorting, use the standard List instead.
 CBMFontBMFont reader. C# implementation of
 CBMFontReaderHelper class that takes care of loading BMFont's glyph information from the specified byte array. This functionality is not a part of BMFont anymore because Flash export option can't handle System.IO functions.
 CBMGlyphGlyph structure used by BMFont. For more information see
 CBMSymbolSymbols are a sequence of characters such as ":)" that get replaced with a sprite, such as the smiley face.
 CByteReaderMemoryStream.ReadLine has an interesting oddity: it doesn't always advance the stream's position by the correct amount: Solution? Custom line reader with the added benefit of not having to use streams at all.
 CEventDelegateDelegate callback that Unity can serialize and set via Inspector.
 CFreeTypeFreeType library is a C++ library used to print text from TrueType fonts. Since the code is in a native C++ DLL, you will need Unity Pro in order to use it. FreeType project is open source and can be obtained from
 CGUIDHelper class that is able to convert objects to GUIDs and back.
 CNGUIEditorTools.IntVectorStruct type for the integer vector field below.
 CInvBaseItemInventory System – Base Item. Note that it would be incredibly tedious to create all items by hand, Warcraft style. It's a lot more straightforward to create all items to be of the same level as far as stats go, then specify an appropriate level range for the item where it will appear. Effective item stats can then be calculated by lowering the base stats by an appropriate amount. Add a quality modifier, and you have additional variety, Terraria 1.1 style.
 CInvGameItemSince it would be incredibly tedious to create thousands of unique items by hand, a simple solution is needed. Separating items into 2 parts is that solution. Base item contains stats that the item would have if it was max level. All base items are created with their stats at max level. Game item, the second item class, has an effective item level which is used to calculate effective item stats. Game items can be generated with a random level (clamped within base item's min/max level range), and with random quality affecting the item's stats.
 CInvStatInventory System statistic
 CLocalizationLocalization manager is able to parse localization information from text assets. Using it is simple: text = Localization.Get(key), or just add a UILocalize script to your labels. You can switch the language by using Localization.language = "French", for example. This will attempt to load the file called "French.txt" in the Resources folder, or a column "French" from the Localization.csv file in the Resources folder. If going down the TXT language file route, it's expected that the file is full of key = value pairs, like so:
 CUICamera.MouseOrTouchAmbiguous mouse, touch, or controller event.
 CNGUIContextMenuThis editor helper class makes it easy to create and show a context menu. It ensures that it's possible to add multiple items with the same name.
 CNGUIEditorExtensionsThis class contains NGUI's extensions to Unity Editor's functionality.
 CNGUIEditorToolsTools for the editor
 CNGUIHandlesEditor helper class containing functions related to drawing things in the Scene View using UnityEditor.Handles.
 CNGUIHelpThis script adds the NGUI menu options to the Unity Editor.
 CNGUIJsonThis class encodes and decodes JSON strings. Spec. details, see
 CNGUIMathHelper class containing generic functions used throughout the UI library.
 CNGUIMenuThis script adds the NGUI menu options to the Unity Editor.
 CNGUISettingsUnity doesn't keep the values of static variables after scripts change get recompiled. One way around this is to store the references in EditorPrefs – retrieve them at start, and save them whenever something changes.
 CNGUISnapUtility class that makes it easy to perform snapping while dragging widgets.
 CNGUITextHelper class containing functionality related to using dynamic fonts.
 CNGUIToolsHelper class containing generic functions used throughout the UI library.
 CEventDelegate.ParameterDelegates can have parameters, and this class makes it possible to save references to properties that can then be passed as function arguments, such as transform.position or widget.color.
 CPropertyReferenceReference to a specific field or property that can be set via inspector.
 CUIGeometryGenerated geometry class. All widgets have one. This class separates the geometry creation into several steps, making it possible to perform actions selectively depending on what has changed. For example, the widget doesn't need to be rebuilt unless something actually changes, so its geometry can be cached. Likewise, the widget's transformed coordinates only change if the widget's transform moves relative to the panel, so that can be cached as well. In the end, using this class means using more memory, but at the same time it allows for significant performance gains, especially when using widgets that spit out a lot of vertices, such as UILabels.