Load() public method

public Load ( ) : object
return object
示例#1
0
        /// <summary>
        ///
        /// </summary>
        protected void LoadContent()
        {
            ClearContent();

            if (string.IsNullOrEmpty(_url))
            {
                return;
            }

            _contentItem = UIPackage.GetItemByURL(_url);

            if (_contentItem != null)
            {
                _contentItem = _contentItem.getBranch();
                _contentItem = _contentItem.getHighResolution();
                _contentItem.Load();

                if (_contentItem.type == PackageItemType.Spine)
                {
#if FAIRYGUI_SPINE
                    LoadSpine();
#endif
                }
                else if (_contentItem.type == PackageItemType.DragoneBones)
                {
#if FAIRYGUI_DRAGONBONES
                    LoadDragonBones();
#endif
                }
            }
            else
            {
                LoadExternal();
            }
        }
示例#2
0
        override public void ConstructFromResource(PackageItem pkgItem)
        {
            _packageItem = pkgItem;
            _packageItem.Load();

            ConstructFromXML(_packageItem.componentData);
        }
        public static GObject NewObject(PackageItem pi)
        {
            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;
                        }

                        pi.Load();
                        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;
        }
示例#4
0
        protected void LoadFromPackage(string itemURL)
        {
            _contentItem = UIPackage.GetItemByURL(itemURL);

            if (_contentItem != null)
            {
                _contentItem.Load();
                if (_contentItem.type == PackageItemType.Image)
                {
                    _image.texture     = _contentItem.texture;
                    _image.scale9Grid  = _contentItem.scale9Grid;
                    _image.scaleByTile = _contentItem.scaleByTile;
                    _activeObject      = _image;

                    _contentSourceWidth  = _contentItem.width;
                    _contentSourceHeight = _contentItem.height;
                    UpdateLayout();
                }
                else if (_contentItem.type == PackageItemType.MovieClip)
                {
                    if (_movieClip == null)
                    {
                        _movieClip = new MovieClip();
                        if (grayed)
                        {
                            _movieClip.SetGrayed(true);
                        }
                        _container.AddChild(_movieClip);
                    }

                    _contentSourceWidth  = _contentItem.width;
                    _contentSourceHeight = _contentItem.height;

                    _movieClip.interval = _contentItem.interval;
                    _movieClip.SetData(_contentItem.texture, _contentItem.frames);
                    _movieClip.boundsRect   = new Rect(0, 0, _contentSourceWidth, _contentSourceHeight);
                    _movieClip.playing      = _playing;
                    _movieClip.currentFrame = _frame;
                    _activeObject           = _movieClip;

                    UpdateLayout();
                }
                else
                {
                    SetErrorState();
                }
            }
            else
            {
                SetErrorState();
            }
        }
 static public int Load(IntPtr l)
 {
     try {
         FairyGUI.PackageItem self = (FairyGUI.PackageItem)checkSelf(l);
         var ret = self.Load();
         pushValue(l, true);
         pushValue(l, ret);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
示例#6
0
        override public void ConstructFromResource(PackageItem pkgItem)
        {
            _packageItem         = pkgItem;
            sourceWidth          = _packageItem.width;
            sourceHeight         = _packageItem.height;
            initWidth            = sourceWidth;
            initHeight           = sourceHeight;
            _content.scale9Grid  = _packageItem.scale9Grid;
            _content.scaleByTile = _packageItem.scaleByTile;

            _packageItem.Load();

            _content.texture = _packageItem.texture;

            SetSize(sourceWidth, sourceHeight);
        }
示例#7
0
        public override void ConstructFromResource(PackageItem pkgItem)
        {
            _packageItem = pkgItem;
            sourceWidth = _packageItem.width;
            sourceHeight = _packageItem.height;
            initWidth = sourceWidth;
            initHeight = sourceHeight;
            _content.scale9Grid = _packageItem.scale9Grid;
            _content.scaleByTile = _packageItem.scaleByTile;

            _packageItem.Load();

            _content.texture = _packageItem.texture;

            SetSize(sourceWidth, sourceHeight);
        }
示例#8
0
        override public void ConstructFromResource(PackageItem pkgItem)
        {
            _packageItem = pkgItem;

            sourceWidth  = _packageItem.width;
            sourceHeight = _packageItem.height;
            initWidth    = sourceWidth;
            initHeight   = sourceHeight;

            _packageItem.Load();
            _content.interval   = _packageItem.interval;
            _content.frames     = _packageItem.frames;
            _content.boundsRect = new Rect(0, 0, sourceWidth, sourceHeight);

            SetSize(sourceWidth, sourceHeight);
        }
示例#9
0
        override public void ConstructFromResource(PackageItem pkgItem)
        {
            _packageItem = pkgItem;

            sourceWidth  = _packageItem.width;
            sourceHeight = _packageItem.height;
            initWidth    = sourceWidth;
            initHeight   = sourceHeight;

            _packageItem.Load();
            _content.interval    = _packageItem.interval;
            _content.swing       = _packageItem.swing;
            _content.repeatDelay = _packageItem.repeatDelay;
            _content.SetData(_packageItem.texture, _packageItem.frames, new Rect(0, 0, sourceWidth, sourceHeight));

            SetSize(sourceWidth, sourceHeight);
        }
示例#10
0
        protected void LoadFromPackage(string itemURL)
        {
            _contentItem = UIPackage.GetItemByURL(itemURL);

            if (_contentItem != null)
            {
                _contentItem.Load();

                if (_contentItem.type == PackageItemType.Image)
                {
                    _content.texture        = _contentItem.texture;
                    _content.scale9Grid     = _contentItem.scale9Grid;
                    _content.scaleByTile    = _contentItem.scaleByTile;
                    _content.tileGridIndice = _contentItem.tileGridIndice;

                    _contentSourceWidth  = _contentItem.width;
                    _contentSourceHeight = _contentItem.height;
                    UpdateLayout();
                }
                else if (_contentItem.type == PackageItemType.MovieClip)
                {
                    _contentSourceWidth  = _contentItem.width;
                    _contentSourceHeight = _contentItem.height;

                    _content.interval    = _contentItem.interval;
                    _content.swing       = _contentItem.swing;
                    _content.repeatDelay = _contentItem.repeatDelay;
                    _content.SetData(_contentItem.texture, _contentItem.frames, new Rect(0, 0, _contentSourceWidth, _contentSourceHeight));

                    UpdateLayout();
                }
                else
                {
                    if (_autoSize)
                    {
                        this.SetSize(_contentItem.width, _contentItem.height);
                    }

                    SetErrorState();
                }
            }
            else
            {
                SetErrorState();
            }
        }
示例#11
0
        override public void ConstructFromResource()
        {
            PackageItem contentItem = packageItem.getBranch();

            sourceWidth  = contentItem.width;
            sourceHeight = contentItem.height;
            initWidth    = sourceWidth;
            initHeight   = sourceHeight;
            contentItem  = contentItem.getHighResolution();
            contentItem.Load();

            _content.interval    = contentItem.interval;
            _content.swing       = contentItem.swing;
            _content.repeatDelay = contentItem.repeatDelay;
            _content.frames      = contentItem.frames;

            SetSize(sourceWidth, sourceHeight);
        }
示例#12
0
        override public void ConstructFromResource()
        {
            PackageItem contentItem = packageItem.getBranch();

            sourceWidth  = contentItem.width;
            sourceHeight = contentItem.height;
            initWidth    = sourceWidth;
            initHeight   = sourceHeight;

            contentItem = contentItem.getHighResolution();
            contentItem.Load();
            _content.scale9Grid     = contentItem.scale9Grid;
            _content.scaleByTile    = contentItem.scaleByTile;
            _content.tileGridIndice = contentItem.tileGridIndice;
            _content.texture        = contentItem.texture;

            SetSize(sourceWidth, sourceHeight);
        }
示例#13
0
        override public void ConstructFromResource()
        {
            this.gameObjectName = packageItem.name;

            PackageItem contentItem = packageItem.getBranch();

            sourceWidth  = contentItem.width;
            sourceHeight = contentItem.height;
            initWidth    = sourceWidth;
            initHeight   = sourceHeight;

            contentItem = contentItem.getHighResolution();
            contentItem.Load();
            _content.scale9Grid     = contentItem.scale9Grid;
            _content.scaleByTile    = contentItem.scaleByTile;
            _content.tileGridIndice = contentItem.tileGridIndice;
            _content.texture        = contentItem.texture;
            _content.textureScale   = new Vector2(contentItem.width / (float)sourceWidth, contentItem.height / (float)sourceHeight);

            SetSize(sourceWidth, sourceHeight);
        }
示例#14
0
        void LoadPackage()
        {
            string[] arr = null;
            string str;

            str = LoadString("sprites.bytes");
            arr = str.Split(sep1);
            int cnt = arr.Length;
            for (int i = 1; i < cnt; i++)
            {
                str = arr[i];
                if (str.Length == 0)
                    continue;

                string[] arr2 = str.Split(sep2);
                AtlasSprite sprite = new AtlasSprite();
                string itemId = arr2[0];
                int binIndex = int.Parse(arr2[1]);
                if (binIndex >= 0)
                    sprite.atlas = "atlas" + binIndex;
                else
                {
                    int pos = itemId.IndexOf("_");
                    if (pos == -1)
                        sprite.atlas = "atlas_" + itemId;
                    else
                        sprite.atlas = "atlas_" + itemId.Substring(0, pos);
                }
                sprite.rect.x = int.Parse(arr2[2]);
                sprite.rect.y = int.Parse(arr2[3]);
                sprite.rect.width = int.Parse(arr2[4]);
                sprite.rect.height = int.Parse(arr2[5]);
                sprite.rotated = arr2[6] == "1";
                _sprites[itemId] = sprite;
            }

            str = GetDesc("package.xml");
            XML xml = new XML(str);

            id = xml.GetAttribute("id");
            name = xml.GetAttribute("name");

            XML rxml = xml.GetNode("resources");
            if (rxml == null)
                throw new Exception("Invalid package xml");

            XMLList resources = rxml.Elements();

            _itemsById = new Dictionary<string, PackageItem>();
            _itemsByName = new Dictionary<string, PackageItem>(); ;
            PackageItem pi;

            foreach (XML cxml in resources)
            {
                pi = new PackageItem();
                pi.type = FieldTypes.ParsePackageItemType(cxml.name);
                pi.id = cxml.GetAttribute("id");
                pi.name = cxml.GetAttribute("name");
                pi.file = cxml.GetAttribute("file");
                str = cxml.GetAttribute("size");
                if (str != null)
                {
                    arr = str.Split(sep0);
                    pi.width = int.Parse(arr[0]);
                    pi.height = int.Parse(arr[1]);
                }
                switch (pi.type)
                {
                    case PackageItemType.Image:
                        {
                            string scale = cxml.GetAttribute("scale");
                            if (scale == "9grid")
                            {
                                arr = cxml.GetAttributeArray("scale9grid");
                                if (arr != null)
                                {
                                    Rect rect = new Rect();
                                    rect.x = int.Parse(arr[0]);
                                    rect.y = int.Parse(arr[1]);
                                    rect.width = int.Parse(arr[2]);
                                    rect.height = int.Parse(arr[3]);
                                    pi.scale9Grid = rect;
                                }
                            }
                            else if (scale == "tile")
                                pi.scaleByTile = true;
                            break;
                        }
                }
                pi.owner = this;
                _items.Add(pi);
                _itemsById[pi.id] = pi;
                if (pi.name != null)
                    _itemsByName[pi.name] = pi;
            }

            cnt = _items.Count;
            for (int i = 0; i < cnt; i++)
            {
                pi = _items[i];
                if (pi.type == PackageItemType.Font)
                {
                    pi.Load();
                    FontManager.RegisterFont(pi.bitmapFont, null);
                }
                else
                    GetItemAsset(pi);
            }

            if (_resBundle != null)
            {
                _resBundle.Unload(false);
                _resBundle = null;
            }
        }
示例#15
0
        protected void LoadFromPackage(string itemURL)
        {
            _contentItem = UIPackage.GetItemByURL(itemURL);

            if (_contentItem != null)
            {
                _contentItem.Load();

                if (_contentItem.type == PackageItemType.Image)
                {
                    _content.texture        = _contentItem.texture;
                    _content.scale9Grid     = _contentItem.scale9Grid;
                    _content.scaleByTile    = _contentItem.scaleByTile;
                    _content.tileGridIndice = _contentItem.tileGridIndice;

                    _contentSourceWidth  = _contentItem.width;
                    _contentSourceHeight = _contentItem.height;
                    UpdateLayout();
                }
                else if (_contentItem.type == PackageItemType.MovieClip)
                {
                    _contentSourceWidth  = _contentItem.width;
                    _contentSourceHeight = _contentItem.height;

                    _content.interval    = _contentItem.interval;
                    _content.swing       = _contentItem.swing;
                    _content.repeatDelay = _contentItem.repeatDelay;
                    _content.SetData(_contentItem.texture, _contentItem.frames, new Rect(0, 0, _contentSourceWidth, _contentSourceHeight));

                    UpdateLayout();
                }
                else if (_contentItem.type == PackageItemType.Component)
                {
                    _contentSourceWidth  = _contentItem.width;
                    _contentSourceHeight = _contentItem.height;

                    GObject obj = UIPackage.CreateObjectFromURL(itemURL);
                    if (obj == null)
                    {
                        SetErrorState();
                    }
                    else if (!(obj is GComponent))
                    {
                        obj.Dispose();
                        SetErrorState();
                    }
                    else
                    {
                        _content2 = (GComponent)obj;
                        ((Container)displayObject).AddChild(_content2.displayObject);
                        UpdateLayout();
                    }
                }
                else
                {
                    if (_autoSize)
                    {
                        this.SetSize(_contentItem.width, _contentItem.height);
                    }

                    SetErrorState();
                }
            }
            else
            {
                SetErrorState();
            }
        }
示例#16
0
        public override void ConstructFromResource(PackageItem pkgItem)
        {
            _packageItem = pkgItem;
            _packageItem.Load();

            ConstructFromXML(_packageItem.componentData);
        }
示例#17
0
        public override void ConstructFromResource(PackageItem pkgItem)
        {
            _packageItem = pkgItem;

            sourceWidth = _packageItem.width;
            sourceHeight = _packageItem.height;
            initWidth = sourceWidth;
            initHeight = sourceHeight;

            _packageItem.Load();
            _content.interval = _packageItem.interval;
            _content.frames = _packageItem.frames;
            _content.boundsRect = new Rect(0, 0, sourceWidth, sourceHeight);

            SetSize(sourceWidth, sourceHeight);
        }
示例#18
0
        protected void LoadFromPackage(string itemURL)
        {
            _contentItem = UIPackage.GetItemByURL(itemURL);

            if (_contentItem != null)
            {
                _contentItem.Load();
                if (_contentItem.type == PackageItemType.Image)
                {
                    _content.texture = _contentItem.texture;
                    _content.scale9Grid = _contentItem.scale9Grid;
                    _content.scaleByTile = _contentItem.scaleByTile;

                    _contentSourceWidth = _contentItem.width;
                    _contentSourceHeight = _contentItem.height;
                    UpdateLayout();
                }
                else if (_contentItem.type == PackageItemType.MovieClip)
                {
                    _contentSourceWidth = _contentItem.width;
                    _contentSourceHeight = _contentItem.height;

                    _content.interval = _contentItem.interval;
                    _content.swing = _contentItem.swing;
                    _content.repeatDelay = _contentItem.repeatDelay;
                    _content.SetData(_contentItem.texture, _contentItem.frames, new Rect(0, 0, _contentSourceWidth, _contentSourceHeight));
                    _content.playing = _playing;
                    _content.currentFrame = _frame;

                    UpdateLayout();
                }
                else
                    SetErrorState();
            }
            else
                SetErrorState();
        }
示例#19
0
        protected void LoadFromPackage(string itemURL)
        {
            _contentItem = UIPackage.GetItemByURL(itemURL);

            if (_contentItem != null)
            {
                _contentItem = _contentItem.getBranch();
                sourceWidth  = _contentItem.width;
                sourceHeight = _contentItem.height;
                _contentItem = _contentItem.getHighResolution();
                _contentItem.Load();

                if (_contentItem.type == PackageItemType.Image)
                {
                    _content.texture        = _contentItem.texture;
                    _content.textureScale   = new Vector2(_contentItem.width / (float)sourceWidth, _contentItem.height / (float)sourceHeight);
                    _content.scale9Grid     = _contentItem.scale9Grid;
                    _content.scaleByTile    = _contentItem.scaleByTile;
                    _content.tileGridIndice = _contentItem.tileGridIndice;

                    UpdateLayout();
                }
                else if (_contentItem.type == PackageItemType.MovieClip)
                {
                    _content.interval    = _contentItem.interval;
                    _content.swing       = _contentItem.swing;
                    _content.repeatDelay = _contentItem.repeatDelay;
                    _content.frames      = _contentItem.frames;

                    UpdateLayout();
                }
                else if (_contentItem.type == PackageItemType.Component)
                {
                    GObject obj = UIPackage.CreateObjectFromURL(itemURL);
                    if (obj == null)
                    {
                        SetErrorState();
                    }
                    else if (!(obj is GComponent))
                    {
                        obj.Dispose();
                        SetErrorState();
                    }
                    else
                    {
                        _content2 = (GComponent)obj;
                        ((Container)displayObject).AddChild(_content2.displayObject);
                        UpdateLayout();
                    }
                }
                else
                {
                    if (_autoSize)
                    {
                        this.SetSize(_contentItem.width, _contentItem.height);
                    }

                    SetErrorState();

                    Debug.LogWarning("Unsupported type of GLoader: " + _contentItem.type);
                }
            }
            else
            {
                SetErrorState();
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="pi"></param>
        /// <returns></returns>
        public static GObject NewObject(PackageItem pi)
        {
            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);
                }

                pi.Load();
                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);
        }
示例#21
0
        protected void LoadFromPackage(string itemURL)
        {
            _contentItem = UIPackage.GetItemByURL(itemURL);

            if (_contentItem != null)
            {
                _contentItem.Load();
                if (_contentItem.type == PackageItemType.Image)
                {
                    _image.texture = _contentItem.texture;
                    _image.scale9Grid = _contentItem.scale9Grid;
                    _image.scaleByTile = _contentItem.scaleByTile;
                    _activeObject = _image;

                    _contentSourceWidth = _contentItem.width;
                    _contentSourceHeight = _contentItem.height;
                    UpdateLayout();
                }
                else if (_contentItem.type == PackageItemType.MovieClip)
                {
                    if (_movieClip == null)
                    {
                        _movieClip = new MovieClip();
                        if (grayed)
                            _movieClip.SetGrayed(true);
                        _container.AddChild(_movieClip);
                    }
                    _movieClip.interval = _contentItem.interval;
                    _movieClip.frames = _contentItem.frames;
                    _movieClip.boundsRect = new Rect(0, 0, _contentSourceWidth, _contentSourceHeight);
                    _movieClip.playing = _playing;
                    _movieClip.currentFrame = _frame;
                    _activeObject = _movieClip;

                    _contentSourceWidth = _contentItem.width;
                    _contentSourceHeight = _contentItem.height;
                    UpdateLayout();
                }
                else
                    SetErrorState();
            }
            else
                SetErrorState();
        }
        public override void ConstructFromResource(PackageItem pkgItem)
        {
            _packageItem = pkgItem;

            sourceWidth = _packageItem.width;
            sourceHeight = _packageItem.height;
            initWidth = sourceWidth;
            initHeight = sourceHeight;

            _packageItem.Load();
            _content.interval = _packageItem.interval;
            _content.swing = _packageItem.swing;
            _content.repeatDelay = _packageItem.repeatDelay;
            _content.SetData(_packageItem.texture, _packageItem.frames, new Rect(0, 0, sourceWidth, sourceHeight));

            SetSize(sourceWidth, sourceHeight);
        }
示例#23
0
        void LoadPackage()
        {
            string str = this.LoadString("sprites.bytes");

            string[] arr = str.Split(sep1);
            int      cnt = arr.Length;

            for (int i = 1; i < cnt; i++)
            {
                str = arr[i];
                if (str.Length == 0)
                {
                    continue;
                }

                string[]    arr2     = str.Split(sep2);
                AtlasSprite sprite   = new AtlasSprite();
                string      itemId   = arr2[0];
                int         binIndex = int.Parse(arr2[1]);
                if (binIndex >= 0)
                {
                    sprite.atlas = "atlas" + binIndex;
                }
                else
                {
                    int pos = itemId.IndexOf("_");
                    if (pos == -1)
                    {
                        sprite.atlas = "atlas_" + itemId;
                    }
                    else
                    {
                        sprite.atlas = "atlas_" + itemId.Substring(0, pos);
                    }
                }
                sprite.rect.x      = int.Parse(arr2[2]);
                sprite.rect.y      = int.Parse(arr2[3]);
                sprite.rect.width  = int.Parse(arr2[4]);
                sprite.rect.height = int.Parse(arr2[5]);
                sprite.rotated     = arr2[6] == "1";
                _sprites[itemId]   = sprite;
            }

            str = GetDesc("package.xml");
            XML xml = new XML(str);

            id   = xml.GetAttribute("id");
            name = xml.GetAttribute("name");

            XML rxml = xml.GetNode("resources");

            if (rxml == null)
            {
                throw new Exception("Invalid package xml");
            }

            XMLList resources = rxml.Elements();

            _itemsById   = new Dictionary <string, PackageItem>();
            _itemsByName = new Dictionary <string, PackageItem>();
            PackageItem pi;

            foreach (XML cxml in resources)
            {
                pi      = new PackageItem();
                pi.type = FieldTypes.ParsePackageItemType(cxml.name);
                pi.id   = cxml.GetAttribute("id");
                pi.name = cxml.GetAttribute("name");
                pi.file = cxml.GetAttribute("file");
                str     = cxml.GetAttribute("size");
                if (str != null)
                {
                    arr       = str.Split(sep0);
                    pi.width  = int.Parse(arr[0]);
                    pi.height = int.Parse(arr[1]);
                }
                switch (pi.type)
                {
                case PackageItemType.Image:
                {
                    string scale = cxml.GetAttribute("scale");
                    if (scale == "9grid")
                    {
                        arr = cxml.GetAttributeArray("scale9grid");
                        if (arr != null)
                        {
                            Rect rect = new Rect();
                            rect.x        = int.Parse(arr[0]);
                            rect.y        = int.Parse(arr[1]);
                            rect.width    = int.Parse(arr[2]);
                            rect.height   = int.Parse(arr[3]);
                            pi.scale9Grid = rect;
                        }
                    }
                    else if (scale == "tile")
                    {
                        pi.scaleByTile = true;
                    }
                    break;
                }
                }
                pi.owner = this;
                _items.Add(pi);
                _itemsById[pi.id] = pi;
                if (pi.name != null)
                {
                    _itemsByName[pi.name] = pi;
                }
            }

            cnt = _items.Count;
            for (int i = 0; i < cnt; i++)
            {
                pi = _items[i];
                if (pi.type == PackageItemType.Font)
                {
                    pi.Load();
                    FontManager.RegisterFont(pi.bitmapFont, null);
                }
                else
                {
                    GetItemAsset(pi);
                }
            }

            if (_resBundle != null)
            {
                _resBundle.Unload(false);
                _resBundle = null;
            }
        }