added transition images system
This commit is contained in:
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
using TMPro;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class DialogBoxes : MonoBehaviour
|
||||
{
|
||||
@@ -12,19 +13,46 @@ public class DialogBoxes : MonoBehaviour
|
||||
private TMP_Text textField;
|
||||
private int messageCount = 0;
|
||||
|
||||
[Header("Images:")]
|
||||
[SerializeField] Image backgroundImageObject;
|
||||
[SerializeField] Sprite[] images;
|
||||
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
textField = this.gameObject.GetComponent<TMP_Text>();
|
||||
ReconfigureSpriteArray();
|
||||
textField.text = dialogMessages[0];
|
||||
backgroundImageObject.sprite = images[0];
|
||||
}
|
||||
|
||||
void OnAdvanceDialog() {
|
||||
messageCount += 1;
|
||||
if (messageCount < dialogMessages.Length) {
|
||||
textField.text = dialogMessages[messageCount];
|
||||
backgroundImageObject.sprite = images[messageCount];
|
||||
} else { // no more dialog messages, advance the scene
|
||||
GameObject.Find("SceneManager").GetComponent<SceneController>().NextScene();
|
||||
}
|
||||
}
|
||||
|
||||
void ReconfigureSpriteArray() {
|
||||
// resize if need to
|
||||
if (images.Length != dialogMessages.Length) {
|
||||
Sprite[] newImagesArray = new Sprite[dialogMessages.Length];
|
||||
for (int i = 0; i < newImagesArray.Length; i++) {
|
||||
newImagesArray[i] = images[i];
|
||||
}
|
||||
images = newImagesArray;
|
||||
}
|
||||
|
||||
// update empty slots
|
||||
for (int i = 1; i < images.Length; i++) {
|
||||
if (images[i] == null ) {
|
||||
images[i] = images[i-1];
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user