public static ClgCommand ReadScriptAndCriteria(BinaryReader reader) { ClgCommand s = new ClgCommand(); s.BaseAddress = (uint)reader.BaseStream.Position; s.OnScreenPart1 = reader.ReadCharArrayString(32); s.OnScreenPart2 = reader.ReadCharArrayString(32); s.OnScreenPart3 = reader.ReadCharArrayString(32); s.OnScreenPart4 = reader.ReadCharArrayString(32); s.HelpMenuPart1 = reader.ReadCharArrayString(32); s.HelpMenuPart2 = reader.ReadCharArrayString(32); s.HelpMenuPart3 = reader.ReadCharArrayString(32); s.HelpMenuPart4 = reader.ReadCharArrayString(32); s.CriteriaType = (CriteriaTypeOption)reader.ReadInt16(); var criteriaCount = reader.ReadUInt16(); var criteriaStart = s.BaseAddress + reader.ReadUInt32(); var lastAddr = reader.BaseStream.Position; reader.BaseStream.Seek(criteriaStart, SeekOrigin.Begin); for (int i = 0; i < criteriaCount; i++) { s.CriteriaIds.Add(reader.ReadInt32()); } reader.BaseStream.Seek(lastAddr, SeekOrigin.Begin); return(s); }
public void ReadCommandsAndCriterion(BinaryReader reader) { for (int i = 0; i < this.Commands.Count; i++) { this.Commands[i] = ClgCommand.ReadScriptAndCriteria(reader); } }
public static ClgCommand ReadScriptAndCriteria(BinaryReader reader) { ClgCommand s= new ClgCommand(); s.BaseAddress = (uint)reader.BaseStream.Position; s.OnScreenPart1 = reader.ReadCharArrayString(32); s.OnScreenPart2 = reader.ReadCharArrayString(32); s.OnScreenPart3 = reader.ReadCharArrayString(32); s.OnScreenPart4 = reader.ReadCharArrayString(32); s.HelpMenuPart1 = reader.ReadCharArrayString(32); s.HelpMenuPart2 = reader.ReadCharArrayString(32); s.HelpMenuPart3 = reader.ReadCharArrayString(32); s.HelpMenuPart4 = reader.ReadCharArrayString(32); s.CriteriaType = (CriteriaTypeOption)reader.ReadInt16(); var criteriaCount = reader.ReadUInt16(); var criteriaStart = s.BaseAddress + reader.ReadUInt32(); var lastAddr = reader.BaseStream.Position; reader.BaseStream.Seek(criteriaStart, SeekOrigin.Begin); for (int i = 0; i < criteriaCount; i++) { s.CriteriaIds.Add(reader.ReadInt32()); } reader.BaseStream.Seek(lastAddr, SeekOrigin.Begin); return s; }