LynnaLab.GraphicsState.RemoveGfxHeaderType C# (CSharp) Method

RemoveGfxHeaderType() public method

public RemoveGfxHeaderType ( GfxHeaderType type ) : void
type GfxHeaderType
return void
        public void RemoveGfxHeaderType(GfxHeaderType type)
        {
            for (int i=0; i<gfxHeaderDataList.Count; i++) {
                if (gfxHeaderDataTypes[i] == type) {
                    GfxHeaderData header = gfxHeaderDataList[i];
                    gfxHeaderDataTypes.RemoveAt(i);
                    gfxHeaderDataList.RemoveAt(i);

                    CheckGfxHeaderTilesToUpdate(header);

                    i--;
                }
            }
            gfxModified = true;
        }

Usage Example

示例#1
0
        void SetMainGfx(int index)
        {
            graphicsState.RemoveGfxHeaderType(GfxHeaderType.Main);

            FileParser    gfxHeaderFile = Project.GetFileWithLabel("gfxHeaderTable");
            Data          pointerData   = gfxHeaderFile.GetData("gfxHeaderTable", index * 2);
            GfxHeaderData header        = gfxHeaderFile.GetData(pointerData.GetValue(0))
                                          as GfxHeaderData;

            if (header != null)
            {
                bool next = true;
                while (next)
                {
                    graphicsState.AddGfxHeader(header, GfxHeaderType.Main);
                    next = false;
                    if (header.ShouldHaveNext)
                    {
                        GfxHeaderData nextHeader = header.NextData as GfxHeaderData;
                        if (nextHeader != null)
                        {
                            header = nextHeader;
                            next   = true;
                        }
                        // Might wanna print a warning if no next value is found
                    }
                }
            }
            InvalidateAllTiles();
        }