38 lines
888 B
C#
38 lines
888 B
C#
namespace AllIn13DShader
|
|
{
|
|
public abstract class ShaderCommand
|
|
{
|
|
public ShaderCommandValue shaderCommandValue;
|
|
|
|
public string GetShaderEntry()
|
|
{
|
|
string res = string.Empty;
|
|
string shaderEntryValue = string.Empty;
|
|
|
|
switch (shaderCommandValue)
|
|
{
|
|
case ShaderCommandValue.DEFINED_IN_CODE:
|
|
shaderEntryValue = GetShaderEntryValueDefinedInCode();
|
|
break;
|
|
case ShaderCommandValue.DEFINED_IN_PROPERTIES:
|
|
shaderEntryValue = GetShaderEntryValueDefinedInProperties();
|
|
break;
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(shaderEntryValue))
|
|
{
|
|
string format = GetShaderEntryFormat();
|
|
res = string.Format(format, shaderEntryValue);
|
|
}
|
|
|
|
return res;
|
|
}
|
|
|
|
protected abstract string GetShaderEntryFormat();
|
|
|
|
protected abstract string GetShaderEntryValueDefinedInProperties();
|
|
|
|
protected abstract string GetShaderEntryValueDefinedInCode();
|
|
|
|
}
|
|
} |