Beispiel #1
0
        public static bool IsSet(this byte flags, FlagIndex flagIndex)
        {
            var i       = (int)flagIndex;
            var flagVal = 1 << i;

            return((flags & flagVal) != 0);
        }
        /// <summary>
        /// Adds a flag name to the story model's flag index.
        /// The flag index contains flag names, but no values.
        /// </summary>
        public void AddFlagToIndex(string flag)
        {
            var name = ExtractFlagNameFromExpression(flag);

            if (!FlagIndex.Contains(name))
            {
                FlagIndex.Add(name);
            }
        }
Beispiel #3
0
        public static byte Set(this byte flags, FlagIndex flagIndex, bool on)
        {
            var i       = (int)flagIndex;
            var flagVal = 1 << i;

            if (@on)
            {
                return((byte)(flags | flagVal));
            }
            return((byte)(flags & (0xff - flagVal)));
        }
Beispiel #4
0
 public static byte Toggle(this byte flags, FlagIndex flagIndex)
 {
     return(flags.Set(FlagIndex.Carry, !flags.IsSet(flagIndex)));
 }