void Update() { Event_loop(); //타 클래스 업데이트. str_Event_Mag.Event_Update(); //플레이어 오브젝트와 자동차 오브젝트의 거리 계산. c_distance = Vector2.Distance(obj_Player_ch.transform.position, obj_ride_car.transform.position); //플레이어 오브젝트와 쓰래기통의 거리 계산. t_distance = Vector2.Distance(obj_Player_ch.transform.position, obj_trash.transform.position); //거리에 따라 true 와 false를 update해주는. car_check = if_check(c_distance); //쓰래기통. trash_check = if_check(t_distance); //캐릭터가 ON일 경우. if (char_update == true) { str_Character.Character_Update(); //camera set str_Camera_Mag.player_camera_set(str_Character.transform); } //자동차가 ON일 경우. if (ride_car_update == true) { str_ride_car.ride_car_Update(); //camera set str_Camera_Mag.player_camera_set(str_ride_car.transform); } if (Input.GetKeyDown(KeyCode.F) && F_key_ == true) { //쓰래기 버리는 체크. if (trash_check) { //아이스크림을 안 먹었을경우. if (GameObject.Find("Player_ice_cream") && ice_cream == false) { ice_cream = true; spriteRenderer.sprite = sprite_trash_con; return; } if (GameObject.Find("Player_ice_cream")) { GameObject trash = GameObject.Find("Player_ice_cream"); Destroy(trash); steel_down = true; Debug.Log("쓰래기 버림"); //변경된 텍스쳐 지워주는걸로. } shoot_ = false; //쓰래기를 버렸으니 던지지 못하게. return; //조건이 맞으면 밖으로 나가야함 쓰래기 던지는 조건 때문에. } if (ride_car_update == false) { //거리 1.0f보다 작을 경우. if (car_check) { //차를 탑승. obj_Player_ch.GetComponent <Renderer>().enabled = false; //업데이트 교환. ride_car_update = true; char_update = false; eat_ice_cream = false; return; } } else { //차에서 내림 obj_Player_ch.GetComponent <Renderer>().enabled = true; //캐릭터가 차량에서 내릴경우 시작할 위치. str_Character.transform.position = new Vector3(str_ride_car.transform.position.x + 1.0f, str_ride_car.transform.position.y, str_ride_car.transform.position.z); eat_ice_cream = true; ride_car_update = false; char_update = true; return; } //아이스크림 먹는 체크. if (GameObject.Find("Player_ice_cream") && eat_ice_cream == true && ice_cream == false) { ice_cream = true; //위에 쓰래기통 앞에서 안먹엇을경우와 길가다 먹는 경우를 구분하기 위해서. spriteRenderer.sprite = sprite_trash_con; shoot_ = true; return; } if (shoot_ == true) { //아이콘에 있던 쓰래기 콘을 없애주고 if (GameObject.Find("Player_ice_cream")) { GameObject trash = GameObject.Find("Player_ice_cream"); Destroy(trash); } //프리팹 콘 생성 Instantiate(trash_con, str_Character.transform.position, str_Character.transform.rotation); GameObject C_trash_con = GameObject.Find("trash_con(Clone)"); dir_con = (str_Character.wall_check[0].transform.position - C_trash_con.transform.position).normalized; trash_shoot_ = true; shoot_ = false; //C_trash_con.transform.Translate(dir_con * (3.0f * Time.deltaTime)); //캐릭터가 보는 방향 뭐 dir 같은거 만들어서 그 위치로 가게끔 설정해주자. } } if (trash_shoot_ == true) { if (GameObject.Find("trash_con(Clone)")) { GameObject C_trash_con = GameObject.Find("trash_con(Clone)"); //던졋을때 거리를 비교하기 위해서. float trash_shoot_dis = Vector2.Distance(obj_trash.transform.position, C_trash_con.transform.position); if (trash_dis >= .0f) { //GameObject C_trash_con = GameObject.Find("trash_con(Clone)"); C_trash_con.transform.Translate(dir_con * (8.0f * Time.deltaTime)); trash_dis -= 0.2f; } else if (trash_shoot_dis <= 1.0f) { steel_down = true; Debug.Log("쓰래기 버림"); Destroy(C_trash_con); } else if (trash_shoot_dis >= 1.0f) { char_update = false; //못움직이게 trash_shoot_ = false; //루프 안돌게 trash_Event = true; //이벤트 실행 } } } }