public void Move() { if (Vector2.Distance(rt.anchoredPosition, targetPos) > 1f) { if (rt.anchoredPosition.y >= targetPos.y) { transform.Translate(Vector3.down * speed * Time.deltaTime); } if (rt.anchoredPosition.y < targetPos.y) { transform.Translate(Vector3.up * speed * Time.deltaTime); } if (rt.anchoredPosition.x >= targetPos.x) { transform.Translate(Vector3.left * speed * Time.deltaTime); } if (rt.anchoredPosition.x < targetPos.x) { transform.Translate(Vector3.right * speed * Time.deltaTime); } gc.travellerDic[travellerID].x = rt.anchoredPosition.x; gc.travellerDic[travellerID].y = rt.anchoredPosition.y; } else { rt.anchoredPosition = targetPos; if (nowPointIndex == pathPointList.Count - 1) { Stop(); gameObject.GetComponent <Image>().sprite = walk_DownFrames[2]; //MessagePanel.Instance.AddMessage("到达了"); gameObject.transform.localScale = Vector2.zero; AreaMapPanel.Instance.travellerGoPool.Add(gameObject); if (gc.travellerDic[travellerID].heroList.Count > 0)//玩家的 { if (gc.travellerDic[travellerID].endType == "District") { if (gc.travellerDic[travellerID].team == -1) { gc.TransferDone(travellerID); } else { gc.AdventureBackDone(travellerID); } } else if (gc.travellerDic[travellerID].endType == "Dungeon") { gc.AdventureSendDone(travellerID); } } else//非玩家的 { if (gc.travellerDic[travellerID].endType == "District") { gc.DistrictGetTaxPass(gc.travellerDic[travellerID].endDistrictOrDungeonID, gc.travellerDic[travellerID].personNum); } else if (gc.travellerDic[travellerID].endType == "Dungeon") { gc.DistrictGetLogistics(gc.travellerDic[travellerID].startDistrictOrDungeonID, gc.travellerDic[travellerID].personNum); } } gc.travellerDic.Remove(travellerID); } else { nowPointIndex++; gc.travellerDic[travellerID].nowPointIndex = nowPointIndex; // Debug.Log("nowPointIndex=" + nowPointIndex); targetPos = new Vector2(DataManager.mAreaPathPointDict[pathPointList[nowPointIndex]].X, DataManager.mAreaPathPointDict[pathPointList[nowPointIndex]].Y); // Debug.Log("nowPointIndex=" + nowPointIndex+ " targetPos="+ targetPos); SetFaceTo(rt.anchoredPosition, targetPos); gc.travellerDic[travellerID].x = rt.anchoredPosition.x; gc.travellerDic[travellerID].y = rt.anchoredPosition.y; } } }