Petition-to-the-Gods-V3/Assets/Scripts/Client/ClientLastWordsSceneController.cs
2025-11-18 05:08:27 +08:00

96 lines
2.0 KiB
C#

using System;
using System.Collections;
using TMPro;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class ClientLastWordsSceneController : MonoBehaviour
{
public static ClientLastWordsSceneController Instance;
public static string words;
public GameObject wordsPanel;
public GameObject surveyPanel;
public Button wordsNextButton;
public Button surveySubmitButton;
public TMP_Text wordsText;
private void Awake()
{
Instance = this;
}
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
if (wordsNextButton)
{
wordsNextButton.onClick.AddListener(wordsNextButton_onClick);
}
if (surveySubmitButton)
{
surveySubmitButton.onClick.AddListener(surveySubmitButton_onClick);
}
init();
}
public void init()
{
processStep(1);
if (wordsText)
{
wordsText.text = words;
}
}
private void surveySubmitButton_onClick()
{
if (ClientMessageHandler.Instance)
{
GameMessageSurvey msgObj = new GameMessageSurvey {
val1 = 1,
val2 = 2,
val3 = 3,
text1 = ""
};
string payload = JsonUtility.ToJson(msgObj);
ClientMessageHandler.Instance.SendMessageToServer("gameSurveyFinish", payload);
}
StartCoroutine(LoadNextScene());
}
private void wordsNextButton_onClick()
{
processStep(2);
}
public void processStep(int step)
{
if (wordsPanel)
{
wordsPanel.SetActive(step == 1);
}
if (surveyPanel)
{
surveyPanel.SetActive(step == 2);
}
}
IEnumerator LoadNextScene()
{
yield return new WaitForSeconds(0f);
SceneManager.LoadScene("ClientFinalScene");
}
// Update is called once per frame
void Update()
{
}
}