Example #1
0
    private int CalcControlPoints(HANDTYPE ctrlHand, QUADTYPE hitQuad, float poseAngle, float poseDistance)
    {
        int distancePoint = CalcPoseDistance(hitQuad, poseAngle, poseDistance);
        int posePoint     = CalcPoseControl(ctrlHand, hitQuad, poseAngle);

        return(distancePoint + posePoint);
    }
Example #2
0
    private int CalcPoseDistance(QUADTYPE hitQuad, float poseAngle, float poseDistance)
    {
        int distancePoint = 0;

        if (hitQuad == QUADTYPE.UPQUAD)
        {
            if (poseDistance > perfectPoseLimitDistance - 0.6f)
            {
                GameManager.Instance.controlPointText.text += string.Format("Nice Big Pose!!\n");
                distancePoint = CalcPoseAngle(poseAngle);
                //GameManager.Instance.controlPointText.text += string.Format("NicePose!! DoublePoints!: + {0}points \n", distancePoint * 2);
                return(distancePoint * 2);
            }
            else
            {
                return(CalcPoseAngle(poseAngle));
            }
        }
        else
        {
            if (poseDistance > perfectPoseLimitDistance)
            {
                GameManager.Instance.controlPointText.text += string.Format("Nice Big Pose!!\n");
                distancePoint = CalcPoseAngle(poseAngle);
                //GameManager.Instance.controlPointText.text += string.Format("NicePose!! DoublePoints!: + {0}points \n", distancePoint * 2);
                return(distancePoint * 2);
            }
            else
            {
                return(CalcPoseAngle(poseAngle));
            }
        }
    }
Example #3
0
    private int CalcPoseControl(HANDTYPE ctrlHand, QUADTYPE hitQuad, float poseAngle)
    {
        int anglePoint = 0;

        if (hitQuad == QUADTYPE.LEFTQUAD && ctrlHand == HANDTYPE.RIGHTHAND)
        {
            GameManager.Instance.controlPointText.text += string.Format("fantastic Pose!!\n");
            anglePoint = CalcPoseAngle(poseAngle);
            //GameManager.Instance.controlPointText.text += string.Format("PoseDoublePoints!!\n");
            return(anglePoint * 2);
        }
        else if (hitQuad == QUADTYPE.RIGHTQUAD && ctrlHand == HANDTYPE.LEFTHAND)
        {
            GameManager.Instance.controlPointText.text += string.Format("fantastic Pose!!\n");
            anglePoint = CalcPoseAngle(poseAngle);
            //GameManager.Instance.controlPointText.text += string.Format("PoseDoublePoints!!\n");
            return(anglePoint * 2);
        }
        else           //if (hitQuad == QUADTYPE.UPQUAD || hitQuad == QUADTYPE.DOWNQUAD) {
        {
            return(CalcPoseAngle(poseAngle));
        }
        //}
    }
Example #4
0
    public void SendControlPoint(object[] _params)
    {
        int point = 0;

        Vector3 hitPos       = (Vector3)_params[0];
        Vector3 hitNormal    = (Vector3)_params[1];
        Vector3 firePos      = (Vector3)_params[2];
        Vector3 incomeVector = (hitPos - firePos).normalized;

        HANDTYPE controlHand  = (HANDTYPE)_params[3];
        QUADTYPE hitQuad      = quadType;
        float    poseAngle    = Vector3.Angle(incomeVector, -hitNormal);
        float    poseDistance = (firePos - cameraPos.position).magnitude;

        Debug.Log(" controlHand : " + controlHand + " poseAngle : " + poseAngle + "//" + " poseDistance : " + poseDistance);
        GameManager.Instance.controlPointText.text = string.Format(" ");
        bool isMoved = CheckIsCellMoved();

        if (isMoved)
        {
            point = CalcControlPoints(controlHand, hitQuad, poseAngle, poseDistance);
            GameManager.Instance.Score += point;
        }
    }