Пример #1
0
        async Task Save()
        {
            TextureResourceInfo.SaveTXPicToFile(mCurrentTextureResInfo.ResourceName.Address, ref mCurrentTextureResInfo.mCurrentDesc.PicDesc, mCurrentTextureResInfo.mCurrentDesc.RawData, mCurrentTextureResInfo.mCurrentDesc);
            await mCurrentTextureResInfo.Save();

            mCurrentTextureResInfo.IsDirty = false;
        }
Пример #2
0
        async Task RefreshETCImg()
        {
            var files = EngineNS.CEngine.Instance.FileManager.GetFiles(EngineNS.CEngine.Instance.FileManager.ProjectContent, "*" + EngineNS.CEngineDesc.TextureExtension, System.IO.SearchOption.AllDirectories);
            int index = 0;

            foreach (var file in files)
            {
                //var file = @"E:\Engine\Content\Test\TexTest\eyediffuse.txpic";
                System.Diagnostics.Debug.WriteLine($"-------------{System.DateTime.Now}---{index}/{files.Count} {file}");

                var resInfo = await EditorCommon.Resources.ResourceInfoManager.Instance.CreateResourceInfoFromFile(file + EditorCommon.Program.ResourceInfoExt, null) as TextureResourceInfo;

                if (resInfo == null)
                {
                    System.Diagnostics.Debugger.Break();
                }

                await TextureResourceInfo.GetTextureDesc(resInfo.ResourceName.Address, resInfo.mCurrentDesc);

                TextureResourceInfo.SaveTXPicToFile(file, ref resInfo.mCurrentDesc.PicDesc, resInfo.mCurrentDesc.RawData, resInfo.mCurrentDesc);

                await resInfo.Save();

                System.GC.Collect();
                index++;
            }
        }
Пример #3
0
        public async Task SetObjectToEdit(ResourceEditorContext context)
        {
            mCurrentTextureResInfo = context.ResInfo as TextureResourceInfo;
            SetBinding(TitleProperty, new Binding("ResourceName")
            {
                Source = context.ResInfo, Converter = new EditorCommon.Converter.RNameConverter_PureName()
            });

            //mCurrentDesc = new TextureDesc();
            await TextureResourceInfo.GetTextureDesc(mCurrentTextureResInfo.ResourceName.Address, mCurrentTextureResInfo.mCurrentDesc);

            mCurrentBitmapImage = new System.Windows.Media.Imaging.BitmapImage();
            mCurrentBitmapImage.BeginInit();
            mCurrentBitmapImage.StreamSource = new System.IO.MemoryStream(mCurrentTextureResInfo.mCurrentDesc.RawData);
            mCurrentBitmapImage.EndInit();
            mCurrentBitmapImage.CacheOption = BitmapCacheOption.OnLoad;

            Image_Texture.Source = mCurrentBitmapImage;
            TextBlock_Info.Text  = $"{mCurrentBitmapImage.PixelWidth}X{mCurrentBitmapImage.PixelHeight} {mCurrentBitmapImage.Format}";

            mCurrentTextureResInfo.Dimensions  = mCurrentBitmapImage.PixelWidth + "X" + mCurrentBitmapImage.PixelHeight;
            mCurrentTextureResInfo.PixelFormat = mCurrentBitmapImage.Format;

            PG_TextureInfo.Instance = mCurrentTextureResInfo.mCurrentDesc;
            mCurrentTextureResInfo.mCurrentDesc.PropertyChanged += (object sender, PropertyChangedEventArgs e) =>
            {
                mCurrentTextureResInfo.IsDirty = true;
            };

            if (mCurrentBitmapImage.Format == PixelFormats.Gray8)
            {
                ShowGChannel     = false;
                IsEnableGChannel = false;
                ShowBChannel     = false;
                IsEnableBChannel = false;
                ShowAChannel     = false;
                IsEnableAChannel = false;
            }
        }