| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 | 
							- // Amplify Shader Editor - Visual Shader Editing Tool
 
- // Copyright (c) Amplify Creations, Lda <info@amplify.pt>
 
- using UnityEditor;
 
- using UnityEngine;
 
- using System.Collections.Generic;
 
- namespace AmplifyShaderEditor
 
- {
 
- 	public enum MessageSeverity
 
- 	{
 
- 		Normal,
 
- 		Warning,
 
- 		Error
 
- 	}
 
- 	public class GenericMessageData
 
- 	{
 
- 		public string message;
 
- 		public MessageSeverity severity;
 
- 		public bool console;
 
- 		public GenericMessageData( string msg, MessageSeverity svrty, bool csle )
 
- 		{
 
- 			message = msg;
 
- 			severity = svrty;
 
- 			console = csle;
 
- 		}
 
- 	}
 
- 	class GenericMessageUI
 
- 	{
 
- 		public delegate void OnMessageDisplay( string message, MessageSeverity severity, bool console );
 
- 		public event OnMessageDisplay OnMessageDisplayEvent;
 
- 		private const double MESSAGE_TIME = 2;
 
- 		private double m_currentMessageStartTime;
 
- 		private Queue<GenericMessageData> m_messageQueue;
 
- 		private bool m_displayingMessage;
 
- 		public GenericMessageUI()
 
- 		{
 
- 			m_messageQueue = new Queue<GenericMessageData>();
 
- 			m_displayingMessage = false;
 
- 			m_currentMessageStartTime = EditorApplication.timeSinceStartup;
 
- 		}
 
- 		
 
- 		public void Destroy()
 
- 		{
 
- 			m_messageQueue.Clear();
 
- 			OnMessageDisplayEvent = null;
 
- 		}
 
- 		public void AddToQueue( string message, MessageSeverity severity, bool console )
 
- 		{
 
- 			m_messageQueue.Enqueue( new GenericMessageData( message, severity, console ) );
 
- 		}
 
- 		public void Log( string message )
 
- 		{
 
- 			m_messageQueue.Enqueue( new GenericMessageData( message, MessageSeverity.Normal, true ) );
 
- 			Debug.Log( message );
 
- 		}
 
- 		public void LogError( string message )
 
- 		{
 
- 			m_messageQueue.Enqueue( new GenericMessageData( message, MessageSeverity.Error, true ) );
 
- 			Debug.LogError( message );
 
- 		}
 
- 		public void LogWarning( string message )
 
- 		{
 
- 			m_messageQueue.Enqueue( new GenericMessageData( message, MessageSeverity.Warning, true ) );
 
- 			Debug.LogWarning( message );
 
- 		}
 
- 		public void CheckForMessages()
 
- 		{
 
- 			if ( m_displayingMessage )
 
- 			{
 
- 				double timeLeft = EditorApplication.timeSinceStartup - m_currentMessageStartTime;
 
- 				if ( timeLeft > MESSAGE_TIME )
 
- 				{
 
- 					m_displayingMessage = false;
 
- 				}
 
- 			}
 
- 			if ( !m_displayingMessage )
 
- 			{
 
- 				if ( m_messageQueue.Count > 0 )
 
- 				{
 
- 					m_displayingMessage = true;
 
- 					GenericMessageData data = m_messageQueue.Dequeue();
 
- 					m_currentMessageStartTime = EditorApplication.timeSinceStartup;
 
- 					if ( OnMessageDisplayEvent != null )
 
- 						OnMessageDisplayEvent( data.message, data.severity, data.console );
 
- 				}
 
- 			}
 
- 		}
 
- 		public void CleanUpMessageStack()
 
- 		{
 
- 			m_displayingMessage = false;
 
- 			m_messageQueue.Clear();
 
- 		}
 
- 		public void StartMessageCounter()
 
- 		{
 
- 			m_displayingMessage = true;
 
- 			m_currentMessageStartTime = EditorApplication.timeSinceStartup;
 
- 		}
 
- 		public bool DisplayingMessage
 
- 		{
 
- 			get { return ( m_displayingMessage || m_messageQueue.Count > 0 ); }
 
- 		}
 
- 	}
 
- }
 
 
  |