public StreamingManager(ISceneResourceRequestHandler requestHandler, IStreamingGoManager streamingGo, StreamingData sceneDescription, ScenesLightmapData.MeshRecords scenesLightmapRecords, ScenesIndoorCullData.IndoorCullRecords scenesIndoorCullRecords, WorldCompositionParam param, int preloadSceneCount) { _requestHandler = requestHandler; _sceneDescription = sceneDescription; _scenesLightmapRecords = scenesLightmapRecords; _scenesIndoorCullRecords = scenesIndoorCullRecords; _concurrentCount = preloadSceneCount; _worldComposition = new WorldCompositionManager(this, param); _streamingGo = streamingGo ?? new StreamingGoByScene(); _streamingGo.SetResourceHandler(this); _triggerObjectManager = SingletonManager.Get <TriggerObjectManager>(); if (_sceneDescription != null) { var count = _sceneDescription.Scenes.Count; for (int i = 0; i < count; i++) { _sceneIndex.Add(_sceneDescription.Scenes[i].SceneName, i); } } _requestHandler.SceneLoaded += SceneLoaded; _requestHandler.SceneUnloaded += SceneUnloaded; _requestHandler.GoLoaded += GoLoaded; _requestHandler.GoUnloaded += GoUnloaded; }
public DoorCastLogic(MapObjectContext mapObjectContext, PlayerContext playerContext, IUserCmdGenerator cmdGenerator, float maxDistance) : base(playerContext, maxDistance) { _doorContext = mapObjectContext; _playerContext = playerContext; _userCmdGenerator = cmdGenerator; _triggerObjectManager = SingletonManager.Get <TriggerObjectManager>(); }
protected ClientAbstractTriggerObjectListener(Contexts contexts, ETriggerObjectType triggerType, IMatcher <MapObjectEntity> activeMapMatcher, IMatcher <MapObjectEntity> deactiveMapMatcher) { _triggerType = triggerType; _contexts = contexts; _triggerObjectManager = SingletonManager.Get <TriggerObjectManager>(); _triggerObjectManager.RegisterListener(triggerType, this); _objectManager = _triggerObjectManager.GetManager(triggerType); var mapContext = contexts.mapObject; _activeMapObjects = mapContext.GetGroup(activeMapMatcher); _deactiveMapObjects = mapContext.GetGroup(deactiveMapMatcher); MapObjectEntityFactory = contexts.session.entityFactoryObject.MapObjectEntityFactory; _detachCallback = new ClientFracturedChunkDetachCallback(); }
public TriggerObjectUpdateSystem() { _manager = SingletonManager.Get <TriggerObjectManager>(); }
public TriggerObjectUpdateSystem(Contexts contexts) { _manager = SingletonManager.Get <TriggerObjectManager>(); _contexts = contexts; }