|
// Amplify Shader Editor - Visual Shader Editing Tool
|
|
// Copyright (c) Amplify Creations, Lda <info@amplify.pt>
|
|
|
|
using System;
|
|
|
|
namespace AmplifyShaderEditor
|
|
{
|
|
[Serializable]
|
|
public class TemplateShaderPropertyData
|
|
{
|
|
public string PropertyInspectorName;
|
|
public string PropertyName;
|
|
public WirePortDataType PropertyDataType;
|
|
public PropertyType PropertyType;
|
|
|
|
public int Index;
|
|
public string FullValue;
|
|
public string ReplacementValueHelper;
|
|
public string Identation;
|
|
|
|
public bool IsMacro;
|
|
|
|
public TemplateShaderPropertyData( int index, string fullValue, string identation, string propertyInspectorName, string propertyName, WirePortDataType propertyDataType, PropertyType propertyType, bool isMacro = false )
|
|
{
|
|
Index = index;
|
|
FullValue = fullValue;
|
|
Identation = identation;
|
|
PropertyInspectorName = string.IsNullOrEmpty( propertyInspectorName )?propertyName: propertyInspectorName;
|
|
PropertyName = propertyName;
|
|
PropertyDataType = propertyDataType;
|
|
PropertyType = propertyType;
|
|
int idx = FullValue.LastIndexOf( "=" );
|
|
ReplacementValueHelper = ( idx >= 0 ) ? FullValue.Substring( 0, idx + 1 ) +" ": FullValue + " = ";
|
|
IsMacro = isMacro;
|
|
}
|
|
|
|
public string CreatePropertyForValue( string value )
|
|
{
|
|
return value.Contains( PropertyName ) ? Identation + value : ReplacementValueHelper + value;
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return string.Format( "{0}(\"{1}\", {2})", PropertyName, PropertyInspectorName,UIUtils.WirePortToCgType( PropertyDataType ) );
|
|
}
|
|
}
|
|
}
|