/// <summary> /// Select towers or position ghosts /// </summary> void OnTap(PointerActionInfo pointer) { // We only respond to mouse info var mouseInfo = pointer as MouseButtonInfo; if (mouseInfo != null && !mouseInfo.startedOverUI) { XEventBus.Instance.Post(EventId.UserClick); if (gameUIManager.isBuilding) { if (mouseInfo.mouseButtonId == 0) { //放置 gameUIManager.TryPlaceTarget(mouseInfo); } else // RMB cancels { //取消动作 gameUIManager.CancelGhostPlacement(); } } else { if (mouseInfo.mouseButtonId == 0) // LMB confirms { //尝试选择 gameUIManager.TrySelectTarget(mouseInfo); } } } }
protected override void OnRelease(PointerActionInfo pointer) { base.OnRelease(pointer); var touchInfo = pointer as TouchInfo; if (touchInfo != null && !touchInfo.startedOverUI) { if (gameUIManager.isBuilding) { gameUIManager.CancelGhostPlacement(); } } }