public void Read(OsiReader reader) { Index = reader.ReadUInt32(); Name = reader.ReadString(); SubGoalCombination = reader.ReadByte(); ParentGoals = reader.ReadRefList <GoalReference, Goal>(); SubGoals = reader.ReadRefList <GoalReference, Goal>(); Flags = reader.ReadByte(); if (reader.Ver >= OsiVersion.VerAddInitExitCalls) { InitCalls = reader.ReadList <Call>(); ExitCalls = reader.ReadList <Call>(); } else { InitCalls = new List <Call>(); ExitCalls = new List <Call>(); } }