using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
using System;
namespace Tech3C
{
///
/// Simple demo that creates UI programmatically
/// Just attach this script to any GameObject in your scene
///
public class Tech3CSimpleDemo : MonoBehaviour
{
[Header("Configuration")]
public string clientId = "your_client_id";
public string clientSecret = "your_client_secret";
private Canvas canvas;
private Text logText;
private AuthCallback authCallback;
private LogoutCallback logoutCallback;
private GameObject dialogPanel;
private Text dialogText;
private Button dialogCloseButton;
private void Start()
{
EnsureEventSystem();
CreateUI();
SetupCallbacks();
// Auto-initialize SDK
if (!string.IsNullOrEmpty(clientId) && !string.IsNullOrEmpty(clientSecret))
{
Log($"Initializing Tech3C SDK...\n Client ID: {clientId}");
Tech3CSDK.Instance.Initialize(clientId, clientSecret);
if (Tech3CSDK.Instance.IsInitialized)
{
Log("✓ SDK Initialized Successfully!");
}
else
{
Log("✗ Failed to initialize SDK");
}
}
else
{
Log("⚠ Client ID and/or Client Secret not set. Please configure in Inspector.");
}
Debug.Log("[Tech3C Demo] Tech3C SDK Simple Demo Started");
}
private void EnsureEventSystem()
{
if (EventSystem.current == null)
{
GameObject eventSystemGO = new GameObject("EventSystem");
eventSystemGO.AddComponent();
eventSystemGO.AddComponent();
Debug.Log("[Tech3C Demo] EventSystem created");
}
}
private void CreateUI()
{
// Create Canvas
GameObject canvasGO = new GameObject("Tech3CDemoCanvas");
canvasGO.transform.SetParent(transform);
canvas = canvasGO.AddComponent