/// <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);
        }
Example #2
0
        /// <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);
        }
Example #3
0
 /// <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));
     }
 }