private void ApplyBatchRemove()
        {
            foreach (OurDrawnActor3D actor in removeList)
            {
                if (actor.EffectParameters.GetAlpha() < 1)
                {
                    TransparentList.Remove(actor);
                }
                else
                {
                    OpaqueList.Remove(actor);
                }
            }

            removeList.Clear();
        }
        private void HandleObjectCategoryEvent(EventData eventData)
        {
            switch (eventData.EventActionType)
            {
            case EventActionType.OnRemoveActor:
            {
                OurDrawnActor3D removeObject = eventData.Parameters[0] as OurDrawnActor3D;
                OpaqueList.Remove(removeObject);
                break;
            }

            case EventActionType.OnAddActor:
            {
                if (eventData.Parameters[0] is OurModelObject modelObject)
                {
                    Add(modelObject);
                }
                break;
            }
            }
        }