using OpenCVForUnity.CoreModule;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class HeadTurnLeft : PoseBase
{
    private bool _isRunning = false;

    public override bool CheckPose(List<Point> points)
    {
        // 必须包含 Nose 和 LEar 和 Neck 的点位
        if (!YogaManager.Instance.ActionCheckPoints(points))
            return false;

        var basePoint = YogaManager.Instance.Points;
        if (!YogaManager.Instance.ActionCheckPoints(basePoint))
            return false;

        //左转头检测

        var headVector = ("REye".vector(points) - "LEye".vector(points)).normalized;
        var headBaseVector = ("RElbow".vector(basePoint) - "LElbow".vector(basePoint)).normalized;

        var noseVector = ("Nose".vector(points) - "Neck".vector(points)).normalized;
        var noseBaseVector = ("Nose".vector(basePoint) - "Neck".vector(basePoint)).normalized;

        if (Vector2.Dot(headVector, noseVector) > Vector2.Dot(headBaseVector, noseBaseVector) + 0.1f)
            return true;
        
        return false;
    }
}