void Update() { bool mouseLeftButtonPress = Input.GetMouseButtonDown(0); bool mouseLeftButtonPressed = Input.GetMouseButton(0); bool mouseLeftButtonReleased = Input.GetMouseButtonUp(0); switch (userEditingState) { case EditingState.Placing: selectTipBlock.SetActive(false); if (mouseLeftButtonPress && mouseCaster.CheckIfHitted()) { core.PlaceBlockWithCurrentSetting(mouseCaster.CurrentHittingWorldPosition(), mouseCaster.CurrentHittingTransfrom().position); } break; case EditingState.Deleting: selectTipBlock.SetActive(false); if (mouseLeftButtonPress && mouseCaster.CheckIfHitted()) { core.DeleteBlock(mouseCaster.CurrentHittingTransfrom().position); } break; case EditingState.Selecting: selectTipBlock.SetActive(true); // if (mouseLeftButtonPress && mouseCaster.CheckIfHitted ()) { // core.SelectBlock (mouseCaster.CurrentHittingTransfrom ().position); // } switch (userSelectionState) { case SelectionOperations.Select: if (mouseLeftButtonPress) { Down_Selecting_Select(); } if (mouseLeftButtonPressed) { Drag_Selecting_Select(); } if (mouseLeftButtonReleased) { Up_Selecting_Select(); } break; case SelectionOperations.Move: if (mouseLeftButtonPress) { Down_Selecting_Move(); } if (mouseLeftButtonPressed) { Drag_Selecting_Move(); } if (mouseLeftButtonReleased) { Up_Selecting_Move(); } break; case SelectionOperations.Cube: if (mouseLeftButtonPress) { Down_Selecting_Cube(); } if (mouseLeftButtonPressed) { Drag_Selecting_Cube(); } if (mouseLeftButtonReleased) { Up_Selecting_Cube(); } break; case SelectionOperations.Sphere: if (mouseLeftButtonPress) { Down_Selecting_Sphere(); } if (mouseLeftButtonPressed) { Drag_Selecting_Sphere(); } if (mouseLeftButtonReleased) { Up_Selecting_Sphere(); } break; } break; } UpdateUI(); }