void Update() { //add by lzp if (!MapMgr.Instance.InMainCity) { if (!CoreEntry.GameStart || !CoreEntry.InFightScene) { return; } } if (true == IsMouseOverUI()) { return; } Vector3 touchPos = Vector3.zero; if (Application.platform == RuntimePlatform.WindowsEditor) { //if (Input.GetMouseButtonDown(1)) //{ // HitBack(); // //Invoke("HitBack",0.3f); //} if (Input.GetMouseButtonDown(0)) { touchPos = Input.mousePosition; { ////取消自动战斗 //PlayerObj player = CoreEntry.gActorMgr.MainPlayer ; //if (player != null && CoreEntry.gGameMgr.AutoFight) //{ // CoreEntry.gGameMgr.StopAutoTask(); // CoreEntry.gGameMgr.AutoFight = false; // player.CancleAutoSet(); //} } } } else if (Input.touchCount > 0) { int count = Input.touchCount; Touch touch = Input.GetTouch(count - 1); touchPos = touch.position; // PlayerObj player = CoreEntry.gActorMgr.MainPlayer; //{ // // 取消自动战斗 // CoreEntry.gGameMgr.StopAutoTask(); // if (player != null && CoreEntry.gGameMgr.AutoFight) // player.CancleAutoSet(); //} // PlayerObj player = CoreEntry.gTeamMgr.MainPlayer.GetComponent<PlayerObj>(); // player.m_bAutoMove = false; } if (touchPos != Vector3.zero) { if (CoreEntry.gCameraMgr.MainCamera == null) { return; } Ray ray = CoreEntry.gCameraMgr.MainCamera.ScreenPointToRay(touchPos); //Ray uiRay = CoreEntry.uiMgr.uiCamera.ScreenPointToRay(touchPos); //if (Physics.Raycast(uiRay, 1000.0f, uiLayerMask)) //{ // return; //} PlayerObj player = CoreEntry.gActorMgr.MainPlayer; //{ // //取消自动战斗 // if (player != null && CoreEntry.gGameMgr.AutoFight) // player.CancleAutoSet(); //} player.m_bAutoMove = false; PlayerAutoMove playerMove = player.GetComponent <PlayerAutoMove>(); if (playerMove) { playerMove.Stop(true); } RaycastHit rayCastHit; if (Physics.Raycast(ray, out rayCastHit, 1000.0f, groundLayerMask)) { if (m_callbackMove != null) { m_callbackMove(rayCastHit.point); } } else { //如果没取到,就使用NAVMESH NavMeshHit hit; if (NavMesh.SamplePosition(CoreEntry.gCameraMgr.MainCamera.ScreenToWorldPoint(touchPos), out hit, 100.0f, -1)) { if (null != m_callbackMove) { m_callbackMove(hit.position); } } } } else { PlayerObj player = CoreEntry.gActorMgr.MainPlayer; if (player != null) { player.m_bAutoMove = true; } } }