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);
}
}