コード例 #1
0
 public ServerFracturedChunkDetachCallback(Contexts contexts)
 {
     _sceneObjectContext       = contexts.sceneObject;
     _sceneObjectEntityFactory = contexts.session.entityFactoryObject.SceneObjectEntityFactory;
     _currentTime           = contexts.session.currentTimeObject;
     MapObjectEntityFactory = contexts.session.entityFactoryObject.MapObjectEntityFactory;
 }
コード例 #2
0
        public static void ProcessMapObjectCommand(DebugCommand message, MapObjectContext context,
                                                   IMapObjectEntityFactory mapObjectEntityFactory, PlayerEntity player)
        {
            switch (message.Command)
            {
            case DebugCommands.ClearSceneObject:
                context.DestroyAllEntities();
                break;

            case DebugCommands.ListDoorEntity:
                var mapEntities = context.GetEntities();
                for (int i = 0; i < mapEntities.Length; ++i)
                {
                    var mapEntity = mapEntities[i];
                    if (mapEntity.hasDoorData && mapEntity.hasRawGameObject)
                    {
                        var obj = mapEntity.rawGameObject.Value;

                        string path = "/" + obj.name;
                        while (obj.transform.parent != null)
                        {
                            obj  = obj.transform.parent.gameObject;
                            path = "/" + obj.name + path;
                        }

                        Logger.InfoFormat("DoorEntity {0} {1}", mapEntity, path);
                    }
                }
                break;
            }
        }
コード例 #3
0
        protected ServerMapTriggerObjectListener(Contexts contexts, ETriggerObjectType triggerType, IMatcher <MapObjectEntity> mapMatcher)
        {
            var triggerManager = SingletonManager.Get <TriggerObjectManager>();

            triggerManager.RegisterListener(triggerType, this);
            MapObjectEntityFactory = contexts.session.entityFactoryObject.MapObjectEntityFactory;
            _mapObjGroup           = contexts.mapObject.GetGroup(mapMatcher);
        }
コード例 #4
0
        public DoorTriggerSystem(Contexts context, ITriggerObjectListener listener = null)
        {
            _listener   = listener;
            _contexts   = context;
            _mapContext = context.mapObject;
            _mapFactory = _contexts.session.entityFactoryObject.MapObjectEntityFactory;

            var triggerObjectManager = SingletonManager.Get <TriggerObjectManager>();

            _objectManager = triggerObjectManager.GetManager(ETriggerObjectType.Door);
        }
コード例 #5
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();
        }