/// <summary> /// Display keyboard /// </summary> /// <param name="pressedTileView"></param> private void DisplayKeyboard(BoardTileView pressedTileView) { if (!PlayerStartsService.HasPlaying) { return; } View.Content.SetActive(true); View.activeTileView = pressedTileView; View.readyToPress = false; WaitToReleaseButton(); }
// -------------------------------------------------------------------------------------------- private void OnPointerDown(object sender, EventSystemEventArgs e) { PointerEventData pointerEventData = e.eventData as PointerEventData; Ray ray = _game.gameCamera.ScreenPointToRay(pointerEventData.position); if (_potentialSelectedUnitView == null) { // if we have no potential selected unit yet, try to find one if (Physics.Raycast(ray, out RaycastHit unitViewHit)) { _potentialSelectedUnitView = unitViewHit.collider.GetComponentInParent <UnitView>(); if (_potentialSelectedUnitView) // remember, GameObjects can be cast as bools (false if destroyed or null) { _potentialSelectedUnitTime = Time.time; foreach (IListener listener in _listeners) { listener.OnPointerDownOverUnitView(_potentialSelectedUnitView); } } } if (_potentialSelectedUnitView == null) { // if the potential slected unit view is still null, lets raycast to our plane _previousDragPoint = pointerEventData.position; } } // see if we hit a board tile view if (Physics.Raycast(ray, out RaycastHit hit)) { BoardTileView boardTileView = hit.collider.GetComponentInParent <BoardTileView>(); if (boardTileView != null) { foreach (IListener listener in _listeners) { listener.OnPointerDownOverBoardTileView(boardTileView); } } } }