Esempio n. 1
0
        static PropertyVisibilities()
        {
            var map = new Dictionary <PropertyID, ObjectVisibility>();

            // Common
            map[PropertyID.Name]       = ObjectVisibility.Public;
            map[PropertyID.MaterialID] = ObjectVisibility.Public;
            map[PropertyID.Color]      = ObjectVisibility.Public;

            // Living
            map[PropertyID.HitPoints]      = ObjectVisibility.Private;
            map[PropertyID.MaxHitPoints]   = ObjectVisibility.Private;
            map[PropertyID.SpellPoints]    = ObjectVisibility.Private;
            map[PropertyID.MaxSpellPoints] = ObjectVisibility.Private;

            map[PropertyID.Strength]     = ObjectVisibility.Private;
            map[PropertyID.Dexterity]    = ObjectVisibility.Private;
            map[PropertyID.Constitution] = ObjectVisibility.Private;
            map[PropertyID.Intelligence] = ObjectVisibility.Private;
            map[PropertyID.Wisdom]       = ObjectVisibility.Private;
            map[PropertyID.Charisma]     = ObjectVisibility.Private;
            map[PropertyID.Size]         = ObjectVisibility.Public;

            map[PropertyID.NaturalArmorClass] = ObjectVisibility.Private;

            map[PropertyID.VisionRange] = ObjectVisibility.Private;
            map[PropertyID.Hunger]      = ObjectVisibility.Private;
            map[PropertyID.Thirst]      = ObjectVisibility.Private;
            map[PropertyID.Exhaustion]  = ObjectVisibility.Private;

            map[PropertyID.Gender] = ObjectVisibility.Public;

            map[PropertyID.Assignment] = ObjectVisibility.Debug;

            // Item
            map[PropertyID.Quality]          = ObjectVisibility.Public;
            map[PropertyID.NutritionalValue] = ObjectVisibility.Public;
            map[PropertyID.RefreshmentValue] = ObjectVisibility.Public;
            map[PropertyID.ReservedByStr]    = ObjectVisibility.Debug;
            map[PropertyID.IsInstalled]      = ObjectVisibility.Public;
            map[PropertyID.IsClosed]         = ObjectVisibility.Public;
            map[PropertyID.IsEquipped]       = ObjectVisibility.Public;

            s_visibilityArray = new ObjectVisibility[EnumHelpers.GetEnumMax <PropertyID>() + 1];

            foreach (var kvp in map)
            {
                s_visibilityArray[(int)kvp.Key] = kvp.Value;
            }

            for (int i = 1; i < s_visibilityArray.Length; ++i)
            {
                if (s_visibilityArray[i] == ObjectVisibility.None)
                {
                    throw new Exception("missing visibility for " + (PropertyID)i);
                }
            }
        }
Esempio n. 2
0
        static EnumBitMask32()
        {
            var max = EnumHelpers.GetEnumMax <TEnum>();

            if (max > 32)
            {
                throw new Exception();
            }
            s_numBits = max;
        }
Esempio n. 3
0
 static EnumBitMask()
 {
     s_numBits = EnumHelpers.GetEnumMax <TEnum>();
 }