Example #1
0
	private static PoseDiff CalculateDiffs(float a, float b, PoseDiff diff)
	{
		float dd = Mathf.Abs (a - b);
		PoseDiff result;
		result.minDiff = Mathf.Min (diff.minDiff, dd);
		result.maxDiff = Mathf.Max (diff.maxDiff, dd);
		result.totalDiff = diff.totalDiff + dd;

		return result;
	}
Example #2
0
    private static PoseDiff CalculateDiffs(float a, float b, PoseDiff diff)
    {
        float    dd = Mathf.Abs(a - b);
        PoseDiff result;

        result.minDiff   = Mathf.Min(diff.minDiff, dd);
        result.maxDiff   = Mathf.Max(diff.maxDiff, dd);
        result.totalDiff = diff.totalDiff + dd;

        return(result);
    }
Example #3
0
    public static PoseDiff CalculatePoseDiffs(PoseData a, PoseData b)
    {
        PoseDiff result = new PoseDiff();

        result = CalculateDiffs(a.leftWing, b.leftWing, result);
        result = CalculateDiffs(a.rightWing, b.rightWing, result);
        //result = CalculateDiffs (a.head.x, b.head.x, result);
        //result = CalculateDiffs (a.head.y, b.head.y, result);
        //result = CalculateDiffs (a.tail.x, b.tail.x, result);
        //result = CalculateDiffs (a.tail.y, b.tail.y, result);

        return(result);
    }
Example #4
0
    private void DoScore()
    {
        for (int i = 0; i < birds.Length; i++)
        {
            if (!birds[i].IsInitialized())
            {
                continue;
            }

            PoseData currentPose = Pose.CalculateFromController(birds[i].GetInput());
            PoseData prevPose    = lastPose[i];

            //compare
            PoseDiff poseDiff = Pose.CalculatePoseDiffs(currentPose, prevPose);

            int randomScoreModifier = Random.Range(5, 10);
            int amount = Mathf.FloorToInt(poseDiff.totalDiff) * randomScoreModifier;
            ScoreHandler.GetInstance().AddScore(i, amount);

            lastPose[i] = currentPose;
        }
        ScoreChanged();
    }
Example #5
0
    //To be called from BeatGUIBar
    public void HitFullBeat(Pose data)
    {
        for (int i = 0; i < birds.Length; i++)
        {
            if (!birds[i].IsInitialized())
            {
                continue;
            }

            ControllerInput input       = birds[i].GetInput();
            PoseData        currentPose = Pose.CalculateFromController(input);

            //compare
            PoseDiff poseDiff = data.CompareWithController(input, 0);
            float    diff     = poseDiff.totalDiff;


            //Log.Weikie("pose difference:" + diff);
            PlayerScoreFeedback(diff, i);

            lastPose[i] = currentPose;
        }
        ScoreChanged();
    }
Example #6
0
	public static PoseDiff CalculatePoseDiffs(PoseData a, PoseData b)
	{
		PoseDiff result = new PoseDiff ();

		result = CalculateDiffs (a.leftWing, b.leftWing, result);
		result = CalculateDiffs (a.rightWing, b.rightWing, result);
		//result = CalculateDiffs (a.head.x, b.head.x, result);
		//result = CalculateDiffs (a.head.y, b.head.y, result);
		//result = CalculateDiffs (a.tail.x, b.tail.x, result);
		//result = CalculateDiffs (a.tail.y, b.tail.y, result);

		return result;
	}