FairyGUI.UIObjectFactory.NewObject C# (CSharp) Method

NewObject() public static method

public static NewObject ( PackageItem pi ) : GObject
pi PackageItem
return GObject
        public static GObject NewObject(PackageItem pi)
        {
            Stats.LatestObjectCreation++;

            switch (pi.type)
            {
                case PackageItemType.Image:
                    return new GImage();

                case PackageItemType.MovieClip:
                    return new GMovieClip();

                case PackageItemType.Component:
                    {
                        ConstructorInfo extentionConstructor;
                        if (packageItemExtensions.TryGetValue(pi.owner.id + pi.id, out extentionConstructor))
                        {
                            GComponent g = (GComponent)extentionConstructor.Invoke(null);
                            if (g == null)
                                throw new Exception("Unable to create instance of '" + extentionConstructor.Name + "'");

                            return g;
                        }

                        XML xml = pi.componentData;
                        string extention = xml.GetAttribute("extention");
                        if (extention != null)
                        {
                            switch (extention)
                            {
                                case "Button":
                                    return new GButton();

                                case "Label":
                                    return new GLabel();

                                case "ProgressBar":
                                    return new GProgressBar();

                                case "Slider":
                                    return new GSlider();

                                case "ScrollBar":
                                    return new GScrollBar();

                                case "ComboBox":
                                    return new GComboBox();

                                default:
                                    return new GComponent();
                            }
                        }
                        else
                            return new GComponent();
                    }
            }
            return null;
        }

Same methods

UIObjectFactory::NewObject ( string type ) : GObject

Usage Example

Example #1
0
		GObject CreateObject(PackageItem item, System.Type userClass)
		{
			Stats.LatestObjectCreation = 0;
			Stats.LatestGraphicsCreation = 0;

			GetItemAsset(item);

			GObject g = null;
			if (item.type == PackageItemType.Component)
			{
				if (userClass != null)
					g = (GComponent)userClass.Assembly.CreateInstance(userClass.FullName);
				else
					g = UIObjectFactory.NewObject(item);
			}
			else
				g = UIObjectFactory.NewObject(item);

			if (g == null)
				return null;

			_constructing++;
			g.packageItem = item;
			g.ConstructFromResource();
			_constructing--;
			return g;
		}
All Usage Examples Of FairyGUI.UIObjectFactory::NewObject