LynnaLab.FileParser.GetData C# (CSharp) Method

GetData() public method

public GetData ( string labelStr, int offset ) : Data
labelStr string
offset int
return Data
        public Data GetData(string labelStr, int offset=0)
        {
            int origOffset = offset;

            Label label = labelDictionary[labelStr];
            if (label != null) {
                FileComponent component = label;
                while (component != null && !(component is Data))
                    component = component.Next;

                Data data = component as Data;
                while (data != null) {
                    if (offset == 0)
                        return data;
                    if (data.Size == -1)
                        break;
                    offset -= data.Size;
                    if (offset < 0)
                        break;
                    data = data.NextData;
                }
            }
            throw new Exception("Provided offset (" + origOffset + ") relative to label \"" + labelStr +
                    "\" was invalid.");
        }

Usage Example

コード例 #1
0
        internal WarpDestGroup(Project p, int id) : base(p, id)
        {
            fileParser = Project.GetFileWithLabel("warpDestTable");
            Data tmp = fileParser.GetData("warpDestTable", id * 2);

            string label = tmp.GetValue(0);

            WarpDestData data = fileParser.GetData(label) as WarpDestData;

            warpDestDataList = new List <WarpDestData>();

            while (data != null)
            {
                data.DestGroup = this;
                data.DestIndex = warpDestDataList.Count;
                warpDestDataList.Add(data);

                FileComponent component = data.Next;
                data = null;
                while (component != null)
                {
                    if (component is Label)
                    {
                        data = null;
                        break;
                    }
                    else if (component is Data)
                    {
                        data = component as WarpDestData;
                        break;
                    }
                    component = component.Next;
                }
            }
        }
All Usage Examples Of LynnaLab.FileParser::GetData