/// <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; }
/// <summary> /// Updates the selected object /// </summary> private void onSelectedObjectChanged(object sender, SelectedImageEventArgs e) { _selectedImage = e.imageProjector; }
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); }