using UnityEngine;
using UnityEngine.UI;
public class StylishButton : MonoBehaviour
{
public Button button;
public Text buttonText;
private Color normalColor;
private Color hoverColor;
public void Initialize(string text, Color color, UnityEngine.Events.UnityAction onClick)
{
buttonText.text = text;
normalColor = color;
hoverColor = color * new Color(1f, 1f, 1f, 0.8f);
button.onClick.AddListener(onClick);
button.GetComponent<Image>().color = normalColor;
button.onClick.AddListener(OnHover);
}
private void OnHover()
{
button.GetComponent<Image>().color = hoverColor;
}
private void OnMouseExit()
{
button.GetComponent<Image>().color = normalColor;
}
}
public class MainComponent : MonoBehaviour
{
public GameObject loginPanel;
public GameObject chatPanel;
public InputField usernameInput;
public InputField passwordInput;
public InputField messageInput;
public Text currentTimeText;
public Text onlineStatusText;
public GameObject messagePrefab;
public Transform messageContent;
private bool isLoggedIn = false;
private string[] messages;
void Start()
{
UpdateCurrentTime();
InvokeRepeating("UpdateCurrentTime", 1f, 1f);
}
void UpdateCurrentTime()
{
currentTimeText.text = System.DateTime.Now.ToString("HH:mm:ss");
onlineStatusText.text = Application.internetReachability == NetworkReachability.NotReachable ? "OFFLINE" : "ONLINE";
}
public void HandleLogin()
{
if (usernameInput.text == "240866" && passwordInput.text == "15081987")
{
isLoggedIn = true;
chatPanel.SetActive(true);
loginPanel.SetActive(false);
}
}
public void HandleSendMessage()
{
if (!string.IsNullOrEmpty(messageInput.text))
{
InstantiateMessage(messageInput.text, "user");
messageInput.text = "";
// Handle AI response here
}
}
private void InstantiateMessage(string content, string role)
{
GameObject message = Instantiate(messagePrefab, messageContent);
Message messageScript = message.GetComponent<Message>();
messageScript.SetMessage(content, role);
}
public void ClearChat()
{
foreach (Transform child in messageContent)
{
Destroy(child.gameObject);
}
}
public void HandleLogout()
{
isLoggedIn = false;
chatPanel.SetActive(false);
loginPanel.SetActive(true);
ClearChat();
}
}
// Message Class
public class Message : MonoBehaviour
{
public Text messageText;
public Text roleText;
public void SetMessage(string content, string role)
{
messageText.text = content;
roleText.text = role;
}
}