Example #1
0
        private UnityInstance()
        {
            m_World = DefaultWorldInitialization.Initialize("Default World");

            m_BootPhase     = BootPhase.Booting;
            m_RunState      = RunState.Resuming;
            m_EntityManager = m_World.EntityManager;

            m_StartTimeInSeconds           = 0;
            m_ElapsedTimeInSeconds         = 0;
            m_PreviousElapsedTimeInSeconds = 0;

            m_SceneSystemGroup = m_World.GetOrCreateSystem <SceneSystemGroup>();
            m_SceneSystem      = m_World.GetOrCreateSystem <SceneSystem>();

            m_TimeData = (TimeData *)UnsafeUtility.Malloc(
                UnsafeUtility.SizeOf <TimeData>(),
                0,
                Collections.Allocator.Persistent);
        }
Example #2
0
        private UnityInstance()
        {
            m_World = DefaultWorldInitialization.Initialize("Default World");

            m_BootPhase     = BootPhase.Booting;
            m_RunState      = RunState.Resuming;
            m_EntityManager = m_World.EntityManager;

            m_StartTimeInSeconds           = 0;
            m_ElapsedTimeInSeconds         = 0;
            m_PreviousElapsedTimeInSeconds = 0;

            // try to find SceneSystemGroup in worlds
            foreach (var w in World.All)
            {
                m_SceneSystemGroup = w.GetExistingSystem <SceneSystemGroup>();
                m_SceneSystem      = w.GetExistingSystem <SceneSystem>();

                if (m_SceneSystemGroup != null)
                {
                    break;
                }
            }

            // if cannot find - create in the default world
            if (m_SceneSystemGroup == null)
            {
                m_SceneSystemGroup = m_World.GetOrCreateSystem <SceneSystemGroup>();
                m_SceneSystem      = m_World.GetOrCreateSystem <SceneSystem>();
            }

            m_TimeData = (TimeData *)UnsafeUtility.Malloc(
                UnsafeUtility.SizeOf <TimeData>(),
                0,
                Collections.Allocator.Persistent);
        }