public override TextSaveContent Process(TextSaveContent input, ContentProcessorContext context) { // it's possible that the Text has no font. If so, let's just not process anything if (string.IsNullOrEmpty(input.FontTexture)) { return(input); } string combinedPath = Path.Combine(Directory, input.FontTexture); input.FontTextureReference = BitmapTextureProcessor.BuildTexture( combinedPath, context); input.FontTextureReference.Name = input.FontTexture; // See if the .fnt file exists. If not, write it out. if (!string.IsNullOrEmpty(input.FontFile)) { string sourceFontFile = Path.Combine(Directory, input.FontFile); input.FontPatternText = FileManager.FromFileText(sourceFontFile); } return(input); }
/// <summary> /// look at all of the textures in each frame and convert them into external references /// </summary> public override AnimationChainListSaveContent Process(AnimationChainListSaveContent input, ContentProcessorContext context) { string directory = System.IO.Path.GetDirectoryName(input.FileName) + @"\"; BitmapTextureProcessor.ResizeToPowerOfTwo = ResizeToPowerOfTwo; BitmapTextureProcessor.TextureProcessorOutputFormat = TextureProcessorOutputFormat; BitmapTextureProcessor.GenerateMipmaps = GenerateMipmaps; // This doesn't seem to be working......why? #region Loop through all AnimationChains and process them. for (int i = 0; i < input.AnimationChains.Count; i++) { AnimationChainSaveContent ach = input.AnimationChains[i]; List <AnimationFrameSaveContent> newFrames = new List <AnimationFrameSaveContent>(ach.Frames.Count); for (int j = 0; j < ach.Frames.Count; j++) { AnimationFrameSaveContent frameSave = ach.Frames[j];// new AnimationFrameSaveContent(ach.Frames[j]); frameSave.TextureReference = BitmapTextureProcessor.BuildTexture( directory + frameSave.TextureName, context); newFrames.Add(frameSave); } ach.Frames = newFrames; } #endregion return(input); }
public override SpriteGridSaveContent Process(SpriteGridSaveContent input, ContentProcessorContext context) { string directory = System.IO.Path.GetDirectoryName(input.FileName) + @"\"; mSpriteProcessor.Process(input.Blueprint, context); if (!string.IsNullOrEmpty(input.BaseTexture)) { input.BaseTextureReference = BitmapTextureProcessor.BuildTexture( directory + input.BaseTexture, context); } input.GridTextureReferences = new ExternalReference <Microsoft.Xna.Framework.Content.Pipeline.Graphics.TextureContent> [input.GridTexturesArray.Length][]; for (int i = 0; i < input.GridTexturesArray.Length; i++) { input.GridTextureReferences[i] = new ExternalReference <Microsoft.Xna.Framework.Content.Pipeline.Graphics.TextureContent> [input.GridTexturesArray[i].Length]; for (int j = 0; j < input.GridTexturesArray[i].Length; j++) { if (!string.IsNullOrEmpty(input.GridTexturesArray[i][j])) { input.GridTextureReferences[i][j] = BitmapTextureProcessor.BuildTexture( directory + input.GridTexturesArray[i][j], context); } } } return(input); }
/// <summary> /// look at all of the textures in each frame and convert them into external references /// </summary> public override AnimationChainListSave Process(AnimationChainListSave input, ContentProcessorContext context) { string directory = System.IO.Path.GetDirectoryName(input.FileName) + @"\"; for (int i = 0; i < input.AnimationChains.Count; i++) { AnimationChainSave ach = input.AnimationChains[i]; List <AnimationFrame> newFrames = new List <AnimationFrame>(ach.Frames.Count); for (int j = 0; j < ach.Frames.Count; j++) { AnimationFrameSave frameSave = new AnimationFrameSave(ach.Frames[j]); frameSave.TextureReference = BitmapTextureProcessor.BuildTexture( directory + frameSave.TextureName, context); newFrames.Add(frameSave); } ach.Frames = newFrames; } return(input); }