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; FieldUpdater1.update __tmp0 = new FieldUpdater1.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; SetField2.set __tmp2 = new SetField2.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; RecordUpdater3.update __tmp4 = new RecordUpdater3.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; } }
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; }