study/first_study/Assets/Scripts/ItemPickup.cs

56 lines
1.5 KiB
C#
Raw Permalink Normal View History

using UnityEngine;
public class ItemPickup : MonoBehaviour
{
[Header("Settings")]
[SerializeField] float speed = 2f; // <20><><EFBFBD>ư<EFBFBD><C6B0><EFBFBD> <20>ӵ<EFBFBD>
[SerializeField] float pickUpDistance = 0.5f; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
[SerializeField] int healAmount = 10; // ȸ<><C8B8><EFBFBD><EFBFBD>
private PlayerController player;
private bool isTargeting = false; // <20>÷<EFBFBD><C3B7>̾ <20><><EFBFBD>󰡴<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> üũ
void Start()
{
// <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> PlayerController<65><72> ã<>Ƽ<EFBFBD> <20><><EFBFBD><EFBFBD>
player = FindAnyObjectByType<PlayerController>();
}
void Update()
{
if (player == null) return;
// <20>÷<EFBFBD><C3B7>̾<EFBFBD><CCBE><EFBFBD><EFBFBD><EFBFBD> <20>Ÿ<EFBFBD> <20><><EFBFBD><EFBFBD> (2D)
float distance = Vector2.Distance(transform.position, player.transform.position);
// 1. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ȿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>԰ų<D4B0>, <20>̹<EFBFBD> <20><><EFBFBD>󰡴<EFBFBD> <20><><EFBFBD>̶<EFBFBD><CCB6><EFBFBD>
if (distance <= pickUpDistance || isTargeting)
{
isTargeting = true; // <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
// <20>÷<EFBFBD><C3B7>̾<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̵<EFBFBD>
transform.position = Vector2.MoveTowards(transform.position, player.transform.position, speed * Time.deltaTime);
// 2. <20>÷<EFBFBD><C3B7>̾<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><C8B9>)
if (distance < 0.05f)
{
GetItem();
}
}
}
void GetItem()
{
// <20>÷<EFBFBD><C3B7>̾<CCBE><EEBFA1> ü<><C3BC> ȸ<><C8B8> <20><>û
/*if (player != null)
{
player.Heal(healAmount);
}*/
// ȹ<><C8B9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28>ʿ<EFBFBD><CABF><EFBFBD> <20>߰<EFBFBD>)
// AudioSource.PlayClipAtPoint(clip, transform.position);
Debug.Log("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȹ<><C8B9>!");
Destroy(gameObject); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
}
}