AddLibrary() приватный Метод

private AddLibrary ( Library library ) : void
library Library
Результат void
Пример #1
0
        public static Project FromXProxy(ProjectX proxy, ProjectResolver resolver, Project project)
        {
            if (proxy == null)
            {
                return(null);
            }

            if (proxy.PropertyGroup != null)
            {
                project.Uid  = proxy.PropertyGroup.ProjectGuid;
                project.Name = proxy.PropertyGroup.ProjectName;
                project._defaultLibraryUid = proxy.PropertyGroup.DefaultLibrary;
                project.Extra = new List <XmlElement>(proxy.PropertyGroup.Extra ?? new XmlElement[0]);
            }

            project._texturePool = new MetaTexturePool();

            project._tilePools   = new MetaTilePoolManager(project._texturePool);
            project._objectPools = new MetaObjectPoolManager(project._texturePool);
            project._tileBrushes = new MetaTileBrushManager();

            foreach (var itemGroup in proxy.ItemGroups)
            {
                if (itemGroup.Libraries != null)
                {
                    foreach (var libProxy in itemGroup.Libraries)
                    {
                        using (Stream stream = resolver.InputStream(libProxy.Include)) {
                            project.AddLibrary(new Library(stream)
                            {
                                FileName = libProxy.Include,
                            });
                        }
                    }
                }

                if (itemGroup.Levels != null)
                {
                    foreach (var level in itemGroup.Levels)
                    {
                        using (Stream stream = resolver.InputStream(level.Include)) {
                            project.Levels.Add(new Level(stream, project)
                            {
                                FileName = level.Include,
                            });
                        }
                    }
                }
            }

            //project._tilePools.Pools.PropertyChanged += project.TilePoolsModifiedHandler;
            //project._objectPools.Pools.PropertyChanged += project.HandleObjectPoolManagerPropertyChanged;

            return(project);
        }
Пример #2
0
        public static Project FromXProxy(ProjectX proxy, ProjectResolver resolver, Project project)
        {
            if (proxy == null)
                return null;

            if (proxy.PropertyGroup != null) {
                project.Uid = proxy.PropertyGroup.ProjectGuid;
                project.Name = proxy.PropertyGroup.ProjectName;
                project._defaultLibraryUid = proxy.PropertyGroup.DefaultLibrary;
                project.Extra = new List<XmlElement>(proxy.PropertyGroup.Extra ?? new XmlElement[0]);
            }

            project._texturePool = new MetaTexturePool();

            project._tilePools = new MetaTilePoolManager(project._texturePool);
            project._objectPools = new MetaObjectPoolManager(project._texturePool);
            project._tileBrushes = new MetaTileBrushManager();

            foreach (var itemGroup in proxy.ItemGroups) {
                if (itemGroup.Libraries != null) {
                    foreach (var libProxy in itemGroup.Libraries) {
                        using (Stream stream = resolver.InputStream(libProxy.Include)) {
                            project.AddLibrary(new Library(stream) {
                                FileName = libProxy.Include,
                            });
                        }
                    }
                }

                if (itemGroup.Levels != null) {
                    foreach (var level in itemGroup.Levels) {
                        using (Stream stream = resolver.InputStream(level.Include)) {
                            project.Levels.Add(new Level(stream, project) {
                                FileName = level.Include,
                            });
                        }
                    }
                }
            }

            //project._tilePools.Pools.PropertyChanged += project.TilePoolsModifiedHandler;
            //project._objectPools.Pools.PropertyChanged += project.HandleObjectPoolManagerPropertyChanged;

            return project;
        }