//Get Tap Input async public void SetTargetNode(int _nodeID) { if (playerController.GetPlayerState() == PlayerStates.SHOOTING || playerController.GetPlayerState() == PlayerStates.WAIT_FOR_INPUT || playerController.GetPlayerState() == PlayerStates.THROWING || playerController.GetPlayerState() == PlayerStates.INTERMEDIATE_MOVE) { targetNode = _nodeID; return; } else if (gameService.GetCurrentState() != GameStatesType.PLAYERSTATE) { return; } else if (gameService.GetCurrentState() == GameStatesType.GAMEOVERSTATE) { return; } currentPathService.UnhighlightTeleportableNodes(); targetNode = _nodeID; if (currentPathService.CanMoveToNode(GetPlayerNodeID(), _nodeID)) { playerController.ChangePlayerState(PlayerStates.INTERMEDIATE_MOVE, PlayerStates.NONE); playerController.PerformMovement(_nodeID); } await new WaitForEndOfFrame(); camera.SetNodeID(GetPlayerNodeID()); }