コード例 #1
0
    public void OnBeginDrag(PointerEventData eventData)
    {
        if (IsReplicator)
        {
            IsReplicator = false;
            Replicate();
            transform.SetParent(transform.parent.parent);
        }

        GameObject.Find("SFXManager").GetComponent <SFXManagerScript>().PlayInstructionGrabSound();

        Debug.Log("OnBeginDrag");
        canvasGroup.blocksRaycasts = false;
        canvasGroup.interactable   = false;

        startPosition = transform.position;

        CodePanel.draggedObject = gameObject;
        CodePanel.draggedObject.transform.SetParent(GameObject.Find("UIPanel").transform);
        var codePanel           = GameObject.Find("SolutionPanel").GetComponent <CodePanel>();
        var codeLineOnCodePanel = codePanel.GetCorrespondingCodeLine(gameObject);

        if (codeLineOnCodePanel != null)
        {
            DisableDropdownIfNeeded(codeLineOnCodePanel);
            eventData.pointerDrag = codeLineOnCodePanel.container;
            codePanel.Unpin(codeLineOnCodePanel);
        }

        RaycastManagerScript.SetRaycastBlockingOnInstructionDragged();
    }
コード例 #2
0
 public void OnPointerClick(PointerEventData eventData)
 {
     RaycastManagerScript.SetRaycastBlockingOnCodeExecutionStop();
     _playButton.PauseGame();
     GetComponent <Image>().overrideSprite = StopButtonDisabled;
     GameObject.Find("LevelLoader").GetComponent <LevelLoader>().StopAndReload();
 }
コード例 #3
0
        private void HandlePostDrag(CodeLine lineToInsert, PointerEventData eventData)
        {
            HandleMoveInstructionFirstDrop(eventData);
            HandleConditionalInstructionFirstDrop(eventData);
            ShowDirectionIndicatorIfNeeded(eventData);
            ShowComparisonTypeIndicatorIfNeeded(eventData);
            ShowDropDownIfNeeded(eventData);

            RaycastManagerScript.SetRaycastBlockingAfterInstructionReleased();
        }
コード例 #4
0
    public void OnEndDrag(PointerEventData eventData)
    {
        Debug.Log("OnEndDrag");
        canvasGroup.blocksRaycasts = true;
        canvasGroup.interactable   = true;
        canvasGroup.alpha          = 1f;

        CodePanel.draggedObject = null;
        GameObject.Find("SFXManager").GetComponent <SFXManagerScript>().PlayInstructionDropSound();
        RaycastManagerScript.SetRaycastBlockingAfterInstructionReleased();
    }
コード例 #5
0
 public void OnPointerClick(PointerEventData eventData)
 {
     if (_isGameOn)
     {
         PauseGame();
         GameObject.Find("LevelLoader").GetComponent <LevelLoader>().PauseExecution();
     }
     else
     {
         RaycastManagerScript.SetRaycastBlockingOnCodeExecutionStart();
         GetComponent <Image>().overrideSprite = PauseButton;
         _stopButton.SetButtonActive();
         GameObject.Find("LevelLoader").GetComponent <LevelLoader>().StartExecution();
         _isGameOn = true;
     }
 }
コード例 #6
0
    public void OnPointerClick(PointerEventData eventData)
    {
        if (eventData.button == PointerEventData.InputButton.Left)
        {
            RaycastManagerScript.SetFocus();

            var selectionPanel = Instantiate(comparisonTypeWindow);
            selectionPanel.transform.SetParent(GameObject.Find("SelectionWindowCanvas").transform);
            selectionPanel.transform.localScale = new Vector3(1, 1, 1);
            selectionPanel.transform.position   = ClampPosition(transform.position);

            var selectionPanelScript = selectionPanel.GetComponent <ComparisonTypeSelectionWindowScript>();
            selectorBlocker.Show(selectionPanelScript);
            selectionPanelScript.changedComparisonIndicator = gameObject;
            selectionPanelScript.Show();
        }
    }
コード例 #7
0
    public void OnDrop(PointerEventData eventData)
    {
        Debug.Log("OnDrop - usuwanie obiektu");
        if (eventData.pointerDrag != null)
        {
            if (!CodePanel.HasDraggedObjectAValidTag(eventData))
            {
                Debug.Log($"Invalid tag: {eventData.pointerDrag.tag}");
                return;
            }

            Delete(eventData.pointerDrag);
            //CodePanel.Remove(eventData.pointerDrag);

            //GameObject.Find("RaycastManager").GetComponent<RaycastManagerScript>().SetRaycastBlockingAfterInstructionReleased();
            RaycastManagerScript.SetRaycastBlockingAfterInstructionReleased();
        }
    }
コード例 #8
0
 public void Hide()
 {
     animator.SetTrigger("Hide");
     RaycastManagerScript.ReleaseFocus();
     changedDirectionIndicator.GetComponent <DirectionIndicatorScript>().HasBeenSetManually = true;
 }
 public void Hide()
 {
     animator.SetTrigger("Hide");
     RaycastManagerScript.ReleaseFocus();
 }