Esempio n. 1
0
    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);
    }
Esempio n. 2
0
    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);
    }