Пример #1
0
 public Transform ConfigCharacters()
 {
     _currentCharacterController = DequeueCharacter();
     _currentCharacterController.isJustEntered = true;
     _messageBus.RaiseEvent(new OnOtherDisabled(_currentCharacterController.EntityId, _id));
     return(_currentCharacterController.transform);
 }
Пример #2
0
        private void OnCharacterInteract(GameObject character)
        {
            if (!_console.CanDoAction())
            {
                return;
            }

            _controller         = character.GetComponent <CharacterController>();
            _controller.enabled = false;
            _controller.Stop();

            _gc         = _controller.GetGamepad();
            _hasControl = true;

            bool ok = true;

            foreach (var consoleControlSystem in _systems)
            {
                if (!consoleControlSystem.Activate())
                {
                    ok = false;
                }
            }

            tag = interactingTag;

            if (!ok)
            {
                OnStopInteraction();
            }
        }
Пример #3
0
        private void OnStopInteraction()
        {
            _controller.enabled = true;
            _controller         = null;

            _gc         = null;
            _hasControl = false;

            foreach (var consoleControlSystem in _systems)
            {
                consoleControlSystem.Desactivate();
            }

            tag = _originalTag;
        }
Пример #4
0
 public Transform EnterNextCharacter()
 {
     _currentCharacterController = DequeueCharacter();
     _messageBus.RaiseEvent(new OnCharacterArrivalToggled(_currentCharacterController.EntityId, true));
     return(_currentCharacterController.transform);
 }
Пример #5
0
 public void EnqueueCharacter(Character.CharacterController controller)
 {
     _characters.Enqueue(controller);
 }