public void Run()
        {
            int __ruleIndex = 0;

            __res          = new __MetaCnvResult <Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > >();
            __res.Value    = default(Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > >);
            __res.HasValue = false;

            switch (__ruleIndex)
            {
            case 0:
            {
                Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > rec           = default(Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > >);
                Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > rec1          = default(Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > >);
                Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > updatedRecord = default(Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > >);
                float dt = default(float);
                Tuple <float, float> v = default(Tuple <float, float>);
                rec = __arg0;
                dt  = __arg1;
                FieldUpdater0.update __tmp0 = new FieldUpdater0.update();
                __tmp0.__arg0 = rec;
                __tmp0.__arg1 = dt;
                __tmp0.Run();
                if (!(__tmp0.__res.HasValue))
                {
                    goto default;
                }
                __MetaCnvResult <Tuple <float, float> > __tmp1 = __tmp0.__res;
                v = __tmp1.Value;
                SetField0.set __tmp2 = new SetField0.set();
                __tmp2.__arg0 = rec;
                __tmp2.__arg1 = v;
                __tmp2.Run();
                if (!(__tmp2.__res.HasValue))
                {
                    goto default;
                }
                __MetaCnvResult <Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > > __tmp3 = __tmp2.__res;
                rec1 = __tmp3.Value;
                RecordUpdater4.update __tmp4 = new RecordUpdater4.update();
                __tmp4.__arg0 = rec1;
                __tmp4.__arg1 = dt;
                __tmp4.Run();
                if (!(__tmp4.__res.HasValue))
                {
                    goto default;
                }
                __MetaCnvResult <Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > > __tmp5 = __tmp4.__res;
                updatedRecord  = __tmp5.Value;
                __res.HasValue = true;
                __res.Value    = updatedRecord;
                break;
            }

            default:
                break;
            }
        }
示例#2
0
        static void TestSettersAndGetters()
        {
            Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > testBody = makeTestBody();
            Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Tuple <Tuple <float, float>, Unit> > > updatedBody;

            //get position
            GetField0.get getPos = new GetField0.get();
            getPos.__arg0 = testBody;
            getPos.Run();
            Tuple <float, float> p = getPos.__res.Value;

            //get velocity
            GetField3.get getVel = new GetField3.get();
            getVel.__arg0 = testBody;
            getVel.Run();
            Tuple <float, float> v = getVel.__res.Value;

            //get acceleration
            GetField5.get getAcc = new GetField5.get();
            getAcc.__arg0 = testBody;
            getAcc.Run();
            Tuple <float, float> a = getAcc.__res.Value;

            //set position
            __opComma <float, float> newPos = new __opComma <float, float>();

            newPos.__arg0 = 5f;
            newPos.__arg1 = 2.5f;
            SetField0.set setPos = new SetField0.set();
            setPos.__arg0 = testBody;
            setPos.__arg1 = newPos;
            setPos.Run();
            updatedBody = setPos.__res.Value;

            //set velocity
            __opComma <float, float> newVel = new __opComma <float, float>();

            newVel.__arg0 = 2f;
            newVel.__arg1 = 20f;
            SetField2.set setVel = new SetField2.set();
            setVel.__arg0 = updatedBody;
            setVel.__arg1 = newVel;
            setVel.Run();
            updatedBody = setVel.__res.Value;

            //set velocity
            __opComma <float, float> newAcc = new __opComma <float, float>();

            newAcc.__arg0 = 0.1f;
            newAcc.__arg1 = 10f;
            SetField5.set setAcc = new SetField5.set();
            setAcc.__arg0 = updatedBody;
            setAcc.__arg1 = newAcc;
            setAcc.Run();
            updatedBody = setAcc.__res.Value;
        }