public void StartAcceptingSaturdayInput()
    {
        GameObject           go   = weekViewSlots.Peek();
        CalendarSaturdaySlot slot = go.GetComponentInChildren <CalendarSaturdaySlot>();

        slot.HighlightSlot(true);
        slot.isActiveSlot = true;
    }
Exemple #2
0
    private void HandleMouseClick(bool isMouseDown)
    {
        if (isMouseDown)
        {
            // Only do card logic on weekdays
            if (GameManager.instance.currentPhase == PlayPhase.WEEKDAY)
            {
                // Case when player clicks on a card
                if (currentHoveredCard)
                {
                    currentSelectedCard = currentHoveredCard;
                    if (currentSelectedCard.inHand)
                    {
                        // Clicked on card in hand, start selection
                        lineRenderer.enabled = true;
                        lineRenderer.SetPosition(0, currentSelectedCard.transform.position);
                    }
                    else
                    {
                        // Clicked on placed card, return to hand
                        currentSelectedCard.ReturnToHand();
                        ResetSelection();
                    }
                }
                // Case when player clicks on empty slot
                else if (currentHoveredSlot)
                {
                    // Make sure player has card selected before setting in slot, otherwise do nothing
                    if (currentSelectedCard)
                    {
                        currentSelectedCard.SetCardInSlot(currentHoveredSlot);
                        currentSelectedCard.EndHover();
                    }

                    ResetSelection();
                }
                // Case when player clicks in empty area
                else
                {
                    ResetSelection();
                }
            }
            else if (GameManager.instance.currentPhase == PlayPhase.SATURDAY)
            {
                Ray          ray = Camera.main.ScreenPointToRay(Input.mousePosition);
                RaycastHit2D hit = Physics2D.Raycast(ray.origin, ray.direction, Mathf.Infinity);

                if (hit)
                {
                    CalendarSaturdaySlot slotHit = hit.collider.GetComponent <CalendarSaturdaySlot>();
                    if (slotHit && slotHit.isActiveSlot && !isShowingJournal)
                    {
                        ToggleJournal(true);
                    }
                    else
                    {
                        ToggleJournal(false);
                    }
                }
                else
                {
                    ToggleJournal(false);
                }
            }
        }
    }