コード例 #1
0
ファイル: uiIdent.cs プロジェクト: mirkomihaljcic/Ascension
        public void SaveValue(EndianIO IO, int parentOffset)
        {
            IO.Out.BaseStream.Position = parentOffset + IdentData.Offset;
            if (IDENTIFIER != -1)
            {
                int tagIndexByClassAndName = -1;
                if (AppSettings.Settings.Old_Ident_Swapper)
                {
                    if (cmbxName.Text != "<<null>>")
                    {
                        try
                        {
                            tagIndexByClassAndName = HMap.GetTagIndexByClassAndName(cmbxClass.Text, tags[cmbxName.SelectedText]);
                            if (tagIndexByClassAndName != -1)
                            {
                                IO.Out.WriteAsciiString(HMap.Index_Items[tagIndexByClassAndName].Class, 4);
                                Stream stream1 = IO.Out.BaseStream;
                                stream1.Position += 8L;
                                IO.Out.Write(HMap.Index_Items[tagIndexByClassAndName].Ident);
                                return;
                            }
                        }
                        catch
                        {
                        }
                    }
                }
                else
                {
                    tagIndexByClassAndName = HMap.GetTagIndexByIdent(IDENTIFIER);
                    if (tagIndexByClassAndName != -1)
                    {
                        try
                        {
                            IO.Out.WriteAsciiString(HMap.Index_Items[tagIndexByClassAndName].Class, 4);
                            Stream stream2 = IO.Out.BaseStream;
                            stream2.Position += 8L;
                            IO.Out.Write(IDENTIFIER);
                        }
                        catch
                        {
                        }
                        return;
                    }
                }
            }
            Stream baseStream = IO.Out.BaseStream;

            baseStream.Position += 12L;
            IO.Out.Write(-1);
        }