Example #1
0
 /// <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();
 }
Example #2
0
        // --------------------------------------------------------------------------------------------
        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);
                    }
                }
            }
        }