32 lines
941 B
C#
32 lines
941 B
C#
using System;
|
|
using UnityEngine;
|
|
|
|
namespace Quests.Runtime
|
|
{
|
|
[CreateAssetMenu(fileName = "QuestEventSO", menuName = "Guild Tycoon/Quests/Event", order = 0)]
|
|
public class QuestEventSO : ScriptableObject
|
|
{
|
|
[SerializeField] string m_assetGuid;
|
|
public QuestEvent m_data;
|
|
public Guid AssetGuid => Guid.Parse(m_assetGuid);
|
|
|
|
public QuestEvent ToQuestEventClass(int time, Guid? id = null)
|
|
{
|
|
QuestEvent eventQuest = new QuestEvent(AssetGuid, this, time);
|
|
|
|
return eventQuest;
|
|
}
|
|
|
|
#if UNITY_EDITOR
|
|
private void OnValidate()
|
|
{
|
|
Guid tempGuid;
|
|
if (string.IsNullOrEmpty(m_assetGuid) || !Guid.TryParse(m_assetGuid, out tempGuid))
|
|
{
|
|
m_assetGuid = Guid.NewGuid().ToString();
|
|
UnityEditor.EditorUtility.SetDirty(this);
|
|
}
|
|
}
|
|
#endif
|
|
}
|
|
}
|