public IEnumerable <Object> FetchDependencies(ISerializedFile file, bool isLog = false) { if (IsReadSubEmitters(file.Version)) { foreach (SubEmitterData subEmitter in SubEmitters) { foreach (Object @object in subEmitter.FetchDependencies(file, isLog)) { yield return(@object); } } } else { yield return(SubEmitterBirth.FetchDependency(file, isLog, () => nameof(SubModule), "m_SubEmitterBirth")); yield return(SubEmitterDeath.FetchDependency(file, isLog, () => nameof(SubModule), "m_SubEmitterDeath")); yield return(SubEmitterCollision.FetchDependency(file, isLog, () => nameof(SubModule), "m_SubEmitterCollision")); if (IsReadSecond(file.Version)) { yield return(SubEmitterBirth1.FetchDependency(file, isLog, () => nameof(SubModule), "m_SubEmitterBirth1")); yield return(SubEmitterDeath1.FetchDependency(file, isLog, () => nameof(SubModule), "m_SubEmitterDeath1")); yield return(SubEmitterCollision1.FetchDependency(file, isLog, () => nameof(SubModule), "m_SubEmitterCollision1")); } } }
public override void Read(AssetStream stream) { base.Read(stream); if (IsReadSubEmitters(stream.Version)) { m_subEmitters = stream.ReadArray <SubEmitterData>(); } else { SubEmitterBirth.Read(stream); if (IsReadSecond(stream.Version)) { SubEmitterBirth1.Read(stream); } SubEmitterDeath.Read(stream); if (IsReadSecond(stream.Version)) { SubEmitterDeath1.Read(stream); } SubEmitterCollision.Read(stream); if (IsReadSecond(stream.Version)) { SubEmitterCollision1.Read(stream); } } }