示例#1
0
        protected override GameObjectReplacer Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
        {
            var node = new GameObjectReplacer(settings);

            input.streamEvent = node.OnGameObjectEvent;
            return(node);
        }
示例#2
0
        protected override TextureConverter Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
        {
            var p = new TextureConverter(hook.services.eventHub, hook.services.memoryTracker, output);

            input.streamEvent = p.OnStreamEvent;

            return(p);
        }
示例#3
0
        protected override MetadataFilter Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
        {
            var node = new MetadataFilter(settings, outputTrue, outputFalse);

            input.streamEvent = node.OnStreamInstanceEvent;

            return(node);
        }
        protected override MaterialConverter Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
        {
            var converter = new SampleMaterialConverter(hook.services.eventHub, hook.services.memoryTracker, textureCacheParam.value, output, opaqueShader, transparentShader);

            input.streamEvent = converter.OnStreamEvent;

            return(converter);
        }
        protected override URPMaterialConverter Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
        {
            var p = new URPMaterialConverter(hook.Services.EventHub, hook.Services.MemoryTracker, textureCacheParam.value, output, m_ReflectUniversalRp);

            input.streamEvent = p.OnStreamEvent;

            return(p);
        }
        protected override LightFilter Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
        {
            var p = new LightFilter(settings);

            gameObjectInput.streamEvent = p.OnStreamEvent;

            return(p);
        }
示例#7
0
        protected override BoundingBoxFilter Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
        {
            var node = new BoundingBoxFilter(settings);

            input.streamEvent = node.OnStreamEvent;
            input.streamEnd   = node.OnEnd;

            return(node);
        }
示例#8
0
        protected override MetadataSoftFilter Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
        {
            var filter = new MetadataSoftFilter();

            instanceInput.streamEvent   = filter.OnStreamInstanceEvent;
            gameObjectInput.streamEvent = filter.OnGameObjectEvent;

            return(filter);
        }
        protected override StreamLimiter <StreamInstance> Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
        {
            var node = new StreamLimiter <StreamInstance>(settings, instanceOutput);

            instanceInput.streamBegin = node.OnStreamInstanceBegin;
            instanceInput.streamEvent = node.OnStreamInstanceEvent;
            instanceInput.streamEnd   = node.OnStreamInstanceEnd;

            return(node);
        }
示例#10
0
        protected override MetadataHardFilter Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
        {
            var filter = new MetadataHardFilter(output);

            input.streamBegin = filter.OnBegin;
            input.streamEvent = filter.OnStreamEvent;
            input.streamEnd   = filter.OnEnd;

            return(filter);
        }
示例#11
0
        public static void InstantiateAndStart(this ReflectBootstrapper reflectBootstrapper,
                                               ActorSystemSetup actorSystemSetup,
                                               IExposedPropertyTable resolver = null,
                                               UnityProject unityProject      = null,
                                               UnityUser unityUser            = null)
        {
            var actorRunnerProxy = reflectBootstrapper.systems.ActorRunner;

            actorRunnerProxy.Instantiate(actorSystemSetup, unityProject, resolver, unityUser);
            actorRunnerProxy.StartActorSystem();
        }
        protected override StreamCounter Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
        {
            var node = new StreamCounter(settings);

            var input = GetInput();

            input.streamBegin = node.OnBegin;
            input.streamEvent = (stream, eventType) => node.OnStreamEvent(eventType);

            return(node);
        }
示例#13
0
        protected override MetadataFilter Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
        {
            var p = new MetadataFilter(settings);

            instanceInput.streamEvent = p.OnStreamInstanceEvent;
            instanceInput.streamEnd   = p.OnStreamInstanceEnd;

            gameObjectInput.streamEvent = p.OnGameObjectAdded;
            gameObjectInput.streamEnd   = p.OnGameObjectEnd;

            return(p);
        }
示例#14
0
        protected override SyncObjectInstanceProvider Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
        {
            var node = new SyncObjectInstanceProvider(hook.services.eventHub, provider, output);

            input.streamBegin = node.OnStreamInstanceBegin;
            input.streamEvent = node.OnStreamInstanceEvent;
            input.streamEnd   = node.OnStreamInstanceEnd;

            node.Run();

            return(node);
        }
        protected override SpatialFilter Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
        {
            var p = new SpatialFilter(hook.helpers.clock, hook.helpers.memoryStats, hook.services.eventHub, hook.systems.memoryCleaner.memoryLevel,
                settings, assetOutput, visibilityOutput, resolver);

            assetInput.streamBegin = assetOutput.SendBegin;
            assetInput.streamEvent = p.OnStreamAssetEvent;
            assetInput.streamEnd = p.OnStreamInstanceEnd;

            gameObjectInput.streamEvent = p.OnStreamGameObjectEvent;

            return p;
        }
        protected override DataProvider Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
        {
            var p = new DataProvider(hook.services.eventHub, hook.services.memoryTracker, provider, hashCacheParam.value,
                                     syncMeshOutput, syncMaterialOutput, syncTextureOutput, instanceDataOutput);

            instanceInput.streamBegin = p.OnStreamInstanceBegin;
            instanceInput.streamEvent = p.OnStreamInstanceEvent;
            instanceInput.streamEnd   = p.OnStreamInstanceEnd;

            assetInput.streamEvent = p.OnStreamAssetEvent;

            p.Run();

            return(p);
        }
        protected override BoundingBoxController Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
        {
            var p = new BoundingBoxController(hook.Services.EventHub, settings.boundingBoxRoot.Resolve(resolver), settings);

            assetInput.streamEvent        = p.OnAssetEvent;
            filteredInput.streamEvent     = p.OnFilteredAssetEvent;
            instanceInput.streamEvent     = p.OnInstanceEvent;
            instanceDataInput.streamEvent = p.OnInstanceDataEvent;
            gameObjectInput.streamEvent   = p.OnGameObjectEvent;
            visibilityInput.streamEvent   = p.OnVisibilityEvent;

            assetInput.streamEnd = p.OnAssetEnd;

            return(p);
        }
示例#18
0
        protected override InstanceConverter Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
        {
            var root = m_Root.Resolve(resolver);

            if (root == null)
            {
                root = new GameObject("root").transform;
            }

            var node = new InstanceConverter(hook.services.eventHub, hook.services.memoryTracker, root, m_GenerateSourceRoots,
                                             materialCacheParam.value, meshCacheParam.value, output);

            input.streamBegin = output.SendBegin;
            input.streamEvent = node.OnStreamEvent;
            input.streamEnd   = output.SendEnd;

            return(node);
        }
        protected override StreamIndicator Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
        {
            var node = new StreamIndicator(settings);

            streamAssetInput.streamBegin = node.OnAssetStreamBegin;
            streamAssetInput.streamEvent = node.OnAssetStreamEvent;
            streamAssetInput.streamEnd   = node.OnAssetStreamEnd;

            streamInstanceInput.streamBegin = node.OnInstanceStreamBegin;
            streamInstanceInput.streamEvent = node.OnInstanceStreamEvent;
            streamInstanceInput.streamEnd   = node.OnInstanceStreamEnd;

            streamInstanceDataInput.streamBegin = node.OnInstanceDataStreamBegin;
            streamInstanceDataInput.streamEnd   = node.OnInstanceDataStreamEnd;

            gameObjectInput.streamBegin = node.OnGameObjectStreamBegin;
            gameObjectInput.streamEvent = node.OnGameObjectStreamEvent;
            gameObjectInput.streamEnd   = node.OnGameObjectStreamEnd;

            return(node);
        }
示例#20
0
 protected override ProjectStreamer Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
 {
     return(new ProjectStreamer(provider, assetOutput));
 }
示例#21
0
        public static T FindActor <T>(this ReflectBootstrapper reflectBootstrapper) where T : class
        {
            var actorRunnerProxy = reflectBootstrapper.systems.ActorRunner;

            return(actorRunnerProxy.FindActorState <T>());
        }
 public IReflectNodeProcessor CreateProcessor(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver)
 {
     processor = Create(hook, provider, resolver);
     return(processor);
 }
 protected abstract T Create(ReflectBootstrapper hook, ISyncModelProvider provider, IExposedPropertyTable resolver);