private static void CheckCallbacks(System.Type type) { if (callBackDictionary.ContainsKey(type)) { IManage service = GetService(type); if (service.IsReady) { MakeCallBack(service); } else { EventableDelegate anon = () => { }; anon = () => { CheckCallbacks(service.GetManageType()); service.RemoveListener(InstableEventType.onReady, anon); }; service.AddListener(InstableEventType.onReady, anon); } } }
private static void CheckCallbacks <T>() where T : class, IManage { if (callBackDictionary.ContainsKey(typeof(T))) { T service = GetService <T>(); if (service.IsReady) { MakeCallBack(service); } else { EventableDelegate anon = () => { }; anon = () => { CheckCallbacks <T>(); service.RemoveListener(InstableEventType.onReady, anon); }; service.AddListener(InstableEventType.onReady, anon); } } }