это довольно длинный код для простой функции, но я не могу понять, как его сократить.Любой совет?
это простой скрипт, который я создал для начинающего проекта, и я поместил скрипт в объект игрока с обоих элементов solidbody2d и boxcollider2d, и да, это работает, и все, он переключает оба игровых объекта кнопки, который являетсято, что я собирался в некотором смысле, но я хотел, чтобы он использовал только одну кнопку.если вы можете помочь с этим, я был бы признателен.
//different button objects
public GameObject smithbutton;
public GameObject innbutton;
private void OnTriggerEnter2D(Collider2D col)
{
//debugs which collider player is in
if (col.gameObject.name == "Blacksmith")
{
Debug.Log("This is the Blacksmith");
}
if (col.gameObject.name == "Inn")
{
Debug.Log("This is the Inn");
}
}
private void OnTriggerStay2D(Collider2D col)
{
//once playerobject stays, button will toggle till player leaves
if (col.gameObject.name == "Blacksmith")
{
Debug.Log("still on the Blacksmith's door");
smithbutton.SetActive(true);
}
if (col.gameObject.name == "Inn")
{
Debug.Log("still on the Inn's door");
innbutton.SetActive(true);
}
}
private void OnTriggerExit2D(Collider2D col)
{
//once playerobject exits, button will toggle and disappear
if (col.gameObject.name == "Blacksmith")
{
smithbutton.SetActive(false);
}
if (col.gameObject.name == "Inn")
{
innbutton.SetActive(false);
}
}