using UnityEngine;
using System;
using System.Collections;

public class MyScript_1 : MonoBehaviour
{
    void Start() {
        MyScript_2.Instance.MyFunc_2(MyFunc_1);
    }

    private void MyFunc_1(bool result) {
        Debug.Log("result " + result);
    }

}


public class MyScript_2 : MonoBehaviour
{
    static public MyScript_2 Instance;
    private Action<bool> _maynCallback;

    void Awake() {
        Instance = this;
    }

    public void MyFunc_2(Action<bool> callback) {
        _maynCallback = callback;
        MyFunc_3();
    }

    private void MyFunc_3() {
        _maynCallback?.Invoke(true);
        _maynCallback = null;
    }

}
using UnityEngine;
using System;
using System.Collections;

public class MyScript_1 : MonoBehaviour
{
    void Start() {
        MyScript_2.Instance.MyFunc_2(() => 
          {
            Debug.Log("done"));
          }
    }

}


public class MyScript_2 : MonoBehaviour
{
    static public MyScript_2 Instance;

    void Awake() {
        Instance = this;
    }

    public void MyFunc_2(Action callback) {
        callback?.Invoke();
    }

}
using UnityEngine;
using System;
using System.Collections;

public class MyScript_1 : MonoBehaviour
{
    void Start() {
        MyScript_2.Instance.MyFunc_2(result => 
          {
            Debug.Log("done"+result));
          }
    }

}


public class MyScript_2 : MonoBehaviour
{
    static public MyScript_2 Instance;

    void Awake() {
        Instance = this;
    }

    public void MyFunc_2(Action<bool> callback) {
        callback?.Invoke(true);
    }

}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *