Advertisement
Kevany

Unity - Code Show Message Test Bug

Mar 21st, 2023
704
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.57 KB | None | 0 0
  1. // Script name : Game_Event
  2. public class Game_Event : Game_Base
  3. {
  4.     void Awake() {
  5.         Game_Base.BaseAwake(); // Get Variables
  6.     }
  7.  
  8.     [SerializeField]
  9.     public Game_PageEvent pageEvent = new();
  10.  
  11.     bool isStart = false;
  12.     bool IsStart {get {return isStart;}}
  13.  
  14.     public void EventStart() {
  15.         if (IsStart) return;
  16.         isStart = true;
  17.         Debug.Log("Start Event !");
  18.         gameParty.SetMoney(20);
  19.         Debug.Log(gameParty.Money);
  20.         // SceneManager.LoadSceneAsync("Scene_Message", LoadSceneMode.Additive);
  21.         // GameManager.gameInterpreter.Pause();
  22.         // Debug.Log(GameManager.gameInterpreter.isGamePause);
  23.         GameManager.gameMessage.AddMessage("Salut sa va ?");
  24.         GameManager.gameMessage.AddMessage("Tu va bien ?");
  25.         GameManager.gameMessage.ShowDialogue();
  26.     }
  27. }
  28.  
  29. // Script name : Game_Message
  30. public class Game_Message : MonoBehaviour
  31. {
  32.  
  33.     public List<string> dialogue = new List<string>();
  34.     public int index;
  35.     public float wordSpeed = 0.06f;
  36.     bool isMessage = false;
  37.  
  38.     public void AddMessage(string text) {
  39.         dialogue.Add(text);
  40.     }
  41.  
  42.     public void ShowDialogue() {
  43.         if (!isMessage) {
  44.             SceneManager.LoadSceneAsync("Scene_Message", LoadSceneMode.Additive);
  45.             isMessage = true;
  46.         }
  47.     }
  48.  
  49.     public void HideDialogue() {
  50.         SceneManager.UnloadSceneAsync("Scene_Message");
  51.         dialogue.Clear();
  52.     }
  53.  
  54.     public bool isNextMessage() {
  55.         if (index < dialogue.Count) {
  56.             index += 1;
  57.             // Debug.Log(index);
  58.             return true;
  59.         }
  60.         return false;
  61.         // } else {
  62.         //     isMessage = false;
  63.         // }
  64.     }
  65. }
  66.  
  67. // Script name : Scene_Message
  68. public class Scene_Message : MonoBehaviour
  69. {
  70.     Window_Base windowMessage;
  71.     public TMPro.TMP_Text messageBox;
  72.     int index = 0;
  73.  
  74.     void Awake() {
  75.         windowMessage = GameObject.Find("WindowMessage").GetComponent<Window_Base>();
  76.     }
  77.  
  78.     void Start()
  79.     {
  80.         windowMessage.enabled = true;
  81.         messageBox.text = "";
  82.         StartCoroutine(Typing());
  83.     }
  84.  
  85.     void FixedUpdate() {
  86.         if (Input.GetKeyDown(KeyCode.Space)) {
  87.             if (GameManager.gameMessage.isNextMessage()) {
  88.                 // index++;
  89.                 messageBox.text = "";
  90.                 finishText = false;
  91.                 StartCoroutine(Typing());
  92.             } else {
  93.                 GameManager.gameMessage.HideDialogue();
  94.             }
  95.         }
  96.     }
  97.  
  98.     IEnumerator Typing() {
  99.         Debug.Log("Affiche " + GameManager.gameMessage.dialogue[GameManager.gameMessage.index]);
  100.         foreach(char letter in GameManager.gameMessage.dialogue[GameManager.gameMessage.index].ToCharArray()) {
  101.             messageBox.text += letter;
  102.             yield return new WaitForSeconds(GameManager.gameMessage.wordSpeed);
  103.         }
  104.     }
  105.  
  106.     bool finishText = false;
  107.     void SpaceOneClickNoFinishText() {
  108.         messageBox.text = GameManager.gameMessage.dialogue[GameManager.gameMessage.index];
  109.         finishText = true;
  110.     }
  111. }
  112.  
  113. // Script name : Game_Interpreter
  114. public class Game_Interpreter : MonoBehaviour
  115. {
  116.  
  117.     bool gamePause = false;
  118.  
  119.     public bool isGamePause {get{return gamePause;}}
  120.  
  121.     GameState gameState = GameState.Map;
  122.     enum GameState {
  123.         Map,
  124.         Menu,
  125.         Battle
  126.     }
  127.  
  128.     public void Pause() {
  129.         gamePause = true;
  130.         // Time.timeScale = 0f;
  131.     }
  132.  
  133.     public void Resume() {
  134.         gamePause = false;
  135.         // Time.timeScale = 1f;
  136.     }
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement