using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LiveSceneManager : SingletonMono<LiveSceneManager>
{
    [HideInInspector]
    public FirstPersonController firstPersonController;
    [HideInInspector]
    public GameObject currentTool;
    public Transform spawnToolPos;
    public Transform tMDTips;
    public string triggerName;

    protected override void Awake()
    {
        base.Awake();
        firstPersonController = GameObject.FindGameObjectWithTag("Player").GetComponent<FirstPersonController>();
        tMDTips.gameObject.SetActive(false);
    }
    public void SetSpawnToolInfo(GameObject tool)
    {
        currentTool = tool;
        currentTool.transform.parent = Camera.main.transform;
        currentTool.transform.localPosition = spawnToolPos.localPosition;
        currentTool.transform.localEulerAngles = spawnToolPos.localEulerAngles;
        if (currentTool.GetComponent<Tool_Base>())
            currentTool.GetComponent<Tool_Base>().SetHeadPosAndEulerang(currentTool.transform.localPosition, currentTool.transform.localEulerAngles);
        if (currentTool.GetComponent<Device_Base>())
            currentTool.GetComponent<Device_Base>().SetHeadPosAndEulerang(currentTool.transform.localPosition, currentTool.transform.localEulerAngles);
        tMDTips.gameObject.SetActive(true);
        if (currentTool.name.Equals("����֤"))
        {
            GameManager.UIMgr.ShowPanel<UI_PlayerSessionPanel>(E_UI_Layer.Mid, (p) =>
            {
                p.Init(currentTool.name, "���ã�����xx���繫˾Ա���������ҵĹ���֤����������Ҫ�Թ󻧸������ܼ�����", (intTemp) =>
                {
                    GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(intTemp, true);
                    ScoreManager.instance.Check(currentTool.name, null);
                    if (currentTool != null)
                        Destroy(currentTool);
                });
            });
            tMDTips.gameObject.SetActive(false);
            currentTool.transform.localEulerAngles = new Vector3(90, 0, 0);

        }
        if (currentTool.name.Equals("�������ߵ��ܱ�"))
        {
            tMDTips.gameObject.SetActive(false);
            currentTool.transform.localEulerAngles = new Vector3(-90, 0, -180);
        }
    }

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            if (currentTool != null)
            {
                if (GameManager.ProcessMgr.IsRightSubProcessStepsTriggerID(triggerName, true) == 0)
                {
                    Debug.Log("Escape");
                    tMDTips.gameObject.SetActive(false);
                    Destroy(currentTool);
                }
            }
        }
    }

    public void OnCheckSubProcess()
    {
        tMDTips.gameObject.SetActive(false);
        Destroy(currentTool);
    }
}