/// <summary>
    /// Selects a Image Projector
    /// </summary>
    public void SelectObject(ImageProjector pImageProjector)
    {
        DeselectCurrentProjector();

        _selectedImage  = pImageProjector;
        _selectedButton = _imageObjects.FirstOrDefault(x => x.Value == pImageProjector).Key.GetComponent <Button>();
        _selectedImage.ToggleSelected(true);
        _uiManager.ToggleSelectionPanel(true);

        _selectedButton.GetComponent <Image>().color = new Color(0.55f, 0.274f, 0.73f);
        SelectedImageChanged?.Invoke(this, new SelectedImageEventArgs(_selectedImage));
    }
    /// <summary>
    /// Selects a Image Projector
    /// </summary>
    public void SelectObject(GameObject pImageButton)
    {
        DeselectCurrentProjector();

        _selectedImage  = _imageObjects[pImageButton];
        _selectedButton = pImageButton.GetComponent <Button>();
        _selectedImage.ToggleSelected(true);
        _uiManager.ToggleSelectionPanel(true);

        _selectedButton.GetComponent <Image>().color = new Color(0.55f, 0.274f, 0.73f);
        SelectedImageChanged?.Invoke(this, new SelectedImageEventArgs(_selectedImage));
    }
 /// <summary>
 /// Select a object by clicking on it
 /// </summary>
 private void handleMouseSelection()
 {
     if (!_uiManager.IsDrawing() && Input.GetMouseButtonDown(0))
     {
         RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);
         if (hit.collider != null)
         {
             ImageProjector image = hit.collider.gameObject.GetComponent <ImageProjector>();
             if (image != null)
             {
                 SelectObject(image);
             }
         }
     }
 }
    /// <summary>
    /// Deslect all Image Projector
    /// </summary>
    public void DeselectCurrentProjector()
    {
        if (_selectedImage != null)
        {
            _selectedImage.ToggleSelected(false);
        }
        if (_selectedButton != null)
        {
            _selectedButton.GetComponent <HierachyButton>().selected = false;
            _selectedButton.GetComponent <Image>().color             = Color.white;
        }

        _selectedButton = null;
        _selectedImage  = null;
        _uiManager.ToggleSelectionPanel(false);
    }
    protected virtual void OnSceneGUI()
    {
        ImageProjector example = (ImageProjector)target;
        float          size    = HandleUtility.GetHandleSize(example.topLeft) * 0.2f;
        Vector3        snap    = Vector3.one * 0.5f;

        Vector3 topLeft     = Handles.FreeMoveHandle(example.topLeft, Quaternion.identity, size, snap, Handles.SphereHandleCap);
        Vector3 topRight    = Handles.FreeMoveHandle(example.topRight, Quaternion.identity, size, snap, Handles.SphereHandleCap);
        Vector3 bottomRight = Handles.FreeMoveHandle(example.bottomRight, Quaternion.identity, size, snap, Handles.SphereHandleCap);
        Vector3 bottomLeft  = Handles.FreeMoveHandle(example.bottomLeft, Quaternion.identity, size, snap, Handles.SphereHandleCap);

        example.topLeft     = topLeft;
        example.topRight    = topRight;
        example.bottomRight = bottomRight;
        example.bottomLeft  = bottomLeft;

        example.dragPoints[0].transform.position = topLeft;
        example.dragPoints[1].transform.position = topRight;
        example.dragPoints[2].transform.position = bottomLeft;
        example.dragPoints[3].transform.position = bottomRight;
    }
Example #6
0
 /// <summary>
 /// Updates the selected object
 /// </summary>
 private void onSelectedObjectChanged(object sender, SelectedImageEventArgs e)
 {
     _selectedImage = e.imageProjector;
 }
Example #7
0
 public SelectedImageEventArgs(ImageProjector pImageProjector)
 {
     imageProjector = pImageProjector;
 }
 /// <summary>
 /// Update name in Hierachy button
 /// </summary>
 public void NameChanged(ImageProjector pImageProjector)
 {
     _selectedButton = _imageObjects.FirstOrDefault(x => x.Value == pImageProjector).Key.GetComponent <Button>();
     _selectedButton.GetComponent <HierachyButton>().SetName(pImageProjector.projectorName);
 }