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 TaillHook_HandsUpDelay_Cross : TailHook_Gesture
{
// 이 스크립트는 TriggerStay용 Gesture Script
public UnityEvent toQuest;
public float press = 0;
public GestureType m_gestureType = GestureType.None;
public bool BackMovebool = false;
public Vector3 m_BackPoint = new Vector3(45, 0, 44);
public bool RightHand = false;
public bool LeftHand = false;
GameObject Cable1;
GameObject Cable2;
bool ForSoundChangeBool = false;
void OnEnable()
{
// 이 스크립트가 켜지면 프로그래스바를 생성하기 위해 OnEnable에 선언
omFrameWork.Inst.Dialog.GetWSHud.OpenProgressBar();
gameObject.GetComponent<BoxCollider>().enabled = true;
Cable1 = GameObject.Find("Cable1");
Cable2 = GameObject.Find("Cable2");
}
void F16_DestroyHook()
{
if (BackMovebool == true)
{
//뒤로가고 후크 삭제
GameObject.Find("F-16_Landing").transform.DOLocalMoveX(-345f, 8f);
}
// 훅에 걸린 라인렌더러 삭제 (케이블 오브젝트 삭제하는게 나은거 같음)
// GameObject.Find("Cable1").SetActive(false);
// GameObject.Find("Cable2").SetActive(false);
//test1.gameObject.GetComponent<omCable>().lineRenderer.enabled = false;
//test2.gameObject.GetComponent<omCable>().lineRenderer.enabled = false;
}
IEnumerator GaugeCoroutine()
{
press += 0.025f;
yield return new WaitForSeconds(1f);
}
void OnTriggerEnter(Collider coll)
{
if (coll.gameObject.name == "DestroyCable" || coll.gameObject.name == "Hook")
{
Destroy(Cable1);
Destroy(Cable2);
}
}
void OnTriggerStay(Collider collider)
{
TaillHook_HandsUpDelay_Cross tailhookGestureFind = FindObjectOfType<TaillHook_HandsUpDelay_Cross>();
TaillHook_HandsUpDelay_Cross tailhookGetComponet = GameObject.Find("Player Head Camera").GetComponent<TaillHook_HandsUpDelay_Cross>();
omObjectJetFighter jetFighter = FindObjectOfType<omObjectJetFighter>();
#region collider bool Check > true
if (collider.gameObject.name == "LeftViveTracker_Hand")
{
LeftHand = true;
}
if (collider.gameObject.name == "RightViveTracker_Hand")
{
RightHand = true;
}
#endregion
switch (base.gestureType)
{
case GestureType.HandsUpDelay:
tailhookGestureFind.gestureType = GestureType.HandsUpDelay;
omCable cable1 = GameObject.Find("Cable1").GetComponent<omCable>();
omCable cable2 = GameObject.Find("Cable2").GetComponent<omCable>();
if (LeftHand == true && RightHand == true)
{
if (press < 100)
{
omFrameWork.Inst.Dialog.GetWSHud.SetValue(press);
StartCoroutine(GaugeCoroutine());
}
if (press >= 100)
{
omFrameWork.Inst.Dialog.GetWSHud.CloseProgressBar(true);
press = 0;
F16_DestroyHook();
toQuest.Invoke();
// Sound 변경 구간
Debug.Log(" ************** Sound Change Test11 ************* ");
jetFighter.audioSource[5].Stop();
gameObject.GetComponent<BoxCollider>().enabled = false;
cable1.cableTrigger = false;
cable2.cableTrigger = false;
//cable1.lineRenderer.enabled = false;
//cable2.lineRenderer.enabled = false;
GameObject.Find("Cable1").SetActive(false);
GameObject.Find("Cable2").SetActive(false);
}
}
break;
case GestureType.Cross:
tailhookGestureFind.gestureType = GestureType.Cross;
if (LeftHand == true && RightHand == true)
{
if (press < 100)
{
omFrameWork.Inst.Dialog.GetWSHud.SetValue(press);
StartCoroutine(GaugeCoroutine());
}
else if (press >= 100)
{
omFrameWork.Inst.Dialog.GetWSHud.CloseProgressBar(true);
press = 0;
toQuest.Invoke();
// Box Collider
gameObject.GetComponent<BoxCollider>().enabled = false;
}
}
break;
}
}
void OnTriggerExit(Collider collider)
{
#region collider bool Check > false
if (collider.gameObject.name == "LeftViveTracker_Hand")
{
LeftHand = false;
}
if (collider.gameObject.name == "RightViveTracker_Hand")
{
RightHand = false;
}
#endregion
}
#region Finger Vibrate Set
// Finger Vibrate + Pressbar On
void VibrateFingerOn()
{
omFrameWork.Inst.Dialog.GetWSHud.SetValue(press);
omFrameWork.Inst.VR.StartVibrateFingerInTime(FTS.HandType.Left, VibrateFingerType.All, 7, 0.1f);
omFrameWork.Inst.VR.StartVibrateFingerInTime(FTS.HandType.Right, VibrateFingerType.All, 7, 0.1f);
}
// 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
}