49 lines
1.5 KiB
C#
49 lines
1.5 KiB
C#
// Copyright (c) Pixel Crushers. All rights reserved.
|
|
|
|
using UnityEngine;
|
|
|
|
namespace PixelCrushers
|
|
{
|
|
|
|
[AddComponentMenu("")] // Use wrapper.
|
|
public class MessageSystemLogger : MonoBehaviour
|
|
{
|
|
|
|
[Tooltip("Log a message when this GameObject sends a message to the Message System.")]
|
|
public bool logWhenSendingMessages;
|
|
|
|
[Tooltip("Log a message when this GameObject receives a message from the Message System.")]
|
|
public bool logWhenReceivingMessages;
|
|
|
|
private void OnEnable()
|
|
{
|
|
if (logWhenSendingMessages)
|
|
{
|
|
MessageSystem.LogWhenSendingMessages(gameObject);
|
|
}
|
|
if (logWhenReceivingMessages)
|
|
{
|
|
if (GetComponent(typeof(IMessageHandler)) == null)
|
|
{
|
|
if (Debug.isDebugBuild) Debug.LogWarning("MessageSystem: " + name + " doesn't have any IMessageHandler components. Can't log when receiving messages.", this);
|
|
}
|
|
else
|
|
{
|
|
MessageSystem.LogWhenReceivingMessages(gameObject);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
if (logWhenSendingMessages)
|
|
{
|
|
MessageSystem.StopLoggingWhenSendingMessages(gameObject);
|
|
}
|
|
if (logWhenReceivingMessages)
|
|
{
|
|
MessageSystem.StopLoggingWhenReceivingMessages(gameObject);
|
|
}
|
|
}
|
|
}
|
|
} |