().enabled"> ().enabled"> ().enabled">
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using omFrame;
using omFrame.Static;
using omFrame.Table;

using Autohand;
using FTS;
using FTS.Device;
using FTS.Component;
using omFrame.Utility;
using UnityEngine.Events;
using DG.Tweening;

public class TailHook_HandsUp_HookUp : TailHook_Gesture
{
    // 이 스크립트는 TriggerEnter용 Gesture Script

    public UnityEvent toQuest;
    public float press = 0;
    public GestureType m_gestureType = GestureType.None;

    [Header("Come On Gesture시 비행기 삭제")]
    // F-16 없애기 위한 변수
    public bool movebool = false;
    public Vector3 m_destroyPoint = new Vector3(45, 0, 44);

    void OnEnable()
    {
        // 이 스크립트가 켜지면 프로그래스바를 생성하기 위해 OnEnable에 선언
        omFrameWork.Inst.Dialog.GetWSHud.OpenProgressBar();

        // 트리거 켜지고
        gameObject.GetComponent<BoxCollider>().enabled = true;
    }

    void OnTriggerEnter(Collider collider)
    {
        TailHook_HandsUp_HookUp tailhookGestureFind = FindObjectOfType<TailHook_HandsUp_HookUp>();
        TailHook_HandsUp_HookUp tailhookGetComponet = GameObject.Find("Player Head Camera").GetComponent<TailHook_HandsUp_HookUp>();
        omObjectJetFighter jetFighter = FindObjectOfType<omObjectJetFighter>();

        switch (base.gestureType)
        {
            case GestureType.HandsUp:
                tailhookGestureFind.gestureType = GestureType.HandsUp;
                if (collider.gameObject.name == "LeftViveTracker_Hand" || collider.gameObject.name == "RightViveTracker_Hand")
                {
                    if (press < 100)
                    {
                        omFrameWork.Inst.Dialog.GetWSHud.SetValue(press);
                        press += 10;
                    }
                    else if (press >= 100)
                    {
                        omFrameWork.Inst.Dialog.GetWSHud.CloseProgressBar(true);
                        press = 0;
                        tailhookGetComponet.enabled = false;

                        toQuest.Invoke();

                        // Box Collider
                        gameObject.GetComponent<BoxCollider>().enabled = false;
                    }
                    if (press >= 40)
                    {
                        // 전진 (MovePoint 로감)
                        GameObject.Find("F-16_Landing").transform.DOMoveX(-325f, 5f);
                    }
                    if (press == 40)
                    {
                        // 사운드
                        jetFighter.audioSource[4].Stop();

                        jetFighter.audioSource[5].clip = jetFighter.combatPlaneSound[5];
                        jetFighter.audioSource[5].Play();
                        jetFighter.audioSource[5].loop = true;
                    }
                }
                break;
            case GestureType.HookUp_aBit:
                tailhookGestureFind.gestureType = GestureType.HookUp_aBit;
                if (collider.gameObject.name == "RightThumbTip")
                {
                    if (press < 100)
                    {
                        omFrameWork.Inst.Dialog.GetWSHud.SetValue(press);
                        press += 20;
                    }
                    else if (press >= 100)
                    {
                        omFrameWork.Inst.Dialog.GetWSHud.CloseProgressBar(true);
                        press = 0;
                        tailhookGetComponet.enabled = false;

                        // 훅 올림
                        GameObject.Find("HookSet").transform.DOLocalRotateQuaternion(Quaternion.Euler(10, 0, 0), 1.5f);

                        toQuest.Invoke();

                        // Box Collider
                        gameObject.GetComponent<BoxCollider>().enabled = false;

                    }
                }
                break;

            case GestureType.HookUp_Full:
                tailhookGestureFind.gestureType = GestureType.HookUp_Full;
                if (collider.gameObject.name == "RightThumbTip")
                {
                    if (press < 100)
                    {
                        omFrameWork.Inst.Dialog.GetWSHud.SetValue(press);
                        press += 20;
                    }
                    else if (press >= 100)
                    {
                        omFrameWork.Inst.Dialog.GetWSHud.CloseProgressBar(true);
                        press = 0;
                        tailhookGetComponet.enabled = false;

                        // 훅 올림
                        GameObject.Find("HookSet").transform.DOLocalRotateQuaternion(Quaternion.Euler(30, 0, 0), 2f);

                        toQuest.Invoke();

                        // Box Collider
                        gameObject.GetComponent<BoxCollider>().enabled = false;
                    }
                }
                break;

            case GestureType.ComeOn:
                tailhookGestureFind.gestureType = GestureType.ComeOn;
                if (collider.gameObject.name == "LeftViveTracker_Hand" || collider.gameObject.name == "RightViveTracker_Hand")
                {
                    if (press < 100)
                    {
                        omFrameWork.Inst.Dialog.GetWSHud.SetValue(press);
                        press += 10;
                    }
                    else if (press >= 100)
                    {
                        omFrameWork.Inst.Dialog.GetWSHud.CloseProgressBar(true);
                        press = 0;
                        tailhookGetComponet.enabled = false;

                        toQuest.Invoke();

                        // Box Collider
                        gameObject.GetComponent<BoxCollider>().enabled = false;
                    }
                    if (press >= 40)
                    {
                        // 여기에 비행기 오는거 추가
                        if (movebool == true)
                        {
                            GameObject.FindObjectOfType<omObjectJetFighter>().audioSource[3].Play();
                            GameObject.Find("F-16_Landing").transform.DOMoveX(48f, 50f);
                        }
                        // Sound 변경 구간
                        jetFighter.audioSource[0].clip = jetFighter.combatPlaneSound[0];
                        jetFighter.audioSource[0].Play();
                        jetFighter.audioSource[0].loop = true;
                    }
                }
                break;
        }
    }
    #region Finger Vibrate Set
    // Finger Vibrate + Pressbar On
    void VibrateFingerOn()
    {
        omFrameWork.Inst.VR.StartVibrateFingerInTime(FTS.HandType.Left, VibrateFingerType.All, 7, 0.1f);
        omFrameWork.Inst.VR.StartVibrateFingerInTime(FTS.HandType.Right, VibrateFingerType.All, 7, 0.1f);

        omFrameWork.Inst.Dialog.GetWSHud.SetValue(press);
    }

    // Finger Vibrate + Pressbar Off + Press Gage Reset
    void VibrateFingerOff()
    {
        omFrameWork.Inst.VR.StopVibrateFinger(FTS.HandType.Left, VibrateFingerType.All);
        omFrameWork.Inst.VR.StopVibrateFinger(FTS.HandType.Right, VibrateFingerType.All);

        omFrameWork.Inst.Dialog.GetWSHud.CloseProgressBar(true);

        press = 0;
    }
    #endregion

    #region 다이어로그 관련
    public void Debuging_Dialog()
    {
        // 1~9 숫자키 눌러 다이얼로그 테스트
        if ((Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) && Input.GetKeyDown(KeyCode.Alpha1))
        {
            omLog.LogChannel(eLogChannel.Framework, string.Format("Debuging_Dialog > HudBase"));

            //허드 테스트
            //omFrameWork.Inst.Dialog.GetWSHud.StartAllHudInfo();
            //omFrameWork.Inst.Dialog.GetWSHud.SetTitleText(omUIHelper.TestGetScriptTableID());
            //페이드 인아웃
            //omFrameWork.Inst.Dialog.GetWSHud.SetCameraFollow(camera);
            omFrameWork.Inst.Dialog.GetWSHud.FadeOutInUI(1, 1, 1, 1);
            //tts테스트
            //omFrameWork.Inst.Dialog.GetWSHud.SetTitleText(7002, true);
            //omFrameWork.Inst.Dialog.GetWSHud.SetInfoText(7005, true);
            //프로그래스바 테스트
            //omFrameWork.Inst.Dialog.GetWSHud.OpenProgressBar();
        }
        else if ((Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) && Input.GetKeyDown(KeyCode.Alpha2))
        {
            omLog.LogChannel(eLogChannel.Framework, string.Format("Debuging_Dialog > Marker"));

            //마커 테스트
            omFrameWork.Inst.Dialog.GetWSMarker.OpenMaker(MarkerViewType.IMAGE, omUIHelper.TestGetSpriteTableID(), Vector3.zero, 200, 200, Quaternion.identity);
        }
        else if ((Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) && Input.GetKeyDown(KeyCode.Alpha3))
        {
            omLog.LogChannel(eLogChannel.Framework, string.Format("Debuging_Dialog > HandTouch"));

            //핸드터치 테스트
            omFrameWork.Inst.Dialog.GetWSHandTouch.OpenTouch(omUIHelper.TestGetSpriteTableID(), Vector3.zero, 350, 350, Quaternion.identity, null);
        }
        else if ((Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) && Input.GetKeyDown(KeyCode.Alpha4))
        {
            omLog.LogChannel(eLogChannel.Framework, string.Format("Debuging_Dialog > ProgressBar"));

            //오브젝트 프로그래스바 테스트
            omFrameWork.Inst.Dialog.GetWSProgressBar.OpenProgressBar(Vector3.zero, 300, 150, Quaternion.identity, 100);
        }
        else if ((Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) && Input.GetKeyDown(KeyCode.Alpha5))
        {
            omLog.LogChannel(eLogChannel.Framework, string.Format("Debuging_Dialog > HudEmoji"));

            //허드 이모지 테스트
            omFrameWork.Inst.Dialog.GetWSHud.OpenInfoAni(HudEmojiSignType.Motion2, 0.5f);
        }
        else if ((Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) && Input.GetKeyDown(KeyCode.Alpha6))
        {
            omLog.LogChannel(eLogChannel.Framework, string.Format("Debuging_Dialog > Alpha6"));
        }
        else if ((Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) && Input.GetKeyDown(KeyCode.Alpha7))
        {
            omLog.LogChannel(eLogChannel.Framework, string.Format("Debuging_Dialog > Alpha7"));
        }
        else if ((Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) && Input.GetKeyDown(KeyCode.Alpha8))
        {
            omLog.LogChannel(eLogChannel.Framework, string.Format("Debuging_Dialog > Alpha8"));
        }
        else if ((Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift)) && Input.GetKeyDown(KeyCode.Alpha9))
        {
            omLog.LogChannel(eLogChannel.Framework, string.Format("Debuging_Dialog > Alpha9"));
        }
    }
    #endregion

}