123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- using System;
- using System.Text;
- using UnityEditor.Graphing;
- using UnityEditor.ShaderGraph.Drawing.Controls;
- using UnityEngine;
-
- namespace UnityEditor.ShaderGraph.Internal
- {
- [Serializable]
- [FormerName("UnityEditor.ShaderGraph.BooleanShaderProperty")]
- [BlackboardInputInfo(20)]
- public sealed class BooleanShaderProperty : AbstractShaderProperty<bool>
- {
- internal BooleanShaderProperty()
- {
- displayName = "Boolean";
- }
-
- public override PropertyType propertyType => PropertyType.Boolean;
-
- internal override bool isExposable => true;
- internal override bool isRenamable => true;
-
- internal override string GetPropertyAsArgumentString(string precisionString)
- {
- return $"{concreteShaderValueType.ToShaderString(precisionString)} {referenceName}";
- }
-
- internal override void ForeachHLSLProperty(Action<HLSLProperty> action)
- {
- HLSLDeclaration decl = GetDefaultHLSLDeclaration();
- action(new HLSLProperty(HLSLType._float, referenceName, decl, concretePrecision));
- }
-
- internal override string GetPropertyBlockString()
- {
- return $"{hideTagString}[ToggleUI]{referenceName}(\"{displayName}\", Float) = {(value == true ? 1 : 0)}";
- }
-
- internal override AbstractMaterialNode ToConcreteNode()
- {
- return new BooleanNode { value = new ToggleData(value) };
- }
-
- internal override PreviewProperty GetPreviewMaterialProperty()
- {
- return new PreviewProperty(propertyType)
- {
- name = referenceName,
- booleanValue = value
- };
- }
-
- internal override ShaderInput Copy()
- {
- return new BooleanShaderProperty()
- {
- displayName = displayName,
- value = value,
- };
- }
- }
- }
|