Esempio n. 1
0
 internal static void OnScriptError(ScriptCore.ScriptProxy proxy, Exception exception)
 {
     if (oertiertieruterut == null)
     {
         oertiertieruterut = (MonoMethod)MethodBase.GetCurrentMethod();
     }
 }
Esempio n. 2
0
 public static bool Exception(ScriptCore.ScriptProxy proxy, Exception e)
 {
     if (OnScriptError != null)
     {
         OnScriptError(proxy, e);
         return(true);
     }
     return(false);
 }
Esempio n. 3
0
        public static void OnPostPostLoad(ScriptCore.ScriptProxy proxy, Sims3.SimIFace.IScriptLogic logic, bool postLoad)
        {
            using (TestSpan span = new TestSpan(TimeSpanLogger.Bin, "OnPostPostLoad", DebuggingLevel))
            {
                try
                {
                    List <ICheck> checks = DerivativeSearch.Find <ICheck>();

                    foreach (ICheck check in checks)
                    {
                        check.IPostPerform(logic, postLoad);
                    }
                }
                catch (Exception e)
                {
                    Exception(proxy.Target, e);
                }
            }
        }
Esempio n. 4
0
        public static void OnScriptError(ScriptCore.ScriptProxy proxy, Exception exception)
        {
            try
            {
                using (TestSpan span = new TestSpan(TimeSpanLogger.Bin, "OnScriptError", DebuggingLevel))
                {
                    bool fullReset = true;

                    bool record = !IgnoreList.IsIgnored(exception, out fullReset);

                    IScriptLogic target = null;
                    if (proxy != null)
                    {
                        target = proxy.Target;
                    }

                    StringBuilder noticeText = new StringBuilder();
                    StringBuilder logText    = new StringBuilder();

                    SimUpdate update = target as SimUpdate;
                    if (update != null)
                    {
                        target = update.mSim;
                    }
                    else
                    {
                        AutonomyManager autonomy = target as AutonomyManager;
                        if (autonomy != null)
                        {
                            target = SearchForAutonomy(exception.StackTrace);
                        }
                        else
                        {
                            Services services = target as Services;
                            if (services != null)
                            {
                                target = SearchForAssignedSim(exception.StackTrace);
                            }
                        }
                    }

                    SimDescription targetSim = SearchForSim(exception.StackTrace);
                    if (targetSim != null)
                    {
                        new FixInvisibleTask(targetSim).AddToSimulator();
                    }

                    IGameObject obj = null;

                    if (targetSim != null)
                    {
                        obj = ScriptCoreLogger.Convert(targetSim, noticeText, logText);
                    }
                    else
                    {
                        obj = ScriptCoreLogger.Convert(target, noticeText, logText);
                        if (obj == null)
                        {
                            obj = target as IGameObject;
                        }
                    }

                    ObjectGuid id       = ObjectGuid.InvalidObjectGuid;
                    bool       moonDial = false;
                    if (obj != null)
                    {
                        id = obj.ObjectId;

                        moonDial = obj.GetType() == typeof(Sims3.Gameplay.Objects.Decorations.MoonDial);

                        if (moonDial)
                        {
                            record = false;
                        }
                    }

                    if (record)
                    {
                        ScriptCoreLogger.Append(noticeText, logText, id, ObjectGuid.InvalidObjectGuid, exception, sAlreadyCaught);
                    }

                    /* do not use else if here */
                    if ((proxy != null) && (proxy.Target is RoleManagerTask))
                    {
                        new CheckRoleManagerTask().Perform(proxy.Target as RoleManagerTask, true);
                    }

                    Sim simObj = obj as Sim;
                    if (simObj != null)
                    {
                        try
                        {
                            if (simObj.Household == null)
                            {
                                fullReset = true;
                            }

                            if ((!fullReset) && (proxy != null))
                            {
                                proxy.OnReset();
                            }
                        }
                        catch (Exception e)
                        {
                            Common.Exception(proxy.Target, null, "PartialReset", e);
                            fullReset = true;
                        }

                        if (fullReset)
                        {
                            if (update != null)
                            {
                                try
                                {
                                    Simulator.DestroyObject(update.Proxy.ObjectId);
                                }
                                catch
                                { }
                            }

                            new ResetSimTask(simObj);
                            return;
                        }
                    }
                    else if (proxy != null && !moonDial)
                    {
                        proxy.OnReset();
                    }
                }
            }
            catch (Exception e)
            {
                Exception(proxy.Target, e);
            }
        }
Esempio n. 5
0
        public static void OnScriptError(ScriptCore.ScriptProxy proxy, Exception ex)
        {
            if (dontcall)
            {
                return;
            }

            if (proxy == null)
            {
                NFinalizeDeath.ThrowResetException("");
            }

            if (safeerrorbool && !ShouldInjectedMethodOnScriptError)
            {
                if (_SafeOnScriptError != null && ex != null)
                {
                    try
                    {
                        _SafeOnScriptError(proxy, ex);
                    }
                    catch (Exception)
                    {
                        // NRaas Failed
                    }
                }
                return;
            }
            if (!Simulator.CheckYieldingContext(false))
            {
                if (NiecHelperSituation.___bOpenDGSIsInstalled_)
                {
                    if (_SafeOnScriptError != null && ex != null)
                    {
                        try
                        {
                            _SafeOnScriptError(proxy, ex);
                        }
                        catch (Exception)
                        {
                            // NRaas Failed
                        }
                    }
                }
                return;
            }

            else if (NiecHelperSituation.___bOpenDGSIsInstalled_)
            {
                if (_SafeOnScriptError != null && ex != null)
                {
                    try
                    {
                        _SafeOnScriptError(proxy, ex);
                    }
                    catch (Exception)
                    {
                        // NRaas Failed
                    }
                }
                return;
            }

            var proxyTarget = proxy.Target;

            if (proxyTarget == null)
            {
                NFinalizeDeath.ThrowResetException("");
            }

            global::Sims3.SimIFace.Simulator.Sleep(110);

            Sim proxySim = proxyTarget as Sim;

            if (proxySim != null)
            {
                if (proxySim.SimDescription == null)
                {
                    proxySim.mSimDescription      = Create.NiecNullSimDescription();
                    proxySim.mSimDescription.mSim = proxySim;
                }

                if (NFinalizeDeath.SimIsGRReaper(proxySim.SimDescription))
                {
                    while (true)
                    {
                        if (!(proxySim.mPosture is NiecHelperSituationPosture))
                        {
                            NiecRunCommand.fcreap_Icommand(proxySim, false, true);
                        }

                        if (mGrimReaperSmoke != null && !mGrimReaperSmoke.ParentTo(proxySim, Sim.FXJoints.Pelvis))
                        {
                            var p = mGrimReaperSmoke;
                            mGrimReaperSmoke = null;
                            p.Stop();
                            p.Dispose();
                            p = null;
                        }

                        if (mGrimReaperSmoke == null)
                        {
                            mGrimReaperSmoke = VisualEffect.Create("reaperSmokeConstant");
                            if (mGrimReaperSmoke != null)
                            {
                                proxySim.FadeIn();
                                mGrimReaperSmoke.ParentTo(proxySim, Sim.FXJoints.Pelvis);
                                mGrimReaperSmoke.Start();
                            }
                        }

                        if (NiecHelperSituation.ExistsOrCreateAndAddToSituationList(proxySim) != null)
                        {
                            NiecHelperSituationPosture.r_internal(proxySim);
                        }

                        NFinalizeDeath.CheckYieldingContext();

                        if (NFinalizeDeath.GetCurrentExecuteType() == Sims3.SimIFace.ScriptExecuteType.Task)
                        {
                            global::Sims3.SimIFace.Simulator.Sleep(10);
                        }
                        else
                        {
                            global::Sims3.SimIFace.Simulator.Sleep(0);
                        }
                    }
                }
                else
                {
                    while (true)
                    {
                        try
                        {
                            //proxySim.DoInteraction();
                            if (!Bim.AOrGROnlyRunningSim || NFinalizeDeath.SimIsGRReaper(proxySim.SimDescription) || proxySim == (NPlumbBob.DoneInitClass ? NFinalizeDeath.GetSafeSelectActor() : PlumbBob.SelectedActor))
                            {
                                Bim.FoundInteraction(proxySim);
                                Simulator.Sleep(0);
                            }
                            else
                            {
                                proxySim.LoopIdle();
                                Simulator.Sleep(0);
                            }
                        }
                        catch (ResetException)
                        {
                            throw;
                        }
                        catch
                        {
                            NFinalizeDeath.CheckYieldingContext();
                            if (!proxySim.IsSelectable)
                            {
                                NiecHelperSituationPosture.r_internal(proxySim);
                            }
                            else
                            {
                                global::Sims3.SimIFace.Simulator.Sleep(100);
                            }
                        }

                        NFinalizeDeath.CheckYieldingContext();

                        if (NFinalizeDeath.GetCurrentExecuteType() == Sims3.SimIFace.ScriptExecuteType.Task)
                        {
                            global::Sims3.SimIFace.Simulator.Sleep(10);
                        }
                        else
                        {
                            global::Sims3.SimIFace.Simulator.Sleep(0);
                        }
                    }
                }
            }

            SimUpdate proxySimUpdate = proxyTarget as SimUpdate;

            if (proxySimUpdate != null)
            {
                var sim = proxySimUpdate.mSim;
                if (sim == null || !NFinalizeDeath.GameObjectIsValid(sim.ObjectId.mValue))
                {
                    var p = proxySimUpdate.Proxy;
                    if (p != null)
                    {
                        Simulator.DestroyObject(p.ObjectId);
                    }

                    NFinalizeDeath.CheckYieldingContext();
                    Simulator.Sleep(uint.MaxValue);
                    NFinalizeDeath.ThrowResetException("");
                    return;
                }
                Simulator.Sleep(500);
                if (NiecHelperSituation.__acorewIsnstalled__)
                {
                    return;
                }
            }

            var proxyLot = proxyTarget as Sims3.Gameplay.Core.Lot;

            if (proxyLot != null)
            {
                while (true)
                {
                    NFinalizeDeath.CheckYieldingContext();

                    if (NFinalizeDeath.GetCurrentExecuteType() == Sims3.SimIFace.ScriptExecuteType.Task)
                    {
                        global::Sims3.SimIFace.Simulator.Sleep(10);
                    }
                    else
                    {
                        global::Sims3.SimIFace.Simulator.Sleep(0);
                    }

                    try
                    {
                        Sims3.Gameplay.Utilities.AlarmManager alarmManger = proxyLot.mSavedData != null ? proxyLot.mSavedData.mAlarmManager : null;
                        if (alarmManger != null)
                        {
                            for (int i = 0; i < 5; i++)
                            {
                                NFinalizeDeath.SimulateAlarm(alarmManger, true, true, false);
                            }
                        }

                        if (proxyLot.mSavedData == null)
                        {
                            continue;
                        }

                        proxyLot.UpdateDoorPrivacy();
                        proxyLot.UpdateDetailPriority();

                        if (proxyLot.DisplayLevelChanged)
                        {
                            proxyLot.UpdateDisplayLevelInfo();
                            proxyLot.DisplayLevelChanged = false;
                        }

                        if (proxyLot.ShouldSimulate)
                        {
                            if (proxyLot.mLastTime == 0f)
                            {
                                proxyLot.mLastTime = SimClock.ElapsedTime(TimeUnit.Minutes);
                            }
                            else
                            {
                                float timePassed = SimClock.ElapsedTimeInMinutes(ref proxyLot.mLastTime);

                                proxyLot.UpdateReactions(timePassed, true);

                                if (GameUtils.IsInstalled(ProductVersion.EP7))
                                {
                                    for (int i = 0; i < 5; i++)
                                    {
                                        proxyLot.UpdateNumZombiesOnLot(timePassed + i);
                                    }
                                }
                            }
                        }
                        else if (proxyLot.mSavedData.mBroadcastersWithSims != null && proxyLot.mSavedData.mBroadcastersWithSims.Count > 0)
                        {
                            if (proxyLot.mLastTime == 0f)
                            {
                                proxyLot.mLastTime = SimClock.ElapsedTime(TimeUnit.Minutes);
                            }
                            else
                            {
                                proxyLot.UpdateReactions(SimClock.ElapsedTimeInMinutes(ref proxyLot.mLastTime), false);
                            }
                        }

                        try
                        {
                            for (int i = 0; i < 5; i++)
                            {
                                proxyLot.UpdateReactions(3 + i, true);
                            }
                        }
                        catch (global::Sims3.SimIFace.ResetException)
                        { throw; }
                        catch { }
                    }
                    catch (global::Sims3.SimIFace.ResetException exT)
                    {
                        NiecTask.Perform(delegate
                        {
                            if (_SafeOnScriptError != null)
                            {
                                _SafeOnScriptError(proxy, exT);
                            }
                        });
                        throw;
                    }
                    catch
                    {
                        NFinalizeDeath.CheckYieldingContext();

                        for (int i = 0; i < 200; i++)
                        {
                            Simulator.Sleep(0);
                        }
                    }
                }
            }

            Sims3.Gameplay.Autonomy.AutonomyManager proxyAutonomyManager = proxyTarget as Sims3.Gameplay.Autonomy.AutonomyManager;
            if (proxyAutonomyManager != null)
            {
                proxy.mExecuteType = ScriptExecuteType.Threaded;
                Simulator.Sleep(150);
                if (NiecHelperSituation.__acorewIsnstalled__)
                {
                    return;
                }
            }

            Sims3.Gameplay.Services.Services proxyServices = proxyTarget as Sims3.Gameplay.Services.Services;
            if (proxyServices != null)
            {
                proxyServices.mServiceIndex = 0;
                proxy.mExecuteType          = ScriptExecuteType.Threaded;
                Simulator.Sleep(1000);
                if (NiecHelperSituation.__acorewIsnstalled__)
                {
                    return;
                }
            }

            var alarmOneShot = proxyTarget as Sims3.Gameplay.Utilities.AlarmManager.AlarmOneShot;

            if (alarmOneShot != null)
            {
                alarmOneShot.mStarted = true;
                var ofp = alarmOneShot.mFunction;
                if (ofp == null)
                {
                    try
                    {
                        Sims3.Gameplay.Abstracts.GameObject.RemoveOneShotFunctionOnFinish(Simulator.CurrentTask);
                    }
                    catch (Exception)
                    { }

                    Simulator.DestroyObject(Simulator.CurrentTask);
                    goto r;
                }

                try
                {
                    alarmOneShot.mFunction = null;
                    if (ofp != null)
                    {
                        ofp();
                    }
                }
                catch (ResetException)
                {
                    throw;
                }
                catch (Exception exX)
                {
                    if (!NiecHelperSituation.__acorewIsnstalled__)
                    {
                        alarmOneShot.HandleException(exX);
                    }
                }

                r :;
                try
                {
                    Sims3.Gameplay.Abstracts.GameObject.RemoveOneShotFunctionOnFinish(Simulator.CurrentTask);
                }
                catch (Exception)
                { }

                Simulator.DestroyObject(Simulator.CurrentTask);

                if (alarmOneShot.mAlarmManager != null && alarmOneShot.mAlarmManager.mAlarmOneShotList != null)
                {
                    alarmOneShot.mAlarmManager.mAlarmOneShotList.Remove(alarmOneShot);
                }

                proxy.mTarget = null;
                return;
            }

            var oneShotFunc = proxyTarget as Sims3.Gameplay.OneShotFunction;

            if (oneShotFunc != null)
            {
                var ofp = oneShotFunc.mFunction;
                if (ofp == null)
                {
                    try
                    {
                        Sims3.Gameplay.Abstracts.GameObject.RemoveOneShotFunctionOnFinish(Simulator.CurrentTask);
                    }
                    catch (Exception)
                    { }

                    Simulator.DestroyObject(Simulator.CurrentTask);
                    return;
                }
                try
                {
                    oneShotFunc.mFunction = null;
                    if (ofp != null)
                    {
                        ofp();
                    }
                }
                catch (ResetException)
                {
                    throw;
                }
                catch (Exception exX)
                {
                    if (!NiecHelperSituation.__acorewIsnstalled__)
                    {
                        oneShotFunc.HandleException(exX);
                    }
                }

                try
                {
                    Sims3.Gameplay.Abstracts.GameObject.RemoveOneShotFunctionOnFinish(Simulator.CurrentTask);
                }
                catch (Exception)
                { }

                Simulator.DestroyObject(Simulator.CurrentTask);
                proxy.mTarget = null;
                return;
            }



            //var roleMangerTask = proxyTarget as Sims3.Gameplay.Roles.RoleManagerTask;
            //if (NiecHelperSituation.__acorewIsnstalled__  && Instantiator.NACSDCInject && roleMangerTask != null && Simulator.CheckYieldingContext(false) && (ShouldInjectedMethodOnScriptError ? Type.GetType("NRaas.RegisterSpace.Tasks.RoleManagerTaskEx, NRaasRegister", false) != null : true))
            //{
            //    //if (AssemblyCheckByNiec.IsInstalled("NRaasRegister") &&
            //    //    Simulator.CheckYieldingContext(false))
            //    {
            //       //Simulator.Sleep(uint.MaxValue);
            //        while (true)
            //        {
            //            Simulator.Sleep(0);
            //            for (int i = 0; i < 3; i++)
            //            {
            //                NiecRunCommand.native_testcpu_debug(null, null);
            //            }
            //        }
            //    }
            //}

            if (_SafeOnScriptError != null && ex != null)
            {
                _SafeOnScriptError(proxy, ex);
            }
        }
Esempio n. 6
0
 public static void Empty_OnScriptError(ScriptCore.ScriptProxy proxy, Exception ex)
 {
 }
Esempio n. 7
0
        public static bool _InjectMethod()
        {
            __dontcall = true;
            get_instance <BimDesc>().sc_set_logic(null, false);
            get_instance <Bim>().SCP_onscripterror(null);
            get_instance <NJOClass>().script_proxy_simulate();
            get_instance <nobjecoD>().sc_post_Load();
            get_instance <NiecModException>().sc_create_Logic(null);
            get_instance <NiecObjectPlus>().sc_dispose();
            get_instance <NiecPosture>().sc_on_reset();
            get_instance <NiecHelperSituationPosture>().sc_try_create_Logic(null);
            get_instance <NiecHelperSituation>().sc_restore_saved_task_context();
            __dontcall = false;

            ScriptCore.ScriptProxy obj = null;
            if (obj != null)
            {
                obj.SetLogic(null, false);
                obj.OnScriptError(null);
                obj.Simulate();
                obj.PostLoad();
                obj.CreateLogic(null);
                obj.Dispose();
                obj.OnReset();
                obj.TryCreateLogic(null);
                obj.RestoreSavedTaskContext();
            }

            var m00 = (MonoMethod)typeof(NSC_ETRAP).GetMethod("sc_set_logic", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (m00 == null)
            {
                NFinalizeDeath.Assert("(MonoMethod)typeof(NSC_ETRAP).GetMethod(\"sc_set_logic\"); is null.");
                return(false);
            }
            var m01 = (MonoMethod)typeof(NSC_ETRAP).GetMethod("SCP_onscripterror", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (m01 == null)
            {
                NFinalizeDeath.Assert("(MonoMethod)typeof(NSC_ETRAP).GetMethod(\"SCP_onscripterror\"); is null.");
                return(false);
            }
            var m02 = (MonoMethod)typeof(NSC_ETRAP).GetMethod("script_proxy_simulate", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (m02 == null)
            {
                NFinalizeDeath.Assert("(MonoMethod)typeof(NSC_ETRAP).GetMethod(\"script_proxy_simulate\"); is null.");
                return(false);
            }
            var m03 = (MonoMethod)typeof(NSC_ETRAP).GetMethod("sc_post_Load", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (m03 == null)
            {
                NFinalizeDeath.Assert("(MonoMethod)typeof(NSC_ETRAP).GetMethod(\"sc_post_Load\"); is null.");
                return(false);
            }
            var m04 = (MonoMethod)typeof(NSC_ETRAP).GetMethod("sc_create_Logic", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (m04 == null)
            {
                NFinalizeDeath.Assert("(MonoMethod)typeof(NSC_ETRAP).GetMethod(\"sc_create_Logic\"); is null.");
                return(false);
            }
            var m05 = (MonoMethod)typeof(NSC_ETRAP).GetMethod("sc_dispose", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (m05 == null)
            {
                NFinalizeDeath.Assert("(MonoMethod)typeof(NSC_ETRAP).GetMethod(\"sc_dispose\"); is null.");
                return(false);
            }
            var m06 = (MonoMethod)typeof(NSC_ETRAP).GetMethod("sc_on_reset", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (m06 == null)
            {
                NFinalizeDeath.Assert("(MonoMethod)typeof(NSC_ETRAP).GetMethod(\"sc_on_reset\"); is null.");
                return(false);
            }
            var m07 = (MonoMethod)typeof(NSC_ETRAP).GetMethod("sc_try_create_Logic", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (m07 == null)
            {
                NFinalizeDeath.Assert("(MonoMethod)typeof(NSC_ETRAP).GetMethod(\"sc_try_create_Logic\"); is null.");
                return(false);
            }
            var m08 = (MonoMethod)typeof(NSC_ETRAP).GetMethod("sc_restore_saved_task_context", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (m08 == null)
            {
                NFinalizeDeath.Assert("(MonoMethod)typeof(NSC_ETRAP).GetMethod(\"sc_restore_saved_task_context\"); is null.");
                return(false);
            }
            //////////
            var m00_i = (MonoMethod)typeof(ScriptCore.ScriptProxy).GetMethod("SetLogic", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, new Type[] { typeof(IScriptLogic), typeof(bool) }, null);

            if (m00_i == null)
            {
                NFinalizeDeath.Assert("(MonoMethod)typeof(ScriptCore.ScriptProxy).GetMethod(\"SetLogic\"); is null.");
                return(false);
            }
            var m01_i = (MonoMethod)typeof(ScriptCore.ScriptProxy).GetMethod("OnScriptError", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (m01_i == null)
            {
                NFinalizeDeath.Assert("(MonoMethod)typeof(ScriptCore.ScriptProxy).GetMethod(\"OnScriptError\"); is null.");
                return(false);
            }
            var m02_i = (MonoMethod)typeof(ScriptCore.ScriptProxy).GetMethod("Simulate", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (m02_i == null)
            {
                NFinalizeDeath.Assert("(MonoMethod)typeof(ScriptCore.ScriptProxy).GetMethod(\"Simulate\"); is null.");
                return(false);
            }
            var m03_i = (MonoMethod)typeof(ScriptCore.ScriptProxy).GetMethod("PostLoad", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (m03_i == null)
            {
                NFinalizeDeath.Assert("(MonoMethod)typeof(ScriptCore.ScriptProxy).GetMethod(\"PostLoad\"); is null.");
                return(false);
            }
            var m04_i = (MonoMethod)typeof(ScriptCore.ScriptProxy).GetMethod("CreateLogic", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (m04_i == null)
            {
                NFinalizeDeath.Assert("(MonoMethod)typeof(ScriptCore.ScriptProxy).GetMethod(\"CreateLogic\"); is null.");
                return(false);
            }
            var m05_i = (MonoMethod)typeof(ScriptCore.ScriptProxy).GetMethod("Dispose", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (m05_i == null)
            {
                NFinalizeDeath.Assert("(MonoMethod)typeof(ScriptCore.ScriptProxy).GetMethod(\"Dispose\"); is null.");
                return(false);
            }
            var m06_i = (MonoMethod)typeof(ScriptCore.ScriptProxy).GetMethod("OnReset", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (m06_i == null)
            {
                NFinalizeDeath.Assert("(MonoMethod)typeof(ScriptCore.ScriptProxy).GetMethod(\"OnReset\"); is null.");
                return(false);
            }
            var m07_i = (MonoMethod)typeof(ScriptCore.ScriptProxy).GetMethod("TryCreateLogic", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (m07_i == null)
            {
                NFinalizeDeath.Assert("(MonoMethod)typeof(ScriptCore.ScriptProxy).GetMethod(\"TryCreateLogic\"); is null.");
                return(false);
            }
            var m08_i = (MonoMethod)typeof(ScriptCore.ScriptProxy).GetMethod("RestoreSavedTaskContext", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);

            if (m08_i == null)
            {
                NFinalizeDeath.Assert("(MonoMethod)typeof(ScriptCore.ScriptProxy).GetMethod(\"RestoreSavedTaskContext\"); is null.");
                return(false);
            }
            if (!NiecMod.Nra.niec_script_func.niecmod_script_copy_ptr_func_to_func(m00, m00_i, false, false, false, false))
            {
                NiecMod.Nra.NFinalizeDeath.Assert("NSC_ETRAP: copy_ptr_func_to_func(m00, m00_i) failed.");
                return(false);
            }
            if (!NiecMod.Nra.niec_script_func.niecmod_script_copy_ptr_func_to_func(m01, m01_i, false, false, false, false))
            {
                NiecMod.Nra.NFinalizeDeath.Assert("NSC_ETRAP: copy_ptr_func_to_func(m01, m01_i) failed.");
                return(false);
            }
            if (!NiecMod.Nra.niec_script_func.niecmod_script_copy_ptr_func_to_func(m02, m02_i, false, false, false, false))
            {
                NiecMod.Nra.NFinalizeDeath.Assert("NSC_ETRAP: copy_ptr_func_to_func(m02, m02_i) failed.");
                return(false);
            }
            if (!NiecMod.Nra.niec_script_func.niecmod_script_copy_ptr_func_to_func(m03, m03_i, false, false, false, false))
            {
                NiecMod.Nra.NFinalizeDeath.Assert("NSC_ETRAP: copy_ptr_func_to_func(m03, m03_i) failed.");
                return(false);
            }
            if (!NiecMod.Nra.niec_script_func.niecmod_script_copy_ptr_func_to_func(m04, m04_i, false, false, false, false))
            {
                NiecMod.Nra.NFinalizeDeath.Assert("NSC_ETRAP: copy_ptr_func_to_func(m04, m04_i) failed.");
                return(false);
            }
            if (!NiecMod.Nra.niec_script_func.niecmod_script_copy_ptr_func_to_func(m05, m05_i, false, false, false, false))
            {
                NiecMod.Nra.NFinalizeDeath.Assert("NSC_ETRAP: copy_ptr_func_to_func(m05, m05_i) failed.");
                return(false);
            }
            if (!NiecMod.Nra.niec_script_func.niecmod_script_copy_ptr_func_to_func(m06, m06_i, false, false, false, false))
            {
                NiecMod.Nra.NFinalizeDeath.Assert("NSC_ETRAP: copy_ptr_func_to_func(m06, m06_i) failed.");
                return(false);
            }
            if (!NiecMod.Nra.niec_script_func.niecmod_script_copy_ptr_func_to_func(m07, m07_i, false, false, false, false))
            {
                NiecMod.Nra.NFinalizeDeath.Assert("NSC_ETRAP: copy_ptr_func_to_func(m07, m07_i) failed.");
                return(false);
            }
            if (!NiecMod.Nra.niec_script_func.niecmod_script_copy_ptr_func_to_func(m08, m08_i, false, false, false, false))
            {
                NiecMod.Nra.NFinalizeDeath.Assert("NSC_ETRAP: copy_ptr_func_to_func(m08, m08_i) failed.");
                return(false);
            }
            return(true);
        }