CustomAlert

Class name: CustomAlert
Script location: "Assets\Standard Assets\Scripts\CustomAlert.cs"

Description
Classe generica per la creazione di alert personalizzati.

Field summary

attribute description
private string message Messaggio che apparirà nella label
private int id Id della window che contiene l'alert
private bool active_flag Se true mostra l'alert, al contrario la nasconde
private Rect position Rettangolo contenente la finestra
private Rect label_position Rettangolo contenente la label. Coordinate relativa a position
private AudioClip clic Suono che viene riprodotto alla pressione del tasto OK
private GUIStyle style Stile associato al CustomAlert
private int text_lenght Lunghezza del messaggio visualizzato dalla CustomAlert

Method summary

signature description
public CustomAlert (int _id, string _msg) Costruttore. E' possibile impostare l'id della finestra ed il messaggio da visualizzare. Gli alert si collocano sempre al centro dello schermo sopra qualunque altro elemento di gui
public void show() Mostra la CustomAlert se la variabile active_flag è true. Questa funzione deve essere inserita dentro OnGUI
public void setStyle(GUIStyle _style) imposta un GUIStyle personalizzato
public void active(bool _flag) imposta la variabile active_flag
public bool isActive() restituisce il valore di active_flag
private void window_creator(int id) funzione di creazione della finestra. Prende come parametro l'id della CustomAlert
public int getId() Restituisce il valore di id

Usage
La classe CustomAlert permette la creazione e di una finestra di avviso direttamente dallo script che la deve gestire sfruttando il gestore di CustomAlert incluso negli script che disegnano le GUI (TravelModeScript/ComabtInterface).

Esempio:

using UnityEngine;
using System.Collections;

public class LocalTravelScript : MonoBehaviour {

//definisco la variabile che contiene la CustomTetLabel
    private CustomAlert test_alert;

    void Start()
    {
        test_alert = new CustomAlert(1, "T3R rulez");
        test_alert.active(false);

        Camera.mainCamera.GetComponent<TravelModeScript>().add_CA(ref test_alert);
    }

    void OnTriggerEnter(Collider other){
        if(other.tag.Equals("Player")){
                //chiedo, allo script che contiene il mio oggetto, di visualizzare la CustomTextLabe
            Camera.mainCamera.GetComponent<TravelModeScript>().getCa(test_alert.getId()).active(true);
        }
    }

Per utilizzare questo tipo di gestione dell'oggetto CustomAlert è necessario che lo script che disegna la gui (in questo caso il TravelModeScript) erediti da CustomGUIPainter

    void OnGUI()
    {

        //disegna le CTL
        foreach (CustomAlert ctl in CA_to_render.Values)
        {
            ca.show();
        }
    }

Tramite questo semplice ciclo, all'interno della OnGUI è possibile disegnare tutte le CustomAlert attive.

Salvo diversa indicazione, il contenuto di questa pagina è sotto licenza Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License