using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
using System;
public class UiHandler : MonoBehaviour
{
private ApiHandler apiHandler;
public List<GameObject> listGameObjects;
public List<int> id;
public GameObject list;
public Transform container;
public GameObject popupMenu;
private Button button;
private void Start()
{
apiHandler = FindAnyObjectByType<ApiHandler>();
AllClients();
for (int i = 0; i < listGameObjects.Count; i++)
{
button = listGameObjects[i].GetComponent<Button>();
button.onClick.AddListener(() => ShowInfo(button));
}
}
private void Update()
{
}
public void ShowInfo(Button button)
{
Debug.Log(button.transform.GetChild(0).GetComponent<TextMeshProUGUI>().text);
StartCoroutine(PopUp());
}
IEnumerator PopUp()
{
//for (int i = 0; i < listGameObjects.Count; i++)
//{
// for (int j = 0; j < apiHandler.clients().Length; j++)
// {
// if (listGameObjects[i].transform.GetChild(0).GetComponent<TextMeshProUGUI>().text ==
// apiHandler.clients()[j].label)
// {
// Debug.Log(apiHandler.clients()[j].id);
// }
// else
// {
// Debug.Log("No");
// }
// }
//}
popupMenu.SetActive(true);
// popupMenu.transform.GetChild(0). // name Text
// GetComponent<TextMeshProUGUI>().SetText(kvp.Value.name.ToString());
// popupMenu.transform.GetChild(1). // points Text
//GetComponent<TextMeshProUGUI>().SetText(kvp.Value.points.ToString());
// popupMenu.transform.GetChild(2). // adress text
//GetComponent<TextMeshProUGUI>().SetText(kvp.Value.address.ToString());
yield return new WaitForSeconds(0.5f);
popupMenu.SetActive(false);
}
public void HandelFilter(int val)
{
if (val == 0)
{
AllClients();
}
else if (val == 1)
{
OnlyManagers();
}
else if (val == 2)
{
OnlyNonManagers();
}
}
private void OnlyNonManagers()
{
for (int i = 0; i < listGameObjects.Count; i++)
{
Destroy(listGameObjects[i].gameObject);
}
for (int i = 0; i < apiHandler.clients().Length; i++)
{
if (apiHandler.clients()[i].isManager == false)
{
GameObject gameObject = Instantiate(list, transform.position, Quaternion.identity);
gameObject.transform.GetChild(0). // label Text
GetComponent<TextMeshProUGUI>().SetText(apiHandler.clients()[i].label.ToString());
foreach (KeyValuePair<int, Data> kvp in apiHandler.data())
{
if (apiHandler.clients()[i].id == kvp.Key)
gameObject.transform.GetChild(1). // point Text
GetComponent<TextMeshProUGUI>().SetText(kvp.Value.points.ToString());
}
listGameObjects.Add(gameObject);
gameObject.transform.SetParent(container);
}
}
}
private void OnlyManagers()
{
for (int i = 0; i < listGameObjects.Count; i++)
{
Destroy(listGameObjects[i].gameObject);
}
for (int i = 0; i < apiHandler.clients().Length; i++)
{
if (apiHandler.clients()[i].isManager == true)
{
GameObject gameObject = Instantiate(list, transform.position, Quaternion.identity);
gameObject.transform.GetChild(0). // label Text
GetComponent<TextMeshProUGUI>().SetText(apiHandler.clients()[i].label.ToString());
foreach (KeyValuePair<int, Data> kvp in apiHandler.data())
{
if (apiHandler.clients()[i].id == kvp.Key)
gameObject.transform.GetChild(1). // point Text
GetComponent<TextMeshProUGUI>().SetText(kvp.Value.points.ToString());
}
listGameObjects.Add(gameObject);
gameObject.transform.SetParent(container);
}
}
}
private void AllClients()
{
for (int i = 0; i < listGameObjects.Count; i++)
{
Destroy(listGameObjects[i].gameObject);
}
for (int i = 0; i < apiHandler.clients().Length; i++)
{
GameObject gameObject = Instantiate(list, transform.position, Quaternion.identity);
gameObject.transform.GetChild(0). // label Text
GetComponent<TextMeshProUGUI>().SetText( apiHandler.clients()[i].label.ToString());
foreach (KeyValuePair<int , Data> kvp in apiHandler.data())
{
if(apiHandler.clients()[i].id == kvp.Key)
gameObject.transform.GetChild(1). // point Text
GetComponent<TextMeshProUGUI>().SetText(kvp.Value.points.ToString());
}
listGameObjects.Add(gameObject);
gameObject.transform.SetParent(container);
}
}
}