Alexandria.Engines.DarkSouls.EffectToken.EffectToken C# (CSharp) Method

EffectToken() private method

private EffectToken ( BinaryReader reader, HashSet pointers, HashSet functions ) : System
reader System.IO.BinaryReader
pointers HashSet
functions HashSet
return System
        internal EffectToken(BinaryReader reader, HashSet<int> pointers, HashSet<int> functions)
        {
            Address = checked((int)reader.BaseStream.Position);

            intValue = reader.ReadInt32();
            floatValue = new PackedSingle(intValue).SingleValue;

            IsFunction = functions.Contains(Address);

            if (pointers.Contains(Address))
                Category = EffectTokenCategory.Pointer;
            else if ((intValue & 0xFF000000) != 0 && !float.IsNaN(floatValue) && !float.IsInfinity(floatValue))
                Category = EffectTokenCategory.Single;
            else if (intValue == 0)
                Category = EffectTokenCategory.Zero;
            else
                Category = EffectTokenCategory.Int32;
        }