ZeroVR/ZeroPacientVR/Assets/Octave3D World Builder/Scripts/Messaging System/PrefabMessages.cs

97 lines
3.4 KiB
C#

#if UNITY_EDITOR
using UnityEngine;
namespace O3DWB
{
public class PrefabWasTransferredToCategoryMessage : Message
{
#region Private Variables
private PrefabCategory _sourceCategory;
private PrefabCategory _destinationCategory;
private Prefab _prefab;
#endregion
#region Public Properties
public PrefabCategory SourceCategory { get { return _sourceCategory; } }
public PrefabCategory DestinationCategory { get { return _destinationCategory; } }
public Prefab Prefab { get { return _prefab; } }
#endregion
#region Public Properties
public PrefabWasTransferredToCategoryMessage(Prefab prefab, PrefabCategory sourceCategory, PrefabCategory destinationCategory)
: base(MessageType.PrefabWasTransferredToCategory)
{
_sourceCategory = sourceCategory;
_destinationCategory = destinationCategory;
_prefab = prefab;
}
#endregion
#region Public Static Functions
public static void SendToInterestedListeners(Prefab prefab, PrefabCategory sourceCategory, PrefabCategory destinationCategory)
{
var message = new PrefabWasTransferredToCategoryMessage(prefab, sourceCategory, destinationCategory);
MessageListenerDatabase.Instance.SendMessageToInterestedListeners(message);
}
#endregion
}
public class PrefabWasRemovedFromCategoryMessage : Message
{
#region Private Variables
private PrefabCategory _prefabCategory;
private Prefab _prefabWhichWasRemoved;
#endregion
#region Public Properties
public PrefabCategory PrefabCategory { get { return _prefabCategory; } }
public Prefab PrefabWhichWasRemoved { get { return _prefabWhichWasRemoved; } }
#endregion
#region Public Properties
public PrefabWasRemovedFromCategoryMessage(PrefabCategory prefabCategory, Prefab prefabWhichWasRemoved)
: base(MessageType.PrefabWasRemovedFromCategory)
{
_prefabCategory = prefabCategory;
_prefabWhichWasRemoved = prefabWhichWasRemoved;
}
#endregion
#region Public Static Functions
public static void SendToInterestedListeners(PrefabCategory prefabCategory, Prefab prefabWhichWasRemoved)
{
var message = new PrefabWasRemovedFromCategoryMessage(prefabCategory, prefabWhichWasRemoved);
MessageListenerDatabase.Instance.SendMessageToInterestedListeners(message);
}
#endregion
}
public class NewPrefabWasActivatedMessage : Message
{
#region Private Variables
private Prefab _newActivePrefab;
#endregion
#region Public Properties
public Prefab NewActivePrefab { get { return _newActivePrefab; } }
#endregion
#region Constructors
public NewPrefabWasActivatedMessage(Prefab newActivePrefab)
: base(MessageType.NewPrefabWasActivated)
{
_newActivePrefab = newActivePrefab;
}
#endregion
#region Public Static Functions
public static void SendToInterestedListeners(Prefab newActivePrefab)
{
var message = new NewPrefabWasActivatedMessage(newActivePrefab);
MessageListenerDatabase.Instance.SendMessageToInterestedListeners(message);
}
#endregion
}
}
#endif