Esempio n. 1
0
 public EntityComponentManager(IManagerChangeNotify notify, EntityOrderContainer orderContainer)
 {
     this.orderContainer      = orderContainer;
     this.notify              = notify;
     entitySynchronizer       = new SynchronizationContext <EntityComponentManager, GraphicEntity>(this);
     comSynchronizer          = new SynchronizationContext <EntityComponentManager, IGraphicComponent>(this);
     flyweightComSynchronizer = new SynchronizationContext <EntityComponentManager, IFlyweightGraphicComponent>(this);
 }
Esempio n. 2
0
        public ManagerContainer(IManagerChangeNotify notify, IContextState context)
        {
            EntityOrder        = new EntityOrderContainer();
            this.SystemManager = new SystemManager(notify, context);
            var encom = new EntityComponentManager(notify, EntityOrder);

            this.ComponentManager = encom;
            this.EntityManager    = encom;
        }
Esempio n. 3
0
        internal Managers(IManagerChangeNotify notify)
        {
            EntityOrder   = new EntityOrderContainer();
            this.SManager = new SystemManager(notify);
            var encom = new EntityComponentManager(notify, EntityOrder);

            this.CManager = encom;
            this.EManager = encom;
        }
Esempio n. 4
0
 public SceneSnapshot(IAppWindow win, IManagerChangeNotify notifier,
                      IViewport viewport,
                      IOctree octree, InputSnapshot isnapshot, TimeSpan time)
 {
     Viewport      = viewport;
     Notifier      = notifier;
     InputSnapshot = isnapshot;
     FrameRateTime = time;
     Window        = win;
     Lights        = new LightState[LightStructBuffer.MaxCount];
     Octree        = octree;
 }
Esempio n. 5
0
        public ManagerContainer(IManagerChangeNotify notify,
                                IOctreeManager octree, IContextState context, IGeometryMemoryPool geoPool,
                                RenderLoopSynchronizationContext syncContext, ILabLogger logger)
        {
            SynchronizationContext = syncContext;
            EntityOrder            = new EntityOrderContainer();
            this.SystemManager     = new SystemManager(notify, context);
            var encom = new EntityComponentManager(notify, EntityOrder, syncContext);

            GeoMemoryPool         = geoPool;
            this.ComponentManager = encom;
            this.EntityManager    = encom;
            OctreeManager         = octree;
            Logger = logger;
        }
Esempio n. 6
0
        public ContextStateProcessor(IManagerChangeNotify notify)
        {
            states = new Dictionary <int, Func <ContextStateProcessor, IContextState> >();
            states.Add(-1, x => new EmptyContextState());
            currentState = new EmptyContextState();

            if (managers == null)
            {
                lock (_loker) {
                    if (managers == null)
                    {
                        managers = new Managers(notify);
                    }
                }
            }
        }
Esempio n. 7
0
 public SystemManager(IManagerChangeNotify notify, IContextState context)
 {
     this.notify  = notify;
     this.context = context;
 }
Esempio n. 8
0
 public EntityComponentManager(IManagerChangeNotify notify, EntityOrderContainer orderContainer)
 {
     this.orderContainer = orderContainer;
     this.notify         = notify;
 }
Esempio n. 9
0
 public GeometryPool(IManagerChangeNotify notify, RenderLoopSynchronizationContext syncContext)
 {
     sync        = SynchronizationContextBuilder.Create <GeometryPool, GeometryPoolComponent>(this, syncContext);
     pool        = new ConcurrentDictionary <Guid, IGeometryData>();
     this.notify = notify;
 }
Esempio n. 10
0
 public SystemManager(IManagerChangeNotify notify)
 {
     this.notify = notify;
 }