private MetaInt32_Enum2 ReadIntFlags1(XmlNode node, int enumNameHash) { var intFlags = new MetaInt32_Enum2(); var enumInfo = (MetaEnumXml)null; foreach (var x in xmlInfos.Enums) { if (x.NameHash == enumNameHash) { enumInfo = x; } } var keyStrings = node.InnerText.Split(new char[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries); foreach (var x in keyStrings) { var enumKey = GetHashForFlagName(x); foreach (var p in enumInfo.Entries) { if (p.NameHash == enumKey) { intFlags.Value += (uint)(1 << p.Value); } } } return(intFlags); }
private static MetaInt32_Enum2 MakeIntFlags1B() { var intFlags = new MetaInt32_Enum2(); intFlags.info = MakeIntFlags1Info(); intFlags.Value = 0; return(intFlags); }
private void WriteIntFlags1Content(XmlWriter writer, MetaInt32_Enum2 intValue) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < 32; i++) { if ((intValue.Value & (1 << i)) != 0) { foreach (var xy in intValue.info.Entries) { if (xy.EntryValue == i) { sb.Append(' '); sb.Append(GetFlagNameForHash(xy.EntryNameHash)); } } } } writer.WriteString(sb.ToString().Trim()); }
public void AssertInt32(MetaInt32_Enum2 expectedInt, MetaInt32_Enum2 actualInt) { Assert.AreEqual(expectedInt.Value, actualInt.Value); }