/// <summary> /// /// </summary> /// <param name="pi"></param> /// <param name="userClass"></param> /// <returns></returns> public static GObject NewObject(PackageItem pi, System.Type userClass = null) { GObject obj; if (pi.type == PackageItemType.Component) { if (userClass != null) { Stats.LatestObjectCreation++; obj = (GComponent)Activator.CreateInstance(userClass); } else if (pi.extensionCreator != null) { Stats.LatestObjectCreation++; obj = pi.extensionCreator(); } else { obj = NewObject(pi.objectType); } } else { obj = NewObject(pi.objectType); } if (obj != null) { obj.packageItem = pi; } return(obj); }
/// <summary> /// /// </summary> /// <param name="pi"></param> /// <returns></returns> 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: { if (pi.extensionCreator != null) { return(pi.extensionCreator()); } 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); }
/// <summary> /// /// </summary> /// <param name="pi"></param> /// <returns></returns> public static GObject NewObject(PackageItem pi) { if (pi.extensionCreator != null) { Stats.LatestObjectCreation++; return(pi.extensionCreator()); } else { return(NewObject(pi.objectType)); } }