63 lines
1.0 KiB
C#
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;
|
|
}
|
|
}
|
|
} |