Files
YachtDice/Assets/Plugins/AllIn13DShader/Editor/EffectsExtraData.cs
2026-02-23 22:01:07 +07:00

63 lines
1.0 KiB
C#

using UnityEngine;
namespace AllIn13DShader
{
public class EffectsExtraData : ScriptableObject
{
[System.Serializable]
public class ExtraData
{
public string effectID;
public string docURL;
public MessageByKeywords[] customMessages;
}
[System.Serializable]
public class MessageByKeywords
{
[TextArea]public string message;
public string[] keywords;
public bool IsMessageEnabled(AbstractMaterialInfo targetMatInfo)
{
bool res = false;
if (keywords.Length == 0)
{
res = true;
}
else
{
for (int i = 0; i < keywords.Length; i++)
{
if (targetMatInfo.IsKeywordEnabled(keywords[i]))
{
res = true;
break;
}
}
}
return res;
}
}
public ExtraData[] effectsExtraData;
public ExtraData GetExtraDataByEffectID(string effectID)
{
ExtraData res = null;
for(int i = 0; i < effectsExtraData.Length; i++)
{
if (effectsExtraData[i].effectID == effectID)
{
res = effectsExtraData[i];
break;
}
}
return res;
}
}
}