示例#1
0
        /// <inheritdoc />
        public override void Shutdown()
        {
            _constructionMenu?.Dispose();

            CommandBinds.Unregister <ConstructionSystem>();
            base.Shutdown();
        }
 public override void Shutdown()
 {
     base.Shutdown();
     // TODO: Gamehud moment
     _gameHud.SandboxButtonToggled    -= SandboxButtonPressed;
     _adminManager.AdminStatusUpdated -= OnAdminStatus;
     CommandBinds.Unregister <SandboxSystem>();
 }
        public override void Shutdown()
        {
            base.Shutdown();

            _contextMenuPresenter?.Dispose();

            CommandBinds.Unregister <VerbSystem>();
        }
示例#4
0
        public override void Shutdown()
        {
            UnsubscribeLocalEvent <MoveEvent>();
            _contextMenuPresenter?.Dispose();

            CommandBinds.Unregister <VerbSystem>();
            base.Shutdown();
        }
        public void ResolvesHandlers_WhenNoDependencies(int handlersPerType, int numFunctions)
        {
            var registry    = new CommandBindRegistry();
            var allHandlers = new Dictionary <BoundKeyFunction, List <InputCmdHandler> >();

            for (int i = 0; i < numFunctions; i++)
            {
                var bkf           = new BoundKeyFunction(i.ToString());
                var theseHandlers = new List <InputCmdHandler>();
                allHandlers[bkf] = theseHandlers;

                var aHandlers = new List <InputCmdHandler>();
                var bHandlers = new List <InputCmdHandler>();
                var cHandlers = new List <InputCmdHandler>();
                for (int j = 0; j < handlersPerType; j++)
                {
                    aHandlers.Add(new TestInputCmdHandler(typeof(TypeA)));
                    bHandlers.Add(new TestInputCmdHandler(typeof(TypeB)));
                    cHandlers.Add(new TestInputCmdHandler(typeof(TypeC)));
                }
                theseHandlers.AddRange(aHandlers);
                theseHandlers.AddRange(bHandlers);
                theseHandlers.AddRange(cHandlers);

                CommandBinds.Builder
                .Bind(bkf, aHandlers)
                .Register <TypeA>(registry);
                CommandBinds.Builder
                .Bind(bkf, bHandlers)
                .Register <TypeB>(registry);
                CommandBinds.Builder
                .Bind(bkf, cHandlers)
                .Register <TypeC>(registry);
            }


            //order doesn't matter, just verify that all handlers are returned
            foreach (var bkfToExpectedHandlers in allHandlers)
            {
                var bkf = bkfToExpectedHandlers.Key;
                var expectedHandlers = bkfToExpectedHandlers.Value;
                HashSet <InputCmdHandler> returnedHandlers = registry.GetHandlers(bkf).ToHashSet();

                CollectionAssert.AreEqual(returnedHandlers, expectedHandlers);
            }

            // type b stuff should no longer fire
            CommandBinds.Unregister <TypeB>(registry);

            foreach (var bkfToExpectedHandlers in allHandlers)
            {
                var bkf = bkfToExpectedHandlers.Key;
                var expectedHandlers = bkfToExpectedHandlers.Value;
                expectedHandlers.RemoveAll(handler => ((TestInputCmdHandler)handler).ForType == typeof(TypeB));
                HashSet <InputCmdHandler> returnedHandlers = registry.GetHandlers(bkf).ToHashSet();
                CollectionAssert.AreEqual(returnedHandlers, expectedHandlers);
            }
        }
示例#6
0
        /// <inheritdoc />
        public override void Shutdown()
        {
            base.Shutdown();

            UnsubscribeLocalEvent <EntRemovedFromContainerMessage>();
            UnsubscribeLocalEvent <EntInsertedIntoContainerMessage>();

            CommandBinds.Unregister <HandsSystem>();
        }
示例#7
0
        public override void Shutdown()
        {
            base.Shutdown();

            UnsubscribeNetworkEvent <VerbSystemMessages.VerbsResponseMessage>();
            UnsubscribeNetworkEvent <PlayerContainerVisibilityMessage>();
            UnsubscribeLocalEvent <MoveEvent>();
            _contextMenuPresenter?.Dispose();

            CommandBinds.Unregister <VerbSystem>();
        }
        public bool SignalLinkerKeybind(NetUserId id, bool?enable)
        {
            if (enable == null)
            {
                enable = !_transmitters.ContainsKey(id);
            }

            if (enable == true)
            {
                if (_transmitters.ContainsKey(id))
                {
                    return(true);
                }

                if (_transmitters.Count == 0)
                {
                    CommandBinds.Builder
                    .BindBefore(EngineKeyFunctions.Use, new PointerInputCmdHandler(HandleUse), typeof(InteractionSystem))
                    .Register <SignalLinkerSystem>();
                }

                _transmitters.Add(id, null);
            }
            else if (enable == false)
            {
                if (!_transmitters.ContainsKey(id))
                {
                    return(false);
                }

                _transmitters.Remove(id);
                if (_transmitters.Count == 0)
                {
                    CommandBinds.Unregister <SignalLinkerSystem>();
                }
            }
            return(enable == true);
        }
        public void SignalLinkerKeybind(NetSessionId id, bool?enable)
        {
            if (enable == null)
            {
                enable = !_transmitters.ContainsKey(id);
            }

            if (enable == true)
            {
                if (_transmitters.ContainsKey(id))
                {
                    return;
                }

                if (_transmitters.Count == 0)
                {
                    CommandBinds.Builder
                    .Bind(EngineKeyFunctions.Use, new PointerInputCmdHandler(HandleUse))
                    .Register <SignalLinkerSystem>();
                }

                _transmitters.Add(id, null);
            }
            else if (enable == false)
            {
                if (!_transmitters.ContainsKey(id))
                {
                    return;
                }

                _transmitters.Remove(id);
                if (_transmitters.Count == 0)
                {
                    CommandBinds.Unregister <SignalLinkerSystem>();
                }
            }
        }
 private void ShutdownInput()
 {
     CommandBinds.Unregister <SharedMoverController>();
 }
示例#11
0
 public override void Shutdown()
 {
     CancelDrag(false, null);
     CommandBinds.Unregister <DragDropSystem>();
     base.Shutdown();
 }
示例#12
0
 public override void Shutdown()
 {
     CommandBinds.Unregister <ConstructorSystem>();
     base.Shutdown();
 }
        public override void Shutdown()
        {
            base.Shutdown();

            CommandBinds.Unregister <HandsSystem>();
        }
示例#14
0
 public override void Shutdown()
 {
     CommandBinds.Unregister <ClientInventorySystem>();
     base.Shutdown();
 }
示例#15
0
 public override void Shutdown()
 {
     CommandBinds.Unregister <SharedMoverSystem>();
     base.Shutdown();
 }
示例#16
0
 public override void Shutdown()
 {
     CommandBinds.Unregister <VerbSystem>();
     base.Shutdown();
 }
示例#17
0
 public override void Shutdown()
 {
     CommandBinds.Unregister <MouseInputSystem>();
 }
示例#18
0
 public override void Shutdown()
 {
     //WARN: Tightly couples this system with InputSystem, and assumes InputSystem exists and is initialized
     CommandBinds.Unregister <EyeUpdateSystem>();
     base.Shutdown();
 }
示例#19
0
 public override void Shutdown()
 {
     CommandBinds.Unregister <InteractionSystem>();
     base.Shutdown();
 }
示例#20
0
    public override void Shutdown()
    {
        base.Shutdown();

        CommandBinds.Unregister <DecalPlacementSystem>();
    }
 public override void Shutdown()
 {
     CommandBinds.Unregister <CharacterInterfaceSystem>();
     base.Shutdown();
 }
示例#22
0
 public override void Shutdown()
 {
     CommandBinds.Unregister <CombatModeSystem>();
     base.Shutdown();
 }