コード例 #1
0
        static object PerformMemberwiseClone(ref object o)
        {
            var ins = new Unity.Jobs.JobHandle();

            ins = (Unity.Jobs.JobHandle)o;
            return(ins);
        }
コード例 #2
0
 public void SheduleUpdateJobsOneStaticBoxTest()
 {
     Unity.Physics.PhysicsWorld world = BroadPhaseTests.createTestWorld(1);
     BroadPhaseTests.addStaticBoxToWorld(world, 0, Vector3.zero, quaternion.identity, new Vector3(10, .1f, 10));
     Unity.Jobs.JobHandle handle         = new Unity.Jobs.JobHandle();
     Unity.Jobs.JobHandle worldJobHandle = world.CollisionWorld.ScheduleUpdateDynamicLayer(ref world, 1 / 60, 1, handle);
     worldJobHandle.Complete();
     Assert.IsTrue(worldJobHandle.IsCompleted);
     world.Dispose();
 }
コード例 #3
0
 public void ScheduleBuildJobsOneStaticBoxTest()
 {
     Physics.PhysicsWorld world = createTestWorld(1);
     addStaticBoxToWorld(world, 0, new Vector3(0, 0, 0), Quaternion.identity, new Vector3(10, 0.1f, 10));
     Unity.Jobs.JobHandle handle = new Unity.Jobs.JobHandle();
     Unity.Jobs.JobHandle result = world.CollisionWorld.Broadphase.ScheduleBuildJobs(ref world, 1 / 60, 1, true, handle);
     result.Complete();
     Assert.IsTrue(result.IsCompleted);
     world.Dispose();
 }
コード例 #4
0
 public void SheduleUpdateJobsEmptyWorldTest()
 {
     for (int numThreads = 0; numThreads <= 8; numThreads++)
     {
         Physics.PhysicsWorld world          = BroadPhaseTests.createTestWorld();
         Unity.Jobs.JobHandle handle         = new Unity.Jobs.JobHandle();
         Unity.Jobs.JobHandle worldJobHandle = world.CollisionWorld.ScheduleUpdateDynamicTree(ref world, 1 / 60, -9.81f * math.up(), handle, numThreads);
         worldJobHandle.Complete();
         Assert.IsTrue(worldJobHandle.IsCompleted);
         world.Dispose();
     }
 }
コード例 #5
0
 public void SheduleUpdateJobsOneHundredStaticBoxesTest()
 {
     Physics.PhysicsWorld world = BroadPhaseTests.createTestWorld(100);
     for (int i = 0; i < 100; ++i)
     {
         BroadPhaseTests.addStaticBoxToWorld(world, i, new Vector3(11 * i, 0, 0), quaternion.identity, new Vector3(10, .1f, 10));
     }
     Unity.Jobs.JobHandle handle         = new Unity.Jobs.JobHandle();
     Unity.Jobs.JobHandle worldJobHandle = world.CollisionWorld.ScheduleUpdateDynamicLayer(ref world, 1 / 60, 1, handle);
     worldJobHandle.Complete();
     Assert.IsTrue(worldJobHandle.IsCompleted);
     world.Dispose();
 }
コード例 #6
0
 public void SheduleUpdateJobsOneStaticBoxTest()
 {
     for (int numThreads = 0; numThreads <= 8; numThreads++)
     {
         Unity.Physics.PhysicsWorld world = BroadPhaseTests.createTestWorld(1);
         BroadPhaseTests.addStaticBoxToWorld(world, 0, Vector3.zero, quaternion.identity, new Vector3(10, .1f, 10));
         Unity.Jobs.JobHandle handle         = new Unity.Jobs.JobHandle();
         Unity.Jobs.JobHandle worldJobHandle = world.CollisionWorld.ScheduleUpdateDynamicTree(ref world, 1 / 60, -9.81f * math.up(), handle, numThreads);
         worldJobHandle.Complete();
         Assert.IsTrue(worldJobHandle.IsCompleted);
         world.Dispose();
     }
 }
コード例 #7
0
ファイル: ARViewer.cs プロジェクト: threepat1/trueAR
        public void AddMarker(Texture2D sampleMarker, string sampleMarkerName, GameObject samplePrefab)
        {
            if (!isARInitialize)
            {
                DebugText("AR state is not ready..");
                return;
            }

            //if (CheckMarkerExists(sampleMarkerName))
            //{
            //    DebugText("Marker name " + sampleMarkerName + " is already exist..");
            //    return;
            //}

            DebugText("Begin add marker..");
            DebugImage(MainAPI.Instance.SpriteFromTexture2D(sampleMarker));

            if (IsSupportsMutableLibrary())
            {
                DebugText("supportsMutableLibrary is enabled..");

                var texture = sampleMarker;
                DebugText("Marker name: " + sampleMarkerName);

                ResetRuntimeImageLibrary();

                Unity.Jobs.JobHandle jobHandle = myRuntimeReferenceImageLibrary.ScheduleAddImageJob(texture, sampleMarkerName, 0.2f);
                jobHandle.Complete();

                //myRuntimeReferenceImageLibrary

                if (myRuntimeReferenceImageLibrary != null)
                {
                    DebugText("myRuntimeReferenceImageLibrary: " + myRuntimeReferenceImageLibrary.count);
                    DebugText("supportedTextureFormatCount: " + myRuntimeReferenceImageLibrary.supportedTextureFormatCount);

                    mARTrackedImageManager.referenceLibrary = myRuntimeReferenceImageLibrary;
                }
                else
                {
                    DebugText("myRuntimeReferenceImageLibrary is NULL");
                }
                mARTrackedImageManager.maxNumberOfMovingImages = 1;
                mARTrackedImageManager.trackedImagePrefab      = samplePrefab;
                mARTrackedImageManager.enabled = true;
            }
            else
            {
                DebugText("supportsMutableLibrary is disabled");
            }
        }
コード例 #8
0
        void LateUpdate()
        {
            NativeArray <float>?distances = null;

            if (stabilizationMode == StabilizationMode.FurthestObject)
            {
                var taa = new TransformAccessArray(_TransformList.ToArray());
                distances = new NativeArray <float>(taa.length, Allocator.Temp, NativeArrayOptions.UninitializedMemory);
                var job = new RenderingJobs.CalculateDistancesJob(distances.Value, transform.position);
                _Handle = job.Schedule(taa);
                _TransformList.Clear();
            }

            RenderingSettings.cameraScale = RenderingUtility.GetParentScale(transform);
            ValidateFarClip();
            ValidateNearClip();

            RenderingSettings.farClipDistance  = m_Camera.farClipPlane;
            RenderingSettings.nearClipDistance = m_Camera.nearClipPlane;
            RenderingSettings.focusDistance    = actualStereoConvergence;
#pragma warning disable 0618
            RenderingSettings.surfaceScale = m_SurfaceScale;
#pragma warning disable 0618
#if ML_RENDERING_VALIDATION
            CheckClearColor();
#endif
            switch (stabilizationMode)
            {
            case StabilizationMode.Custom:
                RenderingSettings.stabilizationDistance = ClampToClippingPlanes(stabilizationDistance);
                break;

            case StabilizationMode.FarClip:
                RenderingSettings.stabilizationDistance = m_Camera.farClipPlane;
                break;

            case StabilizationMode.FurthestObject:
                _Handle.Complete();
                if (distances.HasValue)
                {
                    if (distances.Value.Length > 0)
                    {
                        RenderingSettings.stabilizationDistance = distances.Max();
                    }
                    distances.Value.Dispose();
                    distances = null;
                }
                break;
            }
        }
コード例 #9
0
        static void WriteBackInstance(CSHotFix.Runtime.Enviorment.AppDomain __domain, StackObject *ptr_of_this_method, IList <object> __mStack, ref Unity.Jobs.JobHandle instance_of_this_method)
        {
            ptr_of_this_method = ILIntepreter.GetObjectAndResolveReference(ptr_of_this_method);
            switch (ptr_of_this_method->ObjectType)
            {
            case ObjectTypes.Object:
            {
                __mStack[ptr_of_this_method->Value] = instance_of_this_method;
            }
            break;

            case ObjectTypes.FieldReference:
            {
                var ___obj = __mStack[ptr_of_this_method->Value];
                if (___obj is ILTypeInstance)
                {
                    ((ILTypeInstance)___obj)[ptr_of_this_method->ValueLow] = instance_of_this_method;
                }
                else
                {
                    var t = __domain.GetType(___obj.GetType()) as CLRType;
                    t.SetFieldValue(ptr_of_this_method->ValueLow, ref ___obj, instance_of_this_method);
                }
            }
            break;

            case ObjectTypes.StaticFieldReference:
            {
                var t = __domain.GetType(ptr_of_this_method->Value);
                if (t is ILType)
                {
                    ((ILType)t).StaticInstance[ptr_of_this_method->ValueLow] = instance_of_this_method;
                }
                else
                {
                    ((CLRType)t).SetStaticFieldValue(ptr_of_this_method->ValueLow, instance_of_this_method);
                }
            }
            break;

            case ObjectTypes.ArrayReference:
            {
                var instance_of_arrayReference = __mStack[ptr_of_this_method->Value] as Unity.Jobs.JobHandle[];
                instance_of_arrayReference[ptr_of_this_method->ValueLow] = instance_of_this_method;
            }
            break;
            }
        }
コード例 #10
0
        // Update is called once per frame
        void Update()
        {
            jobHandle.Complete();

            if (jobHandle.IsCompleted)
            {
                var rotatorJob = new RotatorJob()
                {
                    deltaTime = Time.deltaTime,
                    speeds    = speeds
                };

                jobHandle = rotatorJob.Schedule(transformAccessArray);
                Unity.Jobs.JobHandle.ScheduleBatchedJobs();
            }
        }
コード例 #11
0
 public void SheduleUpdateJobsOneHundredDynamicBoxesTest()
 {
     for (int numThreads = 0; numThreads <= 8; numThreads++)
     {
         Physics.PhysicsWorld world = BroadPhaseTests.createTestWorld(0, 100);
         for (int i = 0; i < 100; ++i)
         {
             BroadPhaseTests.addDynamicBoxToWorld(world, i, new Vector3(11 * i, 0, 0), quaternion.identity, new Vector3(10, .1f, 10));
         }
         Unity.Jobs.JobHandle handle         = new Unity.Jobs.JobHandle();
         Unity.Jobs.JobHandle worldJobHandle = world.CollisionWorld.ScheduleUpdateDynamicTree(ref world, 1 / 60, -9.81f * math.up(), handle, numThreads);
         worldJobHandle.Complete();
         Assert.IsTrue(worldJobHandle.IsCompleted);
         world.Dispose();
     }
 }
コード例 #12
0
        static StackObject *Complete_0(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            ptr_of_this_method = ILIntepreter.GetObjectAndResolveReference(ptr_of_this_method);
            Unity.Jobs.JobHandle instance_of_this_method = (Unity.Jobs.JobHandle) typeof(Unity.Jobs.JobHandle).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));

            instance_of_this_method.Complete();

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            WriteBackInstance(__domain, ptr_of_this_method, __mStack, ref instance_of_this_method);

            __intp.Free(ptr_of_this_method);
            return(__ret);
        }
コード例 #13
0
        void LateUpdate()
        {
            NativeArray <float>?distances = null;

            if (stabilizationMode == StabilizationMode.FurthestObject)
            {
                var taa = new TransformAccessArray(_TransformList.ToArray());
                distances = new NativeArray <float>(taa.length, Allocator.Temp, NativeArrayOptions.UninitializedMemory);
                var job = new RenderingJobs.CalculateDistancesJob(distances.Value, transform.position);
                _Handle = job.Schedule(taa);
                _TransformList.Clear();
            }

            var scale = GetCameraScale();

            RenderingSettings.cameraScale = scale;
            // only perform clipping plane validation if the user has added the requisite components.
            ValidateFarClip(scale);
            ValidateNearClip(scale);

            RenderingSettings.farClipDistance  = GetFarClippingPlane(scale);
            RenderingSettings.nearClipDistance = GetNearClippingPlane(scale);
            RenderingSettings.focusDistance    = actualStereoConvergence / scale;
#if ML_RENDERING_VALIDATION
            CheckClearColor();
#endif
            switch (stabilizationMode)
            {
            case StabilizationMode.Custom:
                RenderingSettings.stabilizationDistance = ClampToClippingPlanes(stabilizationDistance);
                break;

            case StabilizationMode.FarClip:
                RenderingSettings.stabilizationDistance = GetFarClippingPlane(scale);
                break;

            case StabilizationMode.FurthestObject:
                _Handle.Complete();
                RenderingSettings.stabilizationDistance = distances.Max();
                distances.Value.Dispose();
                distances = null;
                break;
            }
        }
コード例 #14
0
        static StackObject *CombineDependencies_6(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            Unity.Jobs.JobHandle @job1 = (Unity.Jobs.JobHandle) typeof(Unity.Jobs.JobHandle).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            Unity.Jobs.JobHandle @job0 = (Unity.Jobs.JobHandle) typeof(Unity.Jobs.JobHandle).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);


            var result_of_this_method = Unity.Jobs.JobHandle.CombineDependencies(@job0, @job1);

            return(ILIntepreter.PushObject(__ret, __mStack, result_of_this_method));
        }
コード例 #15
0
        static int _m_ScheduleBatch_xlua_st_(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);



                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count == 4 && translator.Assignable <Unity.Collections.NativeArray <UnityEngine.RaycastCommand> >(L, 1) && translator.Assignable <Unity.Collections.NativeArray <UnityEngine.RaycastHit> >(L, 2) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3) && translator.Assignable <Unity.Jobs.JobHandle>(L, 4))
                {
                    Unity.Collections.NativeArray <UnityEngine.RaycastCommand> _commands; translator.Get(L, 1, out _commands);
                    Unity.Collections.NativeArray <UnityEngine.RaycastHit>     _results; translator.Get(L, 2, out _results);
                    int _minCommandsPerJob = LuaAPI.xlua_tointeger(L, 3);
                    Unity.Jobs.JobHandle _dependsOn; translator.Get(L, 4, out _dependsOn);

                    Unity.Jobs.JobHandle gen_ret = UnityEngine.RaycastCommand.ScheduleBatch(_commands, _results, _minCommandsPerJob, _dependsOn);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 3 && translator.Assignable <Unity.Collections.NativeArray <UnityEngine.RaycastCommand> >(L, 1) && translator.Assignable <Unity.Collections.NativeArray <UnityEngine.RaycastHit> >(L, 2) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3))
                {
                    Unity.Collections.NativeArray <UnityEngine.RaycastCommand> _commands; translator.Get(L, 1, out _commands);
                    Unity.Collections.NativeArray <UnityEngine.RaycastHit>     _results; translator.Get(L, 2, out _results);
                    int _minCommandsPerJob = LuaAPI.xlua_tointeger(L, 3);

                    Unity.Jobs.JobHandle gen_ret = UnityEngine.RaycastCommand.ScheduleBatch(_commands, _results, _minCommandsPerJob);
                    translator.Push(L, gen_ret);



                    return(1);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }

            return(LuaAPI.luaL_error(L, "invalid arguments to UnityEngine.RaycastCommand.ScheduleBatch!"));
        }
コード例 #16
0
        static StackObject *get_IsCompleted_4(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            ptr_of_this_method = ILIntepreter.GetObjectAndResolveReference(ptr_of_this_method);
            Unity.Jobs.JobHandle instance_of_this_method = (Unity.Jobs.JobHandle) typeof(Unity.Jobs.JobHandle).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));

            var result_of_this_method = instance_of_this_method.IsCompleted;

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            WriteBackInstance(__domain, ptr_of_this_method, __mStack, ref instance_of_this_method);

            __intp.Free(ptr_of_this_method);
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value      = result_of_this_method ? 1 : 0;
            return(__ret + 1);
        }
コード例 #17
0
        static StackObject *CheckFenceIsDependencyOrDidSyncFence_10(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            Unity.Jobs.JobHandle @dependsOn = (Unity.Jobs.JobHandle) typeof(Unity.Jobs.JobHandle).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            Unity.Jobs.JobHandle @jobHandle = (Unity.Jobs.JobHandle) typeof(Unity.Jobs.JobHandle).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);


            var result_of_this_method = Unity.Jobs.JobHandle.CheckFenceIsDependencyOrDidSyncFence(@jobHandle, @dependsOn);

            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value      = result_of_this_method ? 1 : 0;
            return(__ret + 1);
        }
コード例 #18
0
        static StackObject *Schedule_0(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 3);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            Unity.Jobs.JobHandle @dependsOn = (Unity.Jobs.JobHandle) typeof(Unity.Jobs.JobHandle).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            UnityEngine.Jobs.TransformAccessArray @transforms = (UnityEngine.Jobs.TransformAccessArray) typeof(UnityEngine.Jobs.TransformAccessArray).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
            global::JobUpdateSetHealthBar @jobData = (global::JobUpdateSetHealthBar)typeof(global::JobUpdateSetHealthBar).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));

            __intp.Free(ptr_of_this_method);


            var result_of_this_method = UnityEngine.Jobs.IJobParallelForTransformExtensions.Schedule <global::JobUpdateSetHealthBar>(@jobData, @transforms, @dependsOn);

            return(ILIntepreter.PushObject(__ret, __mStack, result_of_this_method));
        }
コード例 #19
0
        static StackObject *CompleteAll_2(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 3);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            Unity.Jobs.JobHandle @job2 = (Unity.Jobs.JobHandle) typeof(Unity.Jobs.JobHandle).CheckCLRTypes(__intp.RetriveObject(ptr_of_this_method, __mStack));

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            Unity.Jobs.JobHandle @job1 = (Unity.Jobs.JobHandle) typeof(Unity.Jobs.JobHandle).CheckCLRTypes(__intp.RetriveObject(ptr_of_this_method, __mStack));

            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
            Unity.Jobs.JobHandle @job0 = (Unity.Jobs.JobHandle) typeof(Unity.Jobs.JobHandle).CheckCLRTypes(__intp.RetriveObject(ptr_of_this_method, __mStack));


            Unity.Jobs.JobHandle.CompleteAll(ref @job0, ref @job1, ref @job2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            switch (ptr_of_this_method->ObjectType)
            {
            case ObjectTypes.StackObjectReference:
            {
                var    ___dst = *(StackObject **)&ptr_of_this_method->Value;
                object ___obj = @job2;
                if (___dst->ObjectType >= ObjectTypes.Object)
                {
                    if (___obj is CrossBindingAdaptorType)
                    {
                        ___obj = ((CrossBindingAdaptorType)___obj).ILInstance;
                    }
                    __mStack[___dst->Value] = ___obj;
                }
                else
                {
                    ILIntepreter.UnboxObject(___dst, ___obj, __mStack, __domain);
                }
            }
            break;

            case ObjectTypes.FieldReference:
            {
                var ___obj = __mStack[ptr_of_this_method->Value];
                if (___obj is ILTypeInstance)
                {
                    ((ILTypeInstance)___obj)[ptr_of_this_method->ValueLow] = @job2;
                }
                else
                {
                    var ___type = __domain.GetType(___obj.GetType()) as CLRType;
                    ___type.SetFieldValue(ptr_of_this_method->ValueLow, ref ___obj, @job2);
                }
            }
            break;

            case ObjectTypes.StaticFieldReference:
            {
                var ___type = __domain.GetType(ptr_of_this_method->Value);
                if (___type is ILType)
                {
                    ((ILType)___type).StaticInstance[ptr_of_this_method->ValueLow] = @job2;
                }
                else
                {
                    ((CLRType)___type).SetStaticFieldValue(ptr_of_this_method->ValueLow, @job2);
                }
            }
            break;

            case ObjectTypes.ArrayReference:
            {
                var instance_of_arrayReference = __mStack[ptr_of_this_method->Value] as Unity.Jobs.JobHandle[];
                instance_of_arrayReference[ptr_of_this_method->ValueLow] = @job2;
            }
            break;
            }

            __intp.Free(ptr_of_this_method);
            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            switch (ptr_of_this_method->ObjectType)
            {
            case ObjectTypes.StackObjectReference:
            {
                var    ___dst = *(StackObject **)&ptr_of_this_method->Value;
                object ___obj = @job1;
                if (___dst->ObjectType >= ObjectTypes.Object)
                {
                    if (___obj is CrossBindingAdaptorType)
                    {
                        ___obj = ((CrossBindingAdaptorType)___obj).ILInstance;
                    }
                    __mStack[___dst->Value] = ___obj;
                }
                else
                {
                    ILIntepreter.UnboxObject(___dst, ___obj, __mStack, __domain);
                }
            }
            break;

            case ObjectTypes.FieldReference:
            {
                var ___obj = __mStack[ptr_of_this_method->Value];
                if (___obj is ILTypeInstance)
                {
                    ((ILTypeInstance)___obj)[ptr_of_this_method->ValueLow] = @job1;
                }
                else
                {
                    var ___type = __domain.GetType(___obj.GetType()) as CLRType;
                    ___type.SetFieldValue(ptr_of_this_method->ValueLow, ref ___obj, @job1);
                }
            }
            break;

            case ObjectTypes.StaticFieldReference:
            {
                var ___type = __domain.GetType(ptr_of_this_method->Value);
                if (___type is ILType)
                {
                    ((ILType)___type).StaticInstance[ptr_of_this_method->ValueLow] = @job1;
                }
                else
                {
                    ((CLRType)___type).SetStaticFieldValue(ptr_of_this_method->ValueLow, @job1);
                }
            }
            break;

            case ObjectTypes.ArrayReference:
            {
                var instance_of_arrayReference = __mStack[ptr_of_this_method->Value] as Unity.Jobs.JobHandle[];
                instance_of_arrayReference[ptr_of_this_method->ValueLow] = @job1;
            }
            break;
            }

            __intp.Free(ptr_of_this_method);
            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
            switch (ptr_of_this_method->ObjectType)
            {
            case ObjectTypes.StackObjectReference:
            {
                var    ___dst = *(StackObject **)&ptr_of_this_method->Value;
                object ___obj = @job0;
                if (___dst->ObjectType >= ObjectTypes.Object)
                {
                    if (___obj is CrossBindingAdaptorType)
                    {
                        ___obj = ((CrossBindingAdaptorType)___obj).ILInstance;
                    }
                    __mStack[___dst->Value] = ___obj;
                }
                else
                {
                    ILIntepreter.UnboxObject(___dst, ___obj, __mStack, __domain);
                }
            }
            break;

            case ObjectTypes.FieldReference:
            {
                var ___obj = __mStack[ptr_of_this_method->Value];
                if (___obj is ILTypeInstance)
                {
                    ((ILTypeInstance)___obj)[ptr_of_this_method->ValueLow] = @job0;
                }
                else
                {
                    var ___type = __domain.GetType(___obj.GetType()) as CLRType;
                    ___type.SetFieldValue(ptr_of_this_method->ValueLow, ref ___obj, @job0);
                }
            }
            break;

            case ObjectTypes.StaticFieldReference:
            {
                var ___type = __domain.GetType(ptr_of_this_method->Value);
                if (___type is ILType)
                {
                    ((ILType)___type).StaticInstance[ptr_of_this_method->ValueLow] = @job0;
                }
                else
                {
                    ((CLRType)___type).SetStaticFieldValue(ptr_of_this_method->ValueLow, @job0);
                }
            }
            break;

            case ObjectTypes.ArrayReference:
            {
                var instance_of_arrayReference = __mStack[ptr_of_this_method->Value] as Unity.Jobs.JobHandle[];
                instance_of_arrayReference[ptr_of_this_method->ValueLow] = @job0;
            }
            break;
            }

            __intp.Free(ptr_of_this_method);
            return(__ret);
        }