Esempio n. 1
0
        public override Scene Process(Scene input, ContentProcessorContext context)
        {
            Dictionary <int, UnityObject> idMap = new Dictionary <int, UnityObject>();

            input.AfterLoad(idMap);
            scene = input;

            // Create static batch renderers
            CreateStaticBatchRenderers(context, idMap);
            PurgeColliders();

            foreach (Component cmp in scene.components)
            {
                Type tp = cmp.GetType();
                if (!assembliesUsed.Contains(tp.Assembly))
                {
                    assembliesUsed.Add(tp.Assembly);
                }
            }

            TypeSet tc = new TypeSet();

            foreach (Assembly ass in assembliesUsed)
            {
                foreach (Type type in ass.GetTypes())
                {
                    tc.Add(type);
                }
            }
            scene.typeCaps = tc.ToList();
            Application.Reset();
            scene.hasBeenProcessed = true;
            return(input);
        }