Ejemplo n.º 1
0
        public static AssetBundle LoadFromMemory(byte[] binary, uint crc = 0)
        {
            var iCall = ICallHelper.GetICall <d_LoadFromMemory>("UnityEngine.AssetBundle::LoadFromMemory_Internal");

            var ptr = iCall(((Il2CppStructArray <byte>)binary).Pointer, crc);

            return(new AssetBundle(ptr));
        }
Ejemplo n.º 2
0
        public static AssetBundle LoadFromFile(string path)
        {
            var iCall = ICallHelper.GetICall <d_LoadFromFile>("UnityEngine.AssetBundle::LoadFromFile_Internal");

            var ptr = iCall.Invoke(IL2CPP.ManagedStringToIl2Cpp(path), 0u, 0UL);

            return(new AssetBundle(ptr));
        }
Ejemplo n.º 3
0
        public static bool LoadImage(this Texture2D tex, byte[] data, bool markNonReadable)
        {
            var il2cppArray = (Il2CppStructArray <byte>)data;

            var iCall = ICallHelper.GetICall <d_LoadImage>("UnityEngine.ImageConversion::LoadImage");

            return(iCall.Invoke(tex.Pointer, il2cppArray.Pointer, markNonReadable));
        }
Ejemplo n.º 4
0
        public static GameObject[] GetRootGameObjects(Scene scene)
        {
            var list = new Il2CppSystem.Collections.Generic.List <GameObject>(GetRootCount(scene));

            var iCall = ICallHelper.GetICall <d_GetRootGameObjects>("UnityEngine.SceneManagement.Scene::GetRootGameObjectsInternal");

            iCall.Invoke(scene.handle, list.Pointer);

            return(list.ToArray());
        }
Ejemplo n.º 5
0
 public ConverterHelper(DataContext dataContext,
                        ICodificationHelper codificationHelper,
                        ICallHelper callHelper,
                        IUserHelper userHelper)
 {
     _dataContext        = dataContext;
     _codificationHelper = codificationHelper;
     _callHelper         = callHelper;
     _userHelper         = userHelper;
 }
Ejemplo n.º 6
0
        public static UnityEngine.Object[] FindObjectsOfTypeAll(Type type)
        {
#if MONO
            return(UnityEngine.Resources.FindObjectsOfTypeAll(type));
#else
            var iCall   = ICallHelper.GetICall <d_FindObjectsOfTypeAll>("UnityEngine.Resources::FindObjectsOfTypeAll");
            var cppType = Il2CppType.From(type);

            return(new Il2CppReferenceArray <UnityEngine.Object>(iCall.Invoke(cppType.Pointer)));
#endif
        }
Ejemplo n.º 7
0
        public UnityEngine.Object[] LoadAllAssets()
        {
            var iCall = ICallHelper.GetICall <d_LoadAssetWithSubAssets_Internal>("UnityEngine.AssetBundle::LoadAssetWithSubAssets_Internal");
            var ptr   = iCall.Invoke(m_bundlePtr, IL2CPP.ManagedStringToIl2Cpp(""), Il2CppType.Of <UnityEngine.Object>().Pointer);

            if (ptr == IntPtr.Zero)
            {
                return(new UnityEngine.Object[0]);
            }

            return(new Il2CppReferenceArray <UnityEngine.Object>(ptr));
        }
Ejemplo n.º 8
0
 public SeedDb(DataContext dataContext,
               IUserHelper userHelper,
               ICodificationHelper codificationHelper,
               IArrivalsHelper arrivalsHelper,
               ICallHelper callHelper)
 {
     _dataContext        = dataContext;
     _userHelper         = userHelper;
     _codificationHelper = codificationHelper;
     _arrivalsHelper     = arrivalsHelper;
     _callHelper         = callHelper;
 }
Ejemplo n.º 9
0
        public T LoadAsset <T>(string name) where T : UnityEngine.Object
        {
            var iCall = ICallHelper.GetICall <d_LoadAsset_Internal>("UnityEngine.AssetBundle::LoadAsset_Internal");
            var ptr   = iCall.Invoke(m_bundlePtr, IL2CPP.ManagedStringToIl2Cpp(name), Il2CppType.Of <T>().Pointer);

            if (ptr == IntPtr.Zero)
            {
                return(null);
            }

            return(new UnityEngine.Object(ptr).TryCast <T>());
        }
Ejemplo n.º 10
0
        public static byte[] EncodeToPNG(this Texture2D tex)
        {
            var iCall = ICallHelper.GetICall <d_EncodeToPNG>("UnityEngine.ImageConversion::EncodeToPNG");

            IntPtr ptr = iCall.Invoke(tex.Pointer);

            if (ptr == IntPtr.Zero)
            {
                return(null);
            }

            return(new Il2CppStructArray <byte>(ptr));
        }
Ejemplo n.º 11
0
 public CallsController(DataContext dataContext,
                        IConverterHelper converterHelper,
                        ICallHelper callHelper,
                        IArrivalsHelper arrivalsHelper,
                        IUserHelper userHelper,
                        ICombosHelper combosHelper)
 {
     _dataContext     = dataContext;
     _converterHelper = converterHelper;
     _callHelper      = callHelper;
     _arrivalsHelper  = arrivalsHelper;
     _userHelper      = userHelper;
     _combosHelper    = combosHelper;
 }
Ejemplo n.º 12
0
        public static bool LoadImage(this Texture2D tex, byte[] data, bool markNonReadable)
        {
            var il2cppArray = new Il2CppStructArray <byte>(data.Length);

            for (int i = 0; i < data.Length; i++)
            {
                il2cppArray[i] = data[i];
            }

            var ret = ICallHelper.GetICall <d_LoadImage>("UnityEngine.ImageConversion::LoadImage")
                      .Invoke(tex.Pointer, il2cppArray.Pointer, markNonReadable);

            return(ret);
        }
Ejemplo n.º 13
0
        public static GameObject[] GetRootGameObjects(int handle)
        {
            if (handle == -1)
            {
                return(new GameObject[0]);
            }

            Il2CppSystem.Collections.Generic.List <GameObject> list = new Il2CppSystem.Collections.Generic.List <GameObject>(GetRootCount(handle));

            d_GetRootGameObjects iCall = ICallHelper.GetICall <d_GetRootGameObjects>("UnityEngine.SceneManagement.Scene::GetRootGameObjectsInternal");

            iCall.Invoke(handle, list.Pointer);

            return(list.ToArray());
        }
Ejemplo n.º 14
0
        public static Sprite CreateSprite(Texture texture, Rect rect, Vector2 pivot, float pixelsPerUnit, uint extrude, Vector4 border)
        {
            var iCall = ICallHelper.GetICall <d_CreateSprite>("UnityEngine.Sprite::CreateSprite_Injected");

            var ptr = iCall.Invoke(texture.Pointer, ref rect, ref pivot, pixelsPerUnit, extrude, 1, ref border, false);

            if (ptr == IntPtr.Zero)
            {
                return(null);
            }
            else
            {
                return(new Sprite(ptr));
            }
        }
Ejemplo n.º 15
0
        public static UnityEngine.Object[] FindObjectsOfTypeAll(Il2CppSystem.Type type)
        {
            var arrayPtr = ICallHelper.GetICall <d_FindObjectsOfTypeAll>("UnityEngine.Resources::FindObjectsOfTypeAll")
                           .Invoke(type.Pointer);

            var array = new Il2CppReferenceArray <UnityEngine.Object>(arrayPtr);

            var ret = new UnityEngine.Object[array.Length];

            for (int i = 0; i < array.Length; i++)
            {
                ret[i] = array[i];
            }

            return(ret);
        }
Ejemplo n.º 16
0
        public static byte[] EncodeToPNG(this Texture2D tex)
        {
            var data = ICallHelper.GetICall <d_EncodeToPNG>("UnityEngine.ImageConversion::EncodeToPNG")
                       .Invoke(tex.Pointer);

            // The Il2Cpp EncodeToPNG() method does return System.Byte[],
            // but for some reason it is not recognized or valid.
            // Simple fix is iterating into a new array manually.

            byte[] safeData = new byte[data.Length];
            for (int i = 0; i < data.Length; i++)
            {
                safeData[i] = (byte)data[i];
            }

            return(safeData);
        }
Ejemplo n.º 17
0
 public static int GetRootCount(int handle)
 {
     return(ICallHelper.GetICall <d_GetRootCountInternal>("UnityEngine.SceneManagement.Scene::GetRootCountInternal")
            .Invoke(handle));
 }
Ejemplo n.º 18
0
        public static int GetRootCount(int handle)
        {
            GetRootCountInternal_delegate iCall = ICallHelper.GetICall <GetRootCountInternal_delegate>("UnityEngine.SceneManagement.Scene::GetRootCountInternal");

            return(iCall.Invoke(handle));
        }
Ejemplo n.º 19
0
 public static void ResetInputAxes() => ICallHelper.GetICall <d_ResetInputAxes>("UnityEngine.Input::ResetInputAxes").Invoke();
Ejemplo n.º 20
0
        public static string LayerToName(int layer)
        {
            var iCall = ICallHelper.GetICall <d_LayerToName>("UnityEngine.LayerMask::LayerToName");

            return(IL2CPP.Il2CppStringToManaged(iCall.Invoke(layer)));
        }