Пример #1
0
        private static unsafe IntPtr VirtualMachine__RunFunctionHook(VirtualMachine *virtualMachine, string functionName, int a3, int a4, int a5, int a6)
        {
            IntPtr num = IntPtr.Zero;

            try
            {
                string str = functionName;
                if (str == "config")
                {
                    PreConfig?.Invoke();
                    num = VirtualMachine__RunFunction(virtualMachine, functionName, a3, a4, a5, a6);
                    PostConfig?.Invoke();
                }
                else
                {
                    if (str == "main")
                    {
                        PreMain?.Invoke();
                        num = VirtualMachine__RunFunction(virtualMachine, functionName, a3, a4, a5, a6);
                        PostMain?.Invoke();
                    }
                    else
                    {
                        num = VirtualMachine__RunFunction(virtualMachine, functionName, a3, a4, a5, a6);
                    }
                }
            }
            catch (Exception ex)
            {
                Trace.WriteLine($"Unhandled Exception in {nameof(Script)}.{nameof(VirtualMachine__RunFunctionHook)}!");
                Trace.WriteLine(ex.ToString());
            }
            return(num);
        }