private void HandleSelectionToggleRequested(VectorWidget widget) { if (SelectedA == null && SelectedB == null) { widget.SetSelected(VectorWidget.SelectionState.A); SelectedA = widget; return; } if (SelectedA != null && SelectedB == null) { if (widget == SelectedA) { widget.SetSelected(VectorWidget.SelectionState.None); SelectedA = null; return; } widget.SetSelected(VectorWidget.SelectionState.B); SelectedB = widget; return; } if (SelectedA != null && SelectedB != null) { if (widget == SelectedA) { widget.SetSelected(VectorWidget.SelectionState.B); SelectedB.SetSelected(VectorWidget.SelectionState.A); SelectedA = SelectedB; SelectedB = widget; return; } if (widget == SelectedB) { widget.SetSelected(VectorWidget.SelectionState.None); SelectedB = null; return; } SelectedB.SetSelected(VectorWidget.SelectionState.None); SelectedB = widget; widget.SetSelected(VectorWidget.SelectionState.B); } }
public void TryRemoveSelected() { if (SelectedA != null) { SelectedA.SetSelected(VectorWidget.SelectionState.None); _inventory.Remove(SelectedA); UnityEngine.Object.Destroy(SelectedA.VectorWrapper.gameObject); UnityEngine.Object.Destroy(SelectedA.gameObject); SelectedA = null; } if (SelectedB != null) { SelectedB.SetSelected(VectorWidget.SelectionState.None); _inventory.Remove(SelectedB); UnityEngine.Object.Destroy(SelectedB.VectorWrapper.gameObject); UnityEngine.Object.Destroy(SelectedB.gameObject); SelectedB = null; } }