Advertisement
godzcheater

XACHIEVEMENT

Mar 21st, 2012
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.10 KB | None | 0 0
  1. [System.ComponentModel.DefaultProperty("pwszLabel")]
  2.     public class XACHIEVEMENT
  3.     {
  4.         [System.ComponentModel.Description("XDBF RecordID"), System.ComponentModel.CategoryAttribute("XDBF")]
  5.         public enums.RecordID RecordID { get; set; }
  6.  
  7.         public System.UInt32 StructSize { get; set; }//always 28
  8.         [System.ComponentModel.Description("Achievement identifier (unique only within the title).")]
  9.         public System.UInt32 dwId { get; set; }
  10.         private System.String name { get; set; }
  11.         [System.ComponentModel.Description("Localized label for achievement."), System.ComponentModel.CategoryAttribute("Strings")]
  12.         public System.String pwszLabel
  13.         {
  14.             get { return name; }
  15.             set
  16.             {
  17.                 if (value.Length >= 32)
  18.                 {
  19.                     value.Remove(32);
  20.                 }
  21.                 name = value;
  22.             }
  23.         }
  24.         private System.String lockeddescription { get; set; }
  25.         [System.ComponentModel.Description("Localized description of the steps necessary to win the achievement."), System.ComponentModel.CategoryAttribute("Strings")]
  26.         public System.String pwszDescription
  27.         {
  28.             get { return lockeddescription; }
  29.             set
  30.             {
  31.                 if (value.Length >= 100)
  32.                 {
  33.                     value.Remove(100);
  34.                 }
  35.                 lockeddescription = value;
  36.             }
  37.         }
  38.         private System.String unlockeddescription { get; set; }
  39.         [System.ComponentModel.Description("Localized description of the achievement."), System.ComponentModel.CategoryAttribute("Strings")]
  40.         public System.String pwszUnachieved
  41.         {
  42.             get { return unlockeddescription; }
  43.             set
  44.             {
  45.                 if (value.Length >= 100)
  46.                 {
  47.                     value.Remove(100);
  48.                 }
  49.                 unlockeddescription = value;
  50.             }
  51.         }
  52.         [System.ComponentModel.Description("Identifier of the achievement image.")]
  53.         public System.UInt32 dwImageId { get; set; }
  54.         [System.ComponentModel.Description("Cred received for earning this achievement.")]
  55.         public System.Int32 dwCred { get; set; }
  56.         [System.ComponentModel.Description("If the achievement was awarded online, the date and time of the achievement award. If the achievement is unearned, or was earned offline, this value is zero.")]
  57.         public System.DateTime ftAchieved { get; set; }
  58.         [System.ComponentModel.Description("Flags that contain additional information about the achievement. dwFlags is a combination (bitwise ORed) of the following flags."), System.ComponentModel.CategoryAttribute("Flags")]
  59.         public System.UInt32 dwFlags { get; set; }
  60.         [System.ComponentModel.Description("Indicates whether or not the details of the achievement should be displayed to the user before it has been awarded."), System.ComponentModel.CategoryAttribute("Flags")]
  61.         public System.Boolean XACHIEVEMENT_DETAILS_SHOWUNACHIEVED
  62.         {
  63.             get
  64.             {
  65.                 return (dwFlags & 8) == 8;
  66.             }
  67.             set
  68.             {
  69.                 if (value != XACHIEVEMENT_DETAILS_SHOWUNACHIEVED)
  70.                 {
  71.                     dwFlags ^= 8;
  72.                 }
  73.             }
  74.         }
  75.         [System.ComponentModel.Description("Indicates the achievement was achieved online."), System.ComponentModel.CategoryAttribute("Flags")]
  76.         public System.Boolean XACHIEVEMENT_DETAILS_ACHIEVED_ONLINE
  77.         {
  78.             get
  79.             {
  80.                 return (dwFlags & 65536) == 65536;
  81.             }
  82.             set
  83.             {
  84.                 if (value != XACHIEVEMENT_DETAILS_ACHIEVED_ONLINE)
  85.                 {
  86.                     dwFlags ^= 65536;
  87.                 }
  88.             }
  89.         }
  90.         [System.ComponentModel.Description("Indicates the achievement was achieved."), System.ComponentModel.CategoryAttribute("Flags")]
  91.         public System.Boolean XACHIEVEMENT_DETAILS_ACHIEVED
  92.         {
  93.             get
  94.             {
  95.                 return (dwFlags & 131072) == 131072;
  96.             }
  97.             set
  98.             {
  99.                 if (value != XACHIEVEMENT_DETAILS_ACHIEVED)
  100.                 {
  101.                     dwFlags ^= 131072;
  102.                 }
  103.             }
  104.         }
  105.         [System.ComponentModel.Description("The AchievementType macro extracts the achievement type from dwFlags."), System.ComponentModel.CategoryAttribute("Flags")]
  106.         public AchievementTypes XACHIEVEMENT_DETAILS_MASK_TYPE
  107.         {
  108.             get
  109.             {
  110.                 return (AchievementTypes)(dwFlags & 7);
  111.             }
  112.             set
  113.             {
  114.                 dwFlags ^= (System.UInt32)value ^ (dwFlags & 7);
  115.             }
  116.         }
  117.  
  118.         public XACHIEVEMENT()
  119.         {
  120.             RecordID = 0;
  121.  
  122.             StructSize = 28;
  123.             dwId = 0;
  124.             pwszLabel = "<3Godzcheater";
  125.             pwszDescription = "<3Godzcheater";
  126.             pwszUnachieved = "<3Godzcheater";
  127.             dwImageId = 0;
  128.             dwCred = 10;
  129.             ftAchieved = new System.DateTime(0);
  130.             dwFlags = 0;
  131.             XACHIEVEMENT_DETAILS_SHOWUNACHIEVED = false;
  132.             XACHIEVEMENT_DETAILS_ACHIEVED_ONLINE = false;
  133.             XACHIEVEMENT_DETAILS_ACHIEVED = false;
  134.         }
  135.  
  136.         [System.ComponentModel.Browsable(false)]
  137.         public System.Byte[] Data
  138.         {
  139.             get
  140.             {
  141.                 StructSize = 28;
  142.  
  143.                 System.Byte[] TempData = new System.Byte[StructSize + (pwszLabel.Length + 1 * 2) + (pwszDescription.Length + 1 * 2) + (pwszUnachieved.Length + 1 * 2)];
  144.                 IO.IO IO = new IO.IO(TempData);
  145.                 IO.Open(0);
  146.                 IO.Writer.WriteUInt32(StructSize);
  147.                 IO.Writer.WriteUInt32(dwId);
  148.                 IO.Writer.WriteUInt32(dwImageId);
  149.                 IO.Writer.WriteInt32(dwCred);
  150.                 IO.Writer.WriteUInt32(dwFlags);
  151.                 IO.Writer.WriteInt64(ftAchieved.ToFileTime());
  152.                 IO.Writer.WriteUNI(pwszLabel);
  153.                 IO.Writer.WriteUNI(pwszDescription);
  154.                 IO.Writer.WriteUNI(pwszUnachieved);
  155.  
  156.                 IO.Close();
  157.                 return TempData;
  158.             }
  159.             set
  160.             {
  161.                 IO.IO IO = new IO.IO(value);
  162.                 IO.Open(0);
  163.                 StructSize = IO.Reader.ReadUInt32();
  164.                 dwId = IO.Reader.ReadUInt32();
  165.                 dwImageId = IO.Reader.ReadUInt32();
  166.                 dwCred = IO.Reader.ReadInt32();
  167.                 dwFlags = IO.Reader.ReadUInt32();
  168.                 ftAchieved = new System.DateTime(IO.Reader.ReadInt64());
  169.                 pwszLabel = IO.Reader.ReadUNITillNull();
  170.                 pwszDescription = IO.Reader.ReadUNITillNull();
  171.                 pwszUnachieved = IO.Reader.ReadUNITillNull();
  172.  
  173.                 IO.Close();
  174.             }
  175.         }
  176.  
  177.         public override System.String ToString()
  178.         {
  179.             return pwszLabel;
  180.         }
  181.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement