StageSettingWriter.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #region File Description
  2. //-----------------------------------------------------------------------------
  3. // StageSettingWriter.cs
  4. //
  5. // Microsoft XNA Community Game Platform
  6. // Copyright (C) Microsoft Corporation. All rights reserved.
  7. //-----------------------------------------------------------------------------
  8. #endregion
  9. #region Using Statements
  10. using System;
  11. using System.Collections.Generic;
  12. using Microsoft.Xna.Framework;
  13. using Microsoft.Xna.Framework.Graphics;
  14. using Microsoft.Xna.Framework.Content.Pipeline;
  15. using Microsoft.Xna.Framework.Content.Pipeline.Graphics;
  16. using Microsoft.Xna.Framework.Content.Pipeline.Processors;
  17. using Microsoft.Xna.Framework.Content.Pipeline.Serialization.Compiler;
  18. using MovipaLibrary;
  19. using TWrite = MovipaLibrary.StageSetting;
  20. using TReader = MovipaLibrary.StageSettingReader;
  21. #endregion
  22. namespace MovipaPipeline
  23. {
  24. /// <summary>
  25. /// This class writes the data passed from ContentImpoter to the xnb file.
  26. /// In the game, the ContentTypeReader specified in GetRuntimeReader is used
  27. /// to read data.
  28. ///
  29. /// ContentImpoterから渡されたデータをxnbファイルに書き込みます。
  30. /// ゲーム内ではGetRuntimeReaderで指定したContentTypeReaderを
  31. /// 使用して読み込み処理が行われます。
  32. /// </summary>
  33. [ContentTypeWriter]
  34. public class StageSettingWriter : ContentTypeWriter<TWrite>
  35. {
  36. /// <summary>
  37. /// Writes StageSetting to the xnb file.
  38. ///
  39. /// StageSettingをxnbファイルへ書き込みます。
  40. /// </summary>
  41. protected override void Write(ContentWriter output, TWrite value)
  42. {
  43. // Writes StageSetting.
  44. //
  45. // StageSettingを書き込みます。
  46. output.WriteObject<StageSetting.ModeList>(value.Mode);
  47. output.WriteObject<StageSetting.StyleList>(value.Style);
  48. output.WriteObject<StageSetting.RotateMode>(value.Rotate);
  49. output.Write(value.Movie);
  50. output.WriteObject<Point>(value.Divide);
  51. output.Write(value.TimeLimitString);
  52. }
  53. /// <summary>
  54. /// Specifies the ContentTypeReader to be used.
  55. ///
  56. /// 使用するContentTypeReaderを指定します。
  57. /// </summary>
  58. public override string GetRuntimeReader(TargetPlatform targetPlatform)
  59. {
  60. return typeof(TReader).AssemblyQualifiedName;
  61. }
  62. }
  63. }