Exemplo 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);
    }
Exemplo n.º 2
0
    void Normalize(int angle = -1)
    {
        transform.position   = Vector3.zero;
        transform.localScale = Vector3.one;
        int targetY = -1;

        if (angle == -1)
        {
            targetY = DiskUtility.GetDegreeTheta(theta, 8);                                      //8 here should be temporary
        }
        else
        {
            targetY = DiskUtility.GetDegreeTheta(angle, 8);
        }

        Quaternion target = Quaternion.Euler(0, targetY, 0);

        transform.rotation = Quaternion.Slerp(transform.rotation, target, 1);
    }
Exemplo n.º 3
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);
    }