﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;

public class TextFieldOneDialog : MonoBehaviour
{
    public Action<string> action;

    public GameObject panel;

    public InputField inputField;

    public static void Show(Action<string> action)
    {
        Present("", action);
    }

    public static void Show(string placeHolder, Action<string> action)
    {
        Present(placeHolder, action);
    }

    public static void Present(string placeHolder, Action<string> action)
    {
        GameObject textFieldOneDialogPanel = GameObject.Find("TextFieldOneDialogPanel");

        Image image = textFieldOneDialogPanel.GetComponent<Image>();
        image.enabled = true;

        TextFieldOneDialog textFieldOneDialog = textFieldOneDialogPanel.GetComponent<TextFieldOneDialog>();
        textFieldOneDialog.inputField.text = placeHolder;
        textFieldOneDialog.panel.SetActive(true);
        textFieldOneDialog.action = action;
    }

    public static void Dismiss()
    {
        GameObject textFieldOneDialogPanel = GameObject.Find("TextFieldOneDialogPanel");

        Image image = textFieldOneDialogPanel.GetComponent<Image>();
        image.enabled = false;

        TextFieldOneDialog textFieldOneDialog = textFieldOneDialogPanel.GetComponent<TextFieldOneDialog>();
        textFieldOneDialog.panel.SetActive(false);
    }

    public void OnClick(int tag)
    {
        if (tag == 0)
        {
            action.Invoke(inputField.text);
        }
        else
        {
            action.Invoke(null);
        }
        
        Dismiss();
    }
}
