LynnaLab.TilesetHeaderData.ShouldHaveNext C# (CSharp) Method

ShouldHaveNext() public method

public ShouldHaveNext ( ) : bool
return bool
        public bool ShouldHaveNext()
        {
            return (Project.EvalToInt(GetValue(4)) & 0x80) == 0x80;
        }

Usage Example

示例#1
0
        internal TilesetHeaderGroup(Project p, int i) : base(p, i)
        {
            FileParser tableFile   = Project.GetFileWithLabel("tilesetHeaderGroupTable");
            Data       pointerData = tableFile.GetData("tilesetHeaderGroupTable", Index * 2);
            string     labelName   = pointerData.GetValue(0);

            FileParser        headerFile = Project.GetFileWithLabel(labelName);
            TilesetHeaderData headerData = headerFile.GetData(labelName) as TilesetHeaderData;
            bool next = true;

            while (next)
            {
                if (headerData == null)
                {
                    throw new Exception("Expected tileset header group " + Index.ToString("X") + " to reference tileset header data (m_TilesetHeader)");
                }

                Stream dataFile = headerData.ReferencedData;
                dataFile.Position = 0;
                if (headerData.DestAddress == Project.EvalToInt("w3TileMappingIndices"))
                {
                    // Mappings
                    mappingsDataFile = dataFile;
                }
                else if (headerData.DestAddress == Project.EvalToInt("w3TileCollisions"))
                {
                    // Collisions
                    collisionsDataFile = dataFile;
                }

                if (headerData.ShouldHaveNext())
                {
                    headerData = headerData.NextData as TilesetHeaderData;
                    if (headerData != null)
                    {
                        next = true;
                    }
                }
                else
                {
                    next = false;
                }
            }
        }