Юнить проблема с классами и коллайдерами

Зравствуйте

У меня есть проблема с тем как использовать функции коллайдеров (OnCollisionEnter2D , OnTriggerStay2D)в классе который не следует от MonoBehaviour.

Код класа

using UnityEngine;

public class ButtonClass
{
    private Transform transform;
    private Collider2D collider;
    private float pressingSpeed;
    private float buttonStartPos;
    private bool isPressing = false;

    public ButtonClass(Transform transform, Collider2D collider, float pressingSpeed)
    {
        this.transform = transform;
        this.collider = collider;
        this.pressingSpeed = pressingSpeed;
        buttonStartPos = transform.position.y;
    }

    public void Update()
    {
        OnTriggerStay2D(collider);
    }

    public void OnTriggerStay2D(Collider2D other)
    {
        if(other.name == "Player")
        {
            Debug.Log(123);
        }
        
        
    }

    private void OnTriggerExit2D(Collider2D other)
    {
        
    }
}

Мне нужно чтобы когда к кнопке прикасались то выводилось сообщение но я не могу проверять столкновение как код не следует от Monobehaviour и не может прикрепляться

Помогите с этим, пожалуйста.

Или скажите как проверять столкновения между двумя объектами, которые я буду давать.

Код которий обявляет екземпляр єтого класа

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GameManager : MonoBehaviour
{
    PlatformClass platform;
    ButtonClass button;
    Transform platformTransform;
    Transform buttonTransform;
    
    void Start()
    {
        platformTransform = GameObject.Find("Wall").GetComponent<Transform>();
        platform = new PlatformClass(platformTransform , 1f , 7f , true);

        buttonTransform = GameObject.Find("Button").GetComponent<Transform>();
        button = new ButtonClass(buttonTransform , collider , 3f);
    }

    void Update()
    {
        platform.Update();
        button.Update();
    }
}


Ответы (0 шт):