SND\AstrorEnales_cp 5505f7dcbf - Added PlatformSystem Plugins layer
- Started Windows, Metro and Linux Platform-Plugins
- Moved the RecordingSample to the Samples folder
- Started two samples for using the graphics device in a WinForms and Wpf Editor
- Refactorings in the AddIn-System
- Moved the Window initialization-code to the Platform modules
- Changed the License text in all code files which is now way smaller
- Started ProjectConverter tool which converts all the projects and solution to the target configuration
- Changed the SupportedPlatform names in the Resource files
- Changed the WIN8 define to WINDOWSMETRO which is actually meant
- Removed NLog and started our own Logger class
- Many more stuff...
2012-08-09 09:45:04 +00:00

87 lines
3.3 KiB
C#

#region Using Statements
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Content.Pipeline.Serialization;
using Microsoft.Xna.Framework.Content.Pipeline.Serialization.Compiler;
#endregion // Using Statements
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
// For details see: http://anxframework.codeplex.com/license
namespace ANX.Framework.TestCenter.ContentPipeline.Helper
{
public class ContentWithSharedResource
{
public class SharedResource
{
public int Value { get; set; }
}
public SharedResource ResourceA { get; set; }
public SharedResource ResourceB { get; set; }
}
public class ContentWithSharedResourceWriter : ContentTypeWriter<ContentWithSharedResource>
{
protected override void Write(ContentWriter output, ContentWithSharedResource value)
{
output.WriteSharedResource<ContentWithSharedResource.SharedResource>(value.ResourceA);
output.WriteSharedResource<ContentWithSharedResource.SharedResource>(value.ResourceB);
}
public override string GetRuntimeReader(Microsoft.Xna.Framework.Content.Pipeline.TargetPlatform targetPlatform)
{
return typeof(ContentWithSharedResourceReader).AssemblyQualifiedName;
}
}
public class SharedResourceWriter : ContentTypeWriter<ContentWithSharedResource.SharedResource>
{
protected override void Write(ContentWriter output, ContentWithSharedResource.SharedResource value)
{
output.Write(value.Value);
}
public override string GetRuntimeReader(Microsoft.Xna.Framework.Content.Pipeline.TargetPlatform targetPlatform)
{
return typeof(SharedResourceReader).AssemblyQualifiedName;
}
}
// The reader must be in the ANX Namespace
public class ContentWithSharedResourceReader : ANX.Framework.Content.ContentTypeReader<ContentWithSharedResource>
{
protected override ContentWithSharedResource Read(ANX.Framework.Content.ContentReader input, ContentWithSharedResource existingInstance)
{
existingInstance = new ContentWithSharedResource();
input.ReadSharedResource<ContentWithSharedResource.SharedResource>((value) => {
existingInstance.ResourceA = value;
});
input.ReadSharedResource<ContentWithSharedResource.SharedResource>((value) =>
{
existingInstance.ResourceB = value;
});
return existingInstance;
}
}
public class SharedResourceReader : ANX.Framework.Content.ContentTypeReader<ContentWithSharedResource.SharedResource>
{
protected override ContentWithSharedResource.SharedResource
Read(ANX.Framework.Content.ContentReader input, ContentWithSharedResource.SharedResource existingInstance)
{
existingInstance = new ContentWithSharedResource.SharedResource();
existingInstance.Value = input.ReadInt32();
return existingInstance;
}
}
}