public override IEnumerable <Object> FetchDependencies(ISerializedFile file, bool isLog = false)
        {
            foreach (Object @object in base.FetchDependencies(file, isLog))
            {
                yield return(@object);
            }

            if (IsReadOffscreen(file.Version))
            {
                yield return(DisableAnimationWhenOffscreen.FetchDependency(file, isLog, ToLogString, "m_DisableAnimationWhenOffscreen"));
            }
            yield return(Mesh.FetchDependency(file, isLog, ToLogString, "m_Mesh"));

            foreach (PPtr <Transform> ptr in Bones)
            {
                if (!ptr.IsNull)
                {
                    yield return(ptr.GetObject(file));
                }
            }
            if (!RootBone.IsNull)
            {
                yield return(RootBone.GetObject(file));
            }
        }
Exemple #2
0
        public override IEnumerable <Object> FetchDependencies(bool isLog = false)
        {
            foreach (Object @object in base.FetchDependencies(isLog))
            {
                yield return(@object);
            }

            if (IsReadOffscreen)
            {
                if (!DisableAnimationWhenOffscreen.IsNull)
                {
                    Animation anim = DisableAnimationWhenOffscreen.GetObject();
                    if (anim == null)
                    {
                        if (isLog)
                        {
                            Logger.Log(LogType.Warning, LogCategory.Export, $"{ToLogString()} m_DisableAnimationWhenOffscreen {DisableAnimationWhenOffscreen.ToLogString()} wasn't found ");
                        }
                    }
                    else
                    {
                        yield return(anim);
                    }
                }
            }
            if (!Mesh.IsNull)
            {
                Mesh mesh = Mesh.FindObject();
                if (mesh == null)
                {
                    Logger.Log(LogType.Warning, LogCategory.Export, $"{ToLogString()} m_Mesh {Mesh.ToLogString()} wasn't found ");
                }
                else
                {
                    yield return(mesh);
                }
            }
            foreach (PPtr <Transform> ptr in Bones)
            {
                yield return(ptr.GetObject());
            }
            if (!RootBone.IsNull)
            {
                yield return(RootBone.GetObject());
            }
        }