Radegast.Rendering.SceneWindow.LoadCurrentPrims C# (CSharp) Method

LoadCurrentPrims() private method

private LoadCurrentPrims ( ) : void
return void
        void LoadCurrentPrims()
        {
            if (!Client.Network.Connected) return;

            WorkPool.QueueUserWorkItem(sync =>
            {
                if (RenderSettings.PrimitiveRenderingEnabled)
                {
                    List<Primitive> mainPrims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll((Primitive root) => root.ParentID == 0);
                    foreach (Primitive mainPrim in mainPrims)
                    {
                        UpdatePrimBlocking(mainPrim);
                        Client.Network.CurrentSim.ObjectsPrimitives
                            .FindAll((Primitive child) => child.ParentID == mainPrim.LocalID)
                            .ForEach((Primitive subPrim) => UpdatePrimBlocking(subPrim));
                    }
                }

                if (RenderSettings.AvatarRenderingEnabled)
                {
                    List<Avatar> avis = Client.Network.CurrentSim.ObjectsAvatars.FindAll((Avatar a) => true);
                    foreach (Avatar avatar in avis)
                    {
                        UpdatePrimBlocking(avatar);
                        Client.Network.CurrentSim.ObjectsPrimitives
                            .FindAll((Primitive child) => child.ParentID == avatar.LocalID)
                            .ForEach((Primitive attachedPrim) =>
                            {
                                UpdatePrimBlocking(attachedPrim);
                                Client.Network.CurrentSim.ObjectsPrimitives
                                    .FindAll((Primitive child) => child.ParentID == attachedPrim.LocalID)
                                    .ForEach((Primitive attachedPrimChild) =>
                                    {
                                        UpdatePrimBlocking(attachedPrimChild);
                                    });
                            });
                    }
                }
            });
        }
SceneWindow