public void Reflect(float AxesAngle, float time, int isConjugate) { float axesAngle = 360.0f / (float)ThetaMod; axesAngle *= (float)relativeTheta; relativeTheta = DiskUtility.GetConjugateTheta(relativeTheta, ThetaMod); mSegment.DoReflect(axesAngle, time, relativeTheta, isConjugate); }
void SetReflection(int i) { int conjugateI = DiskUtility.GetConjugateTheta(i, mRelativeSegments [0].ThetaMod); MacroDiskReflectCmd macroCMD; ArrayList dsList = new ArrayList(); ArrayList conDsList = new ArrayList(); foreach (RelativeDiskSegment DS in mRelativeSegments) { if (DS.theta == i) { if (!DS.IsBusy) { dsList.Add(DS); } else { return; } } if (DS.theta == conjugateI) { if (!DS.IsBusy) { conDsList.Add(DS); } else { return; } } } macroCMD = new MacroDiskReflectCmd(dsList, rotateSound, transform); //macroCMD.SetVerificationCondition (i); //macroCMD.Verify (); //macroCMD.AddConjugate (conDsList, conjugateI); macroCMD.AddConjugate(conDsList); diskController.AddCmd(macroCMD); }