예제 #1
0
 internal BindingContext(Session session)
 {
     m_WorldManager     = session.GetManager <IWorldManager>();
     m_EntityManager    = m_WorldManager.EntityManager;
     m_AssetManager     = session.GetManager <IAssetManager>();
     m_ComponentManager = session.GetManager <UnityComponentCacheManager>();
 }
예제 #2
0
        public override void Load()
        {
            m_BindingsContext            = new BindingContext(Session);
            m_Undo                       = Session.GetManager <IEditorUndoManager>();
            m_Undo.UndoRedoBatchStarted += HandleUndoRedoBatchStarted;
            m_Undo.UndoRedoBatchEnded   += HandleUndoRedoBatchEnded;

            m_WorldManager     = Session.GetManager <IWorldManagerInternal>();
            m_ArchetypeManager = Session.GetManager <IArchetypeManager>();
            m_SceneManager     = Session.GetManager <IEditorSceneManagerInternal>();
            m_ComponentCache   = Session.GetManager <UnityComponentCacheManager>();
            Session.GetManager <IChangeManager>().RegisterChangeCallback(HandleChanges, int.MaxValue);
            UnityEditor.Undo.postprocessModifications += HandleInvertedChanges;
            EditorApplication.hierarchyChanged        += HandleHierarchyChanges;
            m_TransferMap = new NativeHashMap <EntityGuid, EntityGuid>(1024, Allocator.Persistent);
        }