private UniTask Hide()
        {
            _lockToken?.Dispose();
            _lockToken = null;

            _moveUnitButton.onClick.RemoveListener(HandleMoveUnitButtonPressed);
            _removeUnitButton.onClick.RemoveListener(HandleRemoveUnitButtonPressed);
            _rotateUnitButton.onClick.RemoveListener(HandleRotateUnitPressed);
            _cancelButton.onClick.RemoveListener(HandleCancelButtonPressed);
            return(_radialMenu.Hide());
        }
        private void Hide()
        {
            // Listeners
            _removeUnitButton.onClick.RemoveListener(HandleRemoveUnitPressed);
            _rotateUnitButton.onClick.RemoveListener(HandleRotateUnitPressed);
            _cancelSelectionButton.onClick.RemoveListener(HandleCancelSelectionPressed);

            // Hide Menu
            _radialMenu.Hide();

            // Dispose observer
            _observer?.Dispose();
            _observer = null;
        }
예제 #3
0
        public async UniTask Show(IntVector2 tileCoords, IMapElement mapElement)
        {
            Vector3 screenPosition =
                _camera.WorldToScreenPoint(_gridPositionCalculator.GetTileCenterWorldPosition(tileCoords));

            _radialMenu.Show(screenPosition);

            var result = await _removeButton.ToButtonCancellableTask(_cancelButton);

            if (!result.isCanceled)
            {
                mapElement.Remove();
            }

            await _radialMenu.Hide();
        }
 internal UniTask Hide()
 {
     return(_radialMenu.Hide());
 }