// /*=============================================================================== // Copyright (C) 2020 PhantomsXR Ltd. All Rights Reserved. // // This file is part of the XR-MOD SDK. // // The XR-MOD SDK cannot be copied, distributed, or made available to // third-parties for commercial purposes without written permission of PhantomsXR Ltd. // // Contact nswell@phantomsxr.com for licensing requests. // ===============================================================================*/ using System; using System.Threading; using UnityFusion.CLRBinding.Adapter; using UnityFusion.Runtime.Intepreter; using LitJson; using UnityEngine.Events; using UnityEngine.EventSystems; using AppDomain = UnityFusion.Runtime.Enviorment.AppDomain; using Object = System.Object; namespace Phantom.XRMOD.UnityFusion.Runtime { public class RegisterDelegateConvertor : IRegister { public void Register(AppDomain _appDomain) { _appDomain.DelegateManager.RegisterMethodDelegate(); _appDomain.DelegateManager.RegisterDelegateConvertor>((act) => { return new UnityEngine.Events.UnityAction((arg0) => { ((Action) act)(arg0); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor>((_act) => { return new UnityAction((_arg0) => { ((Action) _act)(_arg0); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor>( (_act) => { return new UnityAction((_arg0) => { ((Action) _act)(_arg0); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor((_act) => { return new System.Threading.WaitCallback((_state) => { ((Action) _act)(_state); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor(_act => { return new UnityAction(() => { ((Action) _act)(); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor>( (_act) => { void Target(BaseEventData _arg0) { ((Action) _act)(_arg0); } return new UnityAction(Target); }); _appDomain.DelegateManager.RegisterDelegateConvertor>(_act => { return new UnityAction(_arg0 => { ((Action) _act)(_arg0); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor((_act) => { return new UnityAction(() => { ((Action) _act)(); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor((_act) => { return new UnhandledExceptionEventHandler((_sender, _e) => { ((Action) _act)(_sender, _e); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor>(_act => { return new Predicate(_obj => ((Func) _act)(_obj)); }); _appDomain.DelegateManager.RegisterDelegateConvertor>(_act => { return new Predicate(_obj => ((Func) _act)(_obj)); }); _appDomain.DelegateManager.RegisterDelegateConvertor>(_act => { return new UnityAction(_arg0 => { ((Action) _act)(_arg0); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor(_act => { #pragma warning disable 1998 return new UnityAction(async () => { ((Action) _act)(); }); #pragma warning restore 1998 }); _appDomain.DelegateManager.RegisterDelegateConvertor(_act => { return new ThreadStart(() => { ((Action) _act)(); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor>( (_act) => { return new Predicate((_obj) => ((Func) _act)(_obj)); }); _appDomain.DelegateManager.RegisterDelegateConvertor>((_act) => { return new Predicate((_obj) => ((Func) _act)(_obj)); }); _appDomain.DelegateManager.RegisterDelegateConvertor((_act) => { return new System.Timers.ElapsedEventHandler((_sender, _e) => { ((Action) _act)(_sender, _e); }); }); _appDomain.DelegateManager.RegisterFunctionDelegate(); _appDomain.DelegateManager.RegisterDelegateConvertor>((act) => { return new System.Comparison((x, y) => ((Func) act)(x, y)); }); _appDomain.DelegateManager.RegisterDelegateConvertor>((act) => { return new System.Comparison((x, y) => ((Func) act)(x, y)); }); _appDomain.DelegateManager.RegisterDelegateConvertor>((act) => { return new System.Comparison((x, y) => ((Func) act)(x, y)); }); //_appDomain.DelegateManager.RegisterMethodDelegate(); _appDomain.DelegateManager .RegisterDelegateConvertor>( (act) => { return new UnityAction((_arg0) => { ((Action) act)(_arg0); }); }); _appDomain.DelegateManager .RegisterDelegateConvertor>((act) => { return new UnityAction((_arg0) => { ((Action) act)(_arg0); }); }); _appDomain.DelegateManager .RegisterDelegateConvertor>((act) => { return new UnityAction((_arg0) => { ((Action) act)(_arg0); }); }); _appDomain.DelegateManager .RegisterDelegateConvertor>((act) => { return new UnityAction((_arg0) => { ((Action) act)(_arg0); }); }); _appDomain.DelegateManager .RegisterDelegateConvertor>((act) => { return new UnityAction((_arg0) => { ((Action) act)(_arg0); }); }); _appDomain.DelegateManager .RegisterDelegateConvertor>((act) => { return new UnityAction((_arg0) => { ((Action) act)(_arg0); }); }); // _appDomain.DelegateManager // .RegisterDelegateConvertor>( // (act) => // { // return new UnityAction((_arg0) => // { // ((Action) act)(_arg0); // }); // }); _appDomain.DelegateManager .RegisterDelegateConvertor>( (act) => { return new UnityAction((_arg0) => { ((Action) act)(_arg0); }); }); _appDomain.DelegateManager .RegisterDelegateConvertor>( (act) => { return new UnityAction((_arg0) => { ((Action) act)(_arg0); }); }); _appDomain.DelegateManager .RegisterDelegateConvertor< UnityAction>((act) => { return new UnityAction( (_arg0) => { ((Action) act)( _arg0); }); }); _appDomain.DelegateManager .RegisterDelegateConvertor< UnityAction>((act) => { return new UnityAction( (_arg0) => { ((Action) act)( _arg0); }); }); _appDomain.DelegateManager .RegisterDelegateConvertor< UnityAction>((act) => { return new UnityAction( (_arg0) => { ((Action) act)( _arg0); }); }); _appDomain.DelegateManager .RegisterDelegateConvertor>((act) => { return new System.Predicate((obj) => ((Func) act)(obj)); }); _appDomain.DelegateManager.RegisterDelegateConvertor>( (act) => { return new UnityEngine.Events.UnityAction((arg0) => { ((Action) act)(arg0); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor>((act) => { return new UnityEngine.Events.UnityAction((arg0) => { ((Action) act)(arg0); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor((act) => { return new UnityEngine.Video.VideoPlayer.EventHandler((source) => { ((Action) act)(source); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor( (act) => { return new UnityEngine.Video.VideoPlayer.ErrorEventHandler((source, message) => { ((Action) act)(source, message); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor( (act) => { return new UnityEngine.Video.VideoPlayer.FrameReadyEventHandler((source, frameIdx) => { ((Action) act)(source, frameIdx); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor( (act) => { return new UnityEngine.Video.VideoPlayer.TimeEventHandler((source, seconds) => { ((Action) act)(source, seconds); }); }); _appDomain.DelegateManager .RegisterDelegateConvertor>( (act) => { return new UnityEngine.Events.UnityAction((arg0) => { ((Action) act)(arg0); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor>( (act) => { return new System.Comparison((x, y) => { return ((Func) act)(x, y); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor>( (act) => { return new System.Comparison((x, y) => { return ((Func) act)(x, y); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor>(_act => { return new LitJson.ExporterFunc((_obj, _writer) => { ((Action) _act)(_obj, _writer); }); }); _appDomain.DelegateManager.RegisterDelegateConvertor>(_action => { return new Action(a => { ((Action) _action)(a); }); }); } } }