Example #1
0
            public void Execute(int index)
            {
                var ep = Params[index];

                ep.Execute(DeltaTime);
                Output[index] = new BoingWork.Output(ep.InstanceID, ref ep.Instance.PositionSpring, ref ep.Instance.RotationSpring);
            }
Example #2
0
        public void GatherOutput(ref BoingWork.Output o)
        {
        #if UNITY_2018_1_OR_NEWER
            if (BoingManager.UseAsynchronousJobs)
            {
                if (PositionSpringDirty)
                {
                    PositionSpringDirty = false;
                }
                else
                {
                    Params.Instance.PositionSpring = o.PositionSpring;
                }

                if (RotationSpringDirty)
                {
                    RotationSpringDirty = false;
                }
                else
                {
                    Params.Instance.RotationSpring = o.RotationSpring;
                }
            }
            else
        #endif
            {
                Params.Instance.PositionSpring = o.PositionSpring;
                Params.Instance.RotationSpring = o.RotationSpring;
            }
        }
            public void Execute(int index)
            {
                var rep = Params[index];

                if (LateUpdateTiming != rep.Bits.IsBitSet(BoingWork.ReactorFlags.LateUpdateTiming))
                {
                    return;
                }

                for (int i = 0, n = Effectors.Length; i < n; ++i)
                {
                    var eep = Effectors[i];
                    rep.AccumulateTarget(ref eep);
                }
                rep.EndAccumulateTargets();

                if (rep.Bits.IsBitSet(BoingWork.ReactorFlags.FixedUpdate))
                {
                    for (int i = 0; i < NumFixedUpdateIterations; ++i)
                    {
                        rep.Execute(FixedDeltaTime);
                    }
                }
                else
                {
                    rep.Execute(BoingManager.DeltaTime);
                }

                Output[index] = new BoingWork.Output(rep.InstanceID, ref rep.Instance.PositionSpring, ref rep.Instance.RotationSpring);
            }
Example #4
0
            public void Execute(int index)
            {
                var rep = Params[index];

                for (int i = 0, n = Effectors.Length; i < n; ++i)
                {
                    var eep = Effectors[i];
                    rep.AccumulateTarget(ref eep);
                }
                rep.EndAccumulateTargets();

                rep.Execute(DeltaTime);
                Output[index] = new BoingWork.Output(rep.InstanceID, ref rep.Instance.PositionSpring, ref rep.Instance.RotationSpring);
            }
            public void Execute(int index)
            {
                var ep = Params[index];

                if (LateUpdateTiming != ep.Bits.IsBitSet(BoingWork.ReactorFlags.LateUpdateTiming))
                {
                    return;
                }

                if (ep.Bits.IsBitSet(BoingWork.ReactorFlags.FixedUpdate))
                {
                    for (int i = 0; i < NumFixedUpdateIterations; ++i)
                    {
                        ep.Execute(FixedDeltaTime);
                    }
                }
                else
                {
                    ep.Execute(BoingManager.DeltaTime);
                }

                Output[index] = new BoingWork.Output(ep.InstanceID, ref ep.Instance.PositionSpring, ref ep.Instance.RotationSpring);
            }