public CVOGReactionText(BinaryReader br, UInt32 mapVersion) { Type = br.ReadByte(); TargetType = br.ReadByte(); Main = br.ReadLengthedString(); uint numParams = br.ReadUInt32(); for (uint i = 0U; i < numParams; ++i) { TextParams.Add(TextParam.Read(br, mapVersion)); } uint numChoices = br.ReadUInt32(); for (uint i = 0U; i < numChoices; ++i) { var tChoice = new TextChoice { TriggerCOID = br.ReadUInt64(), Text = br.ReadLengthedString(), TextParams = new List <TextParam>() }; uint numChoiceParams = br.ReadUInt32(); for (uint j = 0U; j < numChoiceParams; ++j) { tChoice.TextParams.Add(TextParam.Read(br, mapVersion)); } } }
public static TextParam Read(BinaryReader br, UInt32 mapVersion) { var tParam = new TextParam { Type = br.ReadByte() }; br.ReadBytes(3); tParam.Id = br.ReadUInt32(); tParam.CachedValue = mapVersion < 14 ? 0.0f : br.ReadSingle(); return(tParam); }