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