Beispiel #1
0
 public ClientDestructibleObjectListener(Contexts contexts) : base(contexts, ETriggerObjectType.DestructibleObject,
                                                                   MapObjectMatcher.AllOf(MapObjectMatcher.EntityKey,
                                                                                          MapObjectMatcher.TriggerObjectId,
                                                                                          MapObjectMatcher.DestructibleObjectFlag,
                                                                                          MapObjectMatcher.DestructibleData,
                                                                                          MapObjectMatcher.RawGameObject),
                                                                   MapObjectMatcher.AllOf(MapObjectMatcher.EntityKey,
                                                                                          MapObjectMatcher.TriggerObjectId,
                                                                                          MapObjectMatcher.DestructibleObjectFlag,
                                                                                          MapObjectMatcher.DestructibleData)
                                                                   .NoneOf(MapObjectMatcher.RawGameObject))
 {
     _detachCallback = new ClientFracturedChunkDetachCallback();
 }
Beispiel #2
0
        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();
        }