[Add] All in one shader
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user