public IEnumerator Move(Vector3 dest) { transform.GetChild(1).gameObject.SetActive(false); Vector3 dir = (dest - (transform.position + new Vector3(0, 0.5f, 0))).normalized; while (mapmanager.Access_mapstate == MapState.move) { yield return(null); transform.Translate(dir * movespeed); if (Vector3.Distance(transform.position, dest) <= 0.51f) { mapmanager.Access_mapstate = MapState.idle; StartCoroutine(mapmanager.Button_Anim(2)); } } }