Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        private static MetaInt32_Enum2 MakeIntFlags1B()
        {
            var intFlags = new MetaInt32_Enum2();

            intFlags.info  = MakeIntFlags1Info();
            intFlags.Value = 0;
            return(intFlags);
        }
Esempio n. 3
0
        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);
 }