public override void Read(Vault vault, BinaryReader br) { SubjectHALId = br.ReadUInt32(); TextHALId = br.ReadUInt32(); _pictureText = new Text(Class, Field, Collection); _pictureText.Read(vault, br); }
public override void Read(Vault vault, BinaryReader br) { _debugNameText = new Text(Class, Field, Collection); _debugNameText.Read(vault, br); TwoSidedStencilMode = br.ReadBoolean(); ZEnable = br.ReadBoolean(); ZWriteEnable = br.ReadBoolean(); StencilEnable = br.ReadBoolean(); ZFunc = br.ReadEnum <State_GPUFunc>(); StencilFunc = br.ReadEnum <State_GPUFunc>(); StencilFuncCCW = br.ReadEnum <State_GPUFunc>(); StencilRef = br.ReadUInt32(); StencilRefCCW = br.ReadUInt32(); StencilMask = br.ReadUInt32(); StencilMaskCCW = br.ReadUInt32(); StencilWriteMask = br.ReadUInt32(); StencilWriteMaskCCW = br.ReadUInt32(); StencilFailOp = br.ReadEnum <State_StencilOp>(); StencilFailOpCCW = br.ReadEnum <State_StencilOp>(); StencilZFailOp = br.ReadEnum <State_StencilOp>(); StencilZFailOpCCW = br.ReadEnum <State_StencilOp>(); StencilPassOp = br.ReadEnum <State_StencilOp>(); StencilPassOpCCW = br.ReadEnum <State_StencilOp>(); HiStencilFunc = br.ReadEnum <State_HiCompare>(); HiStencilRef = br.ReadUInt32(); HiStencilEnable = br.ReadBoolean(); HiStencilWriteEnable = br.ReadBoolean(); br.AlignReader(4); }
public override void Read(Vault vault, BinaryReader br) { HAL_ID = br.ReadUInt32(); CF_HAL_ID = br.ReadUInt32(); Price = br.ReadInt32(); ShowroomUnlock = br.ReadInt32(); Tier1Price = br.ReadInt32(); Tier2Price = br.ReadInt32(); Tier3Price = br.ReadInt32(); Tier4Price = br.ReadInt32(); Tier = br.ReadByte(); Tier1ShowroomUnlock = br.ReadByte(); Tier2ShowroomUnlock = br.ReadByte(); Tier3ShowroomUnlock = br.ReadByte(); Tier4ShowroomUnlock = br.ReadByte(); br.AlignReader(4); BrandHALId = br.ReadUInt32(); LogoTextureId = br.ReadUInt32(); DetailHash = br.ReadUInt32(); PartDetails = new VLTPointerContainer <FEPartDetail>(Class, Field, Collection); PartDetails.Read(vault, br); _offerIdText = new Text(Class, Field, Collection); _offerIdText.Read(vault, br); IsOnlineLockable = br.ReadBoolean(); br.AlignReader(4); }
public override void Read(Vault vault, BinaryReader br) { Parts = new DynamicSizeArray <RefSpec>(Class, Field, Collection); Parts.Read(vault, br); _slotNameText = new Text(Class, Field, Collection); _slotNameText.Read(vault, br); }
public override void Read(Vault vault, BinaryReader br) { _debugNameText = new Text(Class, Field, Collection); _debugNameText.Read(vault, br); BlendEnable = br.ReadBoolean(); AlphaTestEnable = br.ReadBoolean(); br.AlignReader(4); AlphaTestRef = br.ReadUInt32(); AlphaTestFunc = br.ReadEnum <State_BlendFunc>(); SourceColor = br.ReadArray(br.ReadEnum <State_BlendInput>, 4); DestColor = br.ReadArray(br.ReadEnum <State_BlendInput>, 4); OperationColor = br.ReadArray(br.ReadEnum <State_BlendOp>, 4); SourceAlpha = br.ReadArray(br.ReadEnum <State_BlendInput>, 4); DestAlpha = br.ReadArray(br.ReadEnum <State_BlendInput>, 4); OperationAlpha = br.ReadArray(br.ReadEnum <State_BlendOp>, 4); BlendFactor = new Vector4(Class, Field, Collection); BlendFactor.Read(vault, br); RGBAEnableRT0 = br.ReadArray(br.ReadBoolean, 4); RGBAEnableRT1 = br.ReadArray(br.ReadBoolean, 4); RGBAEnableRT2 = br.ReadArray(br.ReadBoolean, 4); RGBAEnableRT3 = br.ReadArray(br.ReadBoolean, 4); AlphaToMaskEnable_XENON = br.ReadBoolean(); HiPrecisionBlendEnable_XENON = br.ReadArray(br.ReadBoolean, 4); BlendEnable_PS3 = br.ReadArray(br.ReadBoolean, 4); BlendFactorF16_PS3 = br.ReadBoolean(); br.AlignReader(4); }
public override void Read(Vault vault, BinaryReader br) { br.ReadUInt32(); // stringhash32(KitName) _kitName = new Text(Class, Field, Collection); _kitName.Read(vault, br); Offset = br.ReadUInt32(); }
public override void Read(Vault vault, BinaryReader br) { _text = new Text(Class, Field, Collection); br.ReadInt64(); br.ReadUInt32(); _text.Read(vault, br); }
public override void Read(Vault vault, BinaryReader br) { HAL_ID = br.ReadUInt32(); CF_HAL_ID = br.ReadUInt32(); Price = br.ReadInt32(); Drift = br.ReadBoolean(); Drag = br.ReadBoolean(); Grip = br.ReadBoolean(); Speed = br.ReadBoolean(); Tier = br.ReadUInt32(); BrandHALId = br.ReadUInt32(); LogoTextureId = br.ReadUInt32(); AutoSculptCamera1 = new VLTListContainer <RefSpec>(Class, Field, Collection, br.ReadByte()); AutoSculptCamera2 = new VLTListContainer <RefSpec>(Class, Field, Collection, br.ReadByte()); AutoSculptCamera3 = new VLTListContainer <RefSpec>(Class, Field, Collection, br.ReadByte()); byte b = br.ReadByte(); if (b != 0) { throw new InvalidDataException(); } AutoSculptCamera1.Read(vault, br); AutoSculptCamera2.Read(vault, br); AutoSculptCamera3.Read(vault, br); DetailHash = br.ReadUInt32(); PartDetails = new VLTPointerContainer <FEPartDetail>(Class, Field, Collection); PartDetails.Read(vault, br); _offerIdText = new Text(Class, Field, Collection); _offerIdText.Read(vault, br); }
public override void Read(Vault vault, BinaryReader br) { _slotNameText = new Text(Class, Field, Collection); Camera = new RefSpec(Class, Field, Collection); _slotNameText.Read(vault, br); Camera.Read(vault, br); }
public override void Read(Vault vault, BinaryReader br) { _copType = new Text(Class, Field, Collection); _copType.Read(vault, br); br.ReadUInt32(); Count = br.ReadUInt32(); Chance = br.ReadUInt32(); }
public override void Read(Vault vault, BinaryReader br) { _keyString = new Text(Class, Field, Collection); _keyString.Read(vault, br); br.ReadUInt32(); // stringhash32(KeyString) Value = br.ReadSingle(); }
public override void Read(Vault vault, BinaryReader br) { _name = new Text(Class, Field, Collection); _name.Read(vault, br); mCurveStart = br.ReadUInt16(); mCurveCount = br.ReadUInt16(); mTriangleStart = br.ReadUInt16(); mTriangleCount = br.ReadUInt16(); }
public override void Read(Vault vault, BinaryReader br) { _slotNameText = new Text(Class, Field, Collection); _slotNameText.Read(vault, br); ModeFlags = br.ReadEnum <StatsModeFlag>(); SlotDesc = br.ReadUInt32(); TuningSliderListString = br.ReadUInt32(); Stats = br.ReadArray(br.ReadEnum <FEPhysicsStatType>, 2); }
public void Test01_Text_Exception_When_Invalid_Path() { #region Arrange string data; textManager.Read("Texto.txt", out data); #endregion }
public override void Read(Vault vault, BinaryReader br) { Car = new RefSpec(Class, Field, Collection); _eventText = new Text(Class, Field, Collection); Car.Read(vault, br); _eventText.Read(vault, br); MinDelta = br.ReadSingle(); MaxDelta = br.ReadSingle(); Shift = br.ReadSingle(); }
public override void Read(Vault vault, BinaryReader br) { PartID = br.ReadInt32(); _attachPartText = new Text(Class, Field, Collection); _attachPartText.Read(vault, br); Material = new RefSpec(Class, Field, Collection); Material.Read(vault, br); _smackableCollisionNameText = new Text(Class, Field, Collection); _smackableCollisionNameText.Read(vault, br); SmackableCollisionAttribute = new RefSpec(Class, Field, Collection); SmackableCollisionAttribute.Read(vault, br); }
public override void Read(Vault vault, BinaryReader br) { PresetRide = new RefSpec(Class, Field, Collection); PresetRide.Read(vault, br); _presetSkinNameText = new Text(Class, Field, Collection); _presetSkinNameText.Read(vault, br); VehicleCategory = br.ReadUInt32(); _channelNameText = new Text(Class, Field, Collection); _channelNameText.Read(vault, br); }
public override void Read(Vault vault, BinaryReader br) { _offerIdText = new Text(Class, Field, Collection); _ptrPackages = br.ReadUInt32(); Cost = br.ReadSingle(); Tier1_Cost = br.ReadSingle(); Tier2_Cost = br.ReadSingle(); Tier3_Cost = br.ReadSingle(); Tier4_Cost = br.ReadSingle(); _offerIdText.Read(vault, br); _packageLength = br.ReadByte(); br.AlignReader(4); }
public override void Read(Vault vault, BinaryReader br) { _actorNameText = new Text(Class, Field, Collection); _carChannelNameText = new Text(Class, Field, Collection); _actorNameText.Read(vault, br); _carChannelNameText.Read(vault, br); IsDriver = br.ReadBoolean(); br.AlignReader(4); ExitAnimSec = br.ReadSingle(); IsFacePixelation = br.ReadBoolean(); br.AlignReader(4); }
private static Header ReadHeader(FileStream fs) { Header header = new Header(); // Read names. header.diffuseName = new Text(); header.diffuseName = Text.Read(fs); byte[] byteArray = new byte[Marshal.SizeOf(typeof(Header))]; fs.Read(byteArray, 0, Marshal.SizeOf(typeof(Header))); header = Importer.BinaryToStruct <Header>(byteArray); return(header); }
public override void Read(Vault vault, BinaryReader br) { _nameText = new Text(Class, Field, Collection); _nameText.Read(vault, br); Unknown1 = br.ReadUInt32(); Unknown2 = br.ReadUInt32(); Unknown3 = br.ReadUInt32(); Unknown4 = br.ReadSingle(); Unknown5 = br.ReadUInt32(); Unknown6 = br.ReadUInt32(); Unknown7 = br.ReadUInt32(); Unknown8 = br.ReadUInt32(); Unknown9 = br.ReadUInt32(); Unknown10 = br.ReadUInt32(); Unknown11 = br.ReadUInt32(); Unknown12 = br.ReadUInt32(); Unknown13 = br.ReadUInt32(); Unknown14 = br.ReadUInt32(); Unknown15 = br.ReadUInt32(); }
public override void Read(Vault vault, BinaryReader br) { ScissorData = new ScissorData(Class, Field, Collection); _debugNameText = new Text(Class, Field, Collection); _debugNameText.Read(vault, br); CullMode = br.ReadEnum <State_RasterizerCullMode>(); DepthBias = br.ReadSingle(); ScaleDepthBias = br.ReadSingle(); ScissorTestEnable = br.ReadBoolean(); PrimitiveResetEnable = br.ReadBoolean(); br.AlignReader(4); PrimitiveResetIndex = br.ReadUInt32(); ScissorData.Read(vault, br); FillMode = br.ReadEnum <State_RasterizerFillMode>(); MultiSampleAntialiasEnable = br.ReadBoolean(); br.AlignReader(4); MultiSampleMask = br.ReadUInt32(); ViewPortEnable = br.ReadBoolean(); HalfPixelOffsetEnable = br.ReadBoolean(); br.AlignReader(4); ShadeMode = br.ReadEnum <State_RasterizerShadeMode>(); FrontFace = br.ReadEnum <State_RasterizerFrontFace>(); }
public void Convert(ICollection <CuttingScheme> output, StreamReader tr) { // сканирование dxf, загрузка линий и текстов int typeCode; string data; while (true) { typeCode = int.Parse(tr.ReadLine()); data = tr.ReadLine(); if (typeCode == 0 && data == "SECTION") { typeCode = int.Parse(tr.ReadLine()); data = tr.ReadLine(); if (typeCode == 2 && data == "ENTITIES") { break; } } } List <Line> lines = new List <Line>(); _texts = new LinkedList <Text>(); while (!tr.EndOfStream) { typeCode = int.Parse(tr.ReadLine()); data = tr.ReadLine(); if (typeCode == 0 && data == "LINE") { Line line = new Line(); line.Read(tr); lines.Add(line); } else if (typeCode == 0 && data == "TEXT") { Text text = new Text(); text.Read(tr); _texts.AddLast(text); } } // составляем список резов, выбирая линии со стилем HIDDEN LinkedList <Line> buffer = new LinkedList <Line>(lines); _cuts = new LinkedList <Line>(); BazUtils.TakeFrom(buffer, _cuts, BazUtils.CutsPredicate); // составляем список прямоугольноков, собирая их из линий List <Line> otherLines = new List <Line>(); LinkedList <Rectangle> rects = new LinkedList <Rectangle>(); while (buffer.Count > 0) { Line line1 = buffer.First.Value; buffer.RemoveFirst(); Line line2 = BazUtils.FindContLine(line1, buffer); if (line2 == null) { otherLines.Add(line1); continue; } buffer.Remove(line2); Line line3 = BazUtils.FindContLine(line2, buffer); if (line3 == null) { otherLines.Add(line1); otherLines.Add(line2); continue; } buffer.Remove(line3); Line line4 = BazUtils.FindContLine(line2, buffer); if (line4 != null) { otherLines.Add(line1); otherLines.Add(line2); otherLines.Add(line3); continue; } buffer.Remove(line4); Rectangle rect = new Rectangle(); rect.LeftBottom.X = Math.Min(line1.P1.X, line2.P2.X); rect.LeftBottom.Y = Math.Min(line1.P1.Y, line2.P2.Y); rect.RightTop.X = Math.Max(line1.P1.X, line2.P2.X); rect.RightTop.Y = Math.Max(line1.P1.Y, line2.P2.Y); rects.AddLast(rect); } BazUtils.BubbleSort <Rectangle>(rects, Rectangle.SquareDescending); while (rects.Count > 0) { // находим прямоугольники листа и его обрезанной части Rectangle sheetRect = rects.First.Value; rects.RemoveFirst(); List <Rectangle> internals = new List <Rectangle>(); BazUtils.TakeFrom <Rectangle>(rects, internals, sheetRect.IsContains); if (internals.Count == 0) { break; } Rectangle cutoffRect = internals[0]; // определяем ширину реза и направление первого реза CutMatcher matcher = new CutMatcher(); CuttingDirection firstCut; matcher.Bounds = cutoffRect; Line match = BazUtils.Lookup(_cuts, matcher.MatchHorizontalCut); if (match == null) { match = BazUtils.Lookup(_cuts, matcher.MatchVerticalCut); _cutterThick = (cutoffRect.LeftBottom.Y - match.P1.Y) * 2; firstCut = CuttingDirection.Vertical; } else { _cutterThick = (cutoffRect.LeftBottom.X - match.P1.X) * 2; firstCut = CuttingDirection.Horizontal; } // заполняем полученные параметры раскроя ParametersCollection pars = new ParametersCollection(); pars.CutterThickness = (decimal)(_cutterThick * 10.0); pars.CutOffLeft = (decimal)((cutoffRect.LeftBottom.X - sheetRect.LeftBottom.X) * 10.0); pars.CutOffBottom = (decimal)((cutoffRect.LeftBottom.Y - sheetRect.LeftBottom.Y) * 10.0); pars.CutOffRight = (decimal)((sheetRect.RightTop.X - cutoffRect.RightTop.X) * 10.0); pars.CutOffTop = (decimal)((sheetRect.RightTop.Y - cutoffRect.RightTop.Y) * 10.0); _scheme = new CuttingScheme(); _scheme.Parameters = pars; _scheme.Sheet = new Sheet(); _scheme.Sheet.Thickness = 16; _scheme.Height = (decimal)((sheetRect.RightTop.Y - sheetRect.LeftBottom.Y) * 10.0); _scheme.Width = (decimal)((sheetRect.RightTop.X - sheetRect.LeftBottom.X) * 10.0); _scheme.Sheet.Width = _scheme.Width; _scheme.Sheet.Height = _scheme.Height; // составляем сам раскрой if (firstCut == CuttingDirection.Vertical) { CutHorizontalStrip(_scheme.RootSection, cutoffRect); } else { CutVerticalStrip(_scheme.RootSection, cutoffRect); } // получаем количество листов из строчки под раскроем List <Text> sheetInfo = new List <Text>(); TextMatcher textMatcher = new TextMatcher(); textMatcher.Bounds = sheetRect.HorizStrip(sheetRect.LeftBottom.Y - 30, sheetRect.LeftBottom.Y); BazUtils.TakeFrom <Text>(_texts, sheetInfo, textMatcher.IsInside); sheetInfo.Sort(Text.PosYAscending); string sheetsCountStr = sheetInfo[0].Value; int eqPos = sheetsCountStr.LastIndexOf('='); _scheme.Repetitions = int.Parse(sheetsCountStr.Substring(eqPos + 1, sheetsCountStr.Length - eqPos - 1)); output.Add(_scheme); } }
public override void Read(Vault vault, BinaryReader br) { SceneRootType = br.ReadEnum <eSceneRoot>(); _markerNameText = new Text(Class, Field, Collection); _markerNameText.Read(vault, br); }
public void Convert(ICollection<CuttingScheme> output, StreamReader tr) { // сканирование dxf, загрузка линий и текстов int typeCode; string data; while (true) { typeCode = int.Parse(tr.ReadLine()); data = tr.ReadLine(); if (typeCode == 0 && data == "SECTION") { typeCode = int.Parse(tr.ReadLine()); data = tr.ReadLine(); if (typeCode == 2 && data == "ENTITIES") { break; } } } List<Line> lines = new List<Line>(); _texts = new LinkedList<Text>(); while (!tr.EndOfStream) { typeCode = int.Parse(tr.ReadLine()); data = tr.ReadLine(); if (typeCode == 0 && data == "LINE") { Line line = new Line(); line.Read(tr); lines.Add(line); } else if (typeCode == 0 && data == "TEXT") { Text text = new Text(); text.Read(tr); _texts.AddLast(text); } } // составляем список резов, выбирая линии со стилем HIDDEN LinkedList<Line> buffer = new LinkedList<Line>(lines); _cuts = new LinkedList<Line>(); BazUtils.TakeFrom(buffer, _cuts, BazUtils.CutsPredicate); // составляем список прямоугольноков, собирая их из линий List<Line> otherLines = new List<Line>(); LinkedList<Rectangle> rects = new LinkedList<Rectangle>(); while (buffer.Count > 0) { Line line1 = buffer.First.Value; buffer.RemoveFirst(); Line line2 = BazUtils.FindContLine(line1, buffer); if (line2 == null) { otherLines.Add(line1); continue; } buffer.Remove(line2); Line line3 = BazUtils.FindContLine(line2, buffer); if (line3 == null) { otherLines.Add(line1); otherLines.Add(line2); continue; } buffer.Remove(line3); Line line4 = BazUtils.FindContLine(line2, buffer); if (line4 != null) { otherLines.Add(line1); otherLines.Add(line2); otherLines.Add(line3); continue; } buffer.Remove(line4); Rectangle rect = new Rectangle(); rect.LeftBottom.X = Math.Min(line1.P1.X, line2.P2.X); rect.LeftBottom.Y = Math.Min(line1.P1.Y, line2.P2.Y); rect.RightTop.X = Math.Max(line1.P1.X, line2.P2.X); rect.RightTop.Y = Math.Max(line1.P1.Y, line2.P2.Y); rects.AddLast(rect); } BazUtils.BubbleSort<Rectangle>(rects, Rectangle.SquareDescending); while (rects.Count > 0) { // находим прямоугольники листа и его обрезанной части Rectangle sheetRect = rects.First.Value; rects.RemoveFirst(); List<Rectangle> internals = new List<Rectangle>(); BazUtils.TakeFrom<Rectangle>(rects, internals, sheetRect.IsContains); if (internals.Count == 0) { break; } Rectangle cutoffRect = internals[0]; // определяем ширину реза и направление первого реза CutMatcher matcher = new CutMatcher(); CuttingDirection firstCut; matcher.Bounds = cutoffRect; Line match = BazUtils.Lookup(_cuts, matcher.MatchHorizontalCut); if (match == null) { match = BazUtils.Lookup(_cuts, matcher.MatchVerticalCut); _cutterThick = (cutoffRect.LeftBottom.Y - match.P1.Y) * 2; firstCut = CuttingDirection.Vertical; } else { _cutterThick = (cutoffRect.LeftBottom.X - match.P1.X) * 2; firstCut = CuttingDirection.Horizontal; } // заполняем полученные параметры раскроя ParametersCollection pars = new ParametersCollection(); pars.CutterThickness = (decimal)(_cutterThick * 10.0); pars.CutOffLeft = (decimal)((cutoffRect.LeftBottom.X - sheetRect.LeftBottom.X) * 10.0); pars.CutOffBottom = (decimal)((cutoffRect.LeftBottom.Y - sheetRect.LeftBottom.Y) * 10.0); pars.CutOffRight = (decimal)((sheetRect.RightTop.X - cutoffRect.RightTop.X) * 10.0); pars.CutOffTop = (decimal)((sheetRect.RightTop.Y - cutoffRect.RightTop.Y) * 10.0); _scheme = new CuttingScheme(); _scheme.Parameters = pars; _scheme.Sheet = new Sheet(); _scheme.Sheet.Thickness = 16; _scheme.Height = (decimal)((sheetRect.RightTop.Y - sheetRect.LeftBottom.Y) * 10.0); _scheme.Width = (decimal)((sheetRect.RightTop.X - sheetRect.LeftBottom.X) * 10.0); _scheme.Sheet.Width = _scheme.Width; _scheme.Sheet.Height = _scheme.Height; // составляем сам раскрой if (firstCut == CuttingDirection.Vertical) { CutHorizontalStrip(_scheme.RootSection, cutoffRect); } else { CutVerticalStrip(_scheme.RootSection, cutoffRect); } // получаем количество листов из строчки под раскроем List<Text> sheetInfo = new List<Text>(); TextMatcher textMatcher = new TextMatcher(); textMatcher.Bounds = sheetRect.HorizStrip(sheetRect.LeftBottom.Y - 30, sheetRect.LeftBottom.Y); BazUtils.TakeFrom<Text>(_texts, sheetInfo, textMatcher.IsInside); sheetInfo.Sort(Text.PosYAscending); string sheetsCountStr = sheetInfo[0].Value; int eqPos = sheetsCountStr.LastIndexOf('='); _scheme.Repetitions = int.Parse(sheetsCountStr.Substring(eqPos + 1, sheetsCountStr.Length - eqPos - 1)); output.Add(_scheme); } }