fishy facepunch

This commit is contained in:
2023-05-31 12:47:21 -04:00
parent 12779859cd
commit 6a28112faa
338 changed files with 2161 additions and 58 deletions

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: 8d3285958facb6f44b410e1c81fa19c1
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,10 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Adobe.Substance
{
public interface ISubstanceInputDescNumerical
{
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: c6c5115cae5711a46a6d74d20391cfb8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,56 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Adobe.Substance.Input.Description
{
/// <summary>
/// Numeric input description for input of type float.
/// </summary>
[System.Serializable]
public class SubstanceInputDescNumericalFloat : ISubstanceInputDescNumerical
{
/// <summary>
/// Default input value
/// </summary>
public float DefaultValue;
/// <summary>
/// Minimum value (UI hint only)
/// </summary>
public float MinValue;
/// <summary>
/// Maximum value (UI hint only) (Only relevant if widget is Input_Slider)
/// </summary>
public float MaxValue;
/// <summary>
/// Slider step size (UI hint only) (Only relevant if widget is Input_Slider)
/// </summary>
public float SliderStep;
/// <summary>
/// Should the slider clamp the value? (UI hint only) (Only relevant if widget is Input_Slider)
/// </summary>
public bool SliderClamp;
/// <summary>
/// Number of enum option for this value.
/// </summary>
public int EnumValueCount;
/// <summary>
/// Array of enum values for this property. Only relevant if widget is SBSARIO_WIDGET_COMBOBOX (UI hint only).
/// </summary>
public SubstanceFloatEnumOption[] EnumValues;
}
[System.Serializable]
public class SubstanceFloatEnumOption
{
public float Value;
public string Label;
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 17cc9d69d9e234541a84546059a02135
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,56 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Adobe.Substance.Input.Description
{
/// <summary>
/// Numeric input description for input of type float 2.
/// </summary>
[System.Serializable]
public class SubstanceInputDescNumericalFloat2 : ISubstanceInputDescNumerical
{
/// <summary>
/// Default input value
/// </summary>
public Vector2 DefaultValue;
/// <summary>
/// Minimum value (UI hint only)
/// </summary>
public Vector2 MinValue;
/// <summary>
/// Maximum value (UI hint only) (Only relevant if widget is Input_Slider)
/// </summary>
public Vector2 MaxValue;
/// <summary>
/// Slider step size (UI hint only) (Only relevant if widget is Input_Slider)
/// </summary>
public float SliderStep;
/// <summary>
/// Should the slider clamp the value? (UI hint only) (Only relevant if widget is Input_Slider)
/// </summary>
public bool SliderClamp;
/// <summary>
/// Number of enum option for this value.
/// </summary>
public int EnumValueCount;
/// <summary>
/// Array of enum values for this property. Only relevant if widget is SBSARIO_WIDGET_COMBOBOX (UI hint only).
/// </summary>
public SubstanceFloat2EnumOption[] EnumValues;
}
[System.Serializable]
public class SubstanceFloat2EnumOption
{
public Vector2 Value;
public string Label;
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 6cd3bc40ad7c1cc41bc69189c63590b2
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,56 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Adobe.Substance.Input.Description
{
/// <summary>
/// Numeric input description for input of type float3.
/// </summary>
[System.Serializable]
public class SubstanceInputDescNumericalFloat3 : ISubstanceInputDescNumerical
{
/// <summary>
/// Default input value
/// </summary>
public Vector3 DefaultValue;
/// <summary>
/// Minimum value (UI hint only)
/// </summary>
public Vector3 MinValue;
/// <summary>
/// Maximum value (UI hint only) (Only relevant if widget is Input_Slider)
/// </summary>
public Vector3 MaxValue;
/// <summary>
/// Slider step size (UI hint only) (Only relevant if widget is Input_Slider)
/// </summary>
public float SliderStep;
/// <summary>
/// Should the slider clamp the value? (UI hint only) (Only relevant if widget is Input_Slider)
/// </summary>
public bool SliderClamp;
/// <summary>
/// Number of enum option for this value.
/// </summary>
public int EnumValueCount;
/// <summary>
/// Array of enum values for this property. Only relevant if widget is SBSARIO_WIDGET_COMBOBOX (UI hint only).
/// </summary>
public SubstanceFloat3EnumOption[] EnumValues;
}
[System.Serializable]
public class SubstanceFloat3EnumOption
{
public Vector3 Value;
public string Label;
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 95d340e6db1018d4888654b6d6e4bfbc
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,56 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Adobe.Substance.Input.Description
{
/// <summary>
/// Numeric input description for input of type float4.
/// </summary>
[System.Serializable]
public class SubstanceInputDescNumericalFloat4 : ISubstanceInputDescNumerical
{
/// <summary>
/// Default input value
/// </summary>
public Vector4 DefaultValue;
/// <summary>
/// Minimum value (UI hint only)
/// </summary>
public Vector4 MinValue;
/// <summary>
/// Maximum value (UI hint only) (Only relevant if widget is Input_Slider)
/// </summary>
public Vector4 MaxValue;
/// <summary>
/// Slider step size (UI hint only) (Only relevant if widget is Input_Slider)
/// </summary>
public float SliderStep;
/// <summary>
/// Should the slider clamp the value? (UI hint only) (Only relevant if widget is Input_Slider)
/// </summary>
public bool SliderClamp;
/// <summary>
/// Number of enum option for this value.
/// </summary>
public int EnumValueCount;
/// <summary>
/// Array of enum values for this property. Only relevant if widget is SBSARIO_WIDGET_COMBOBOX (UI hint only).
/// </summary>
public SubstanceFloat4EnumOption[] EnumValues;
}
[System.Serializable]
public class SubstanceFloat4EnumOption
{
public Vector4 Value;
public string Label;
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: b59f3763c24dd4b489b67cbf059c97e7
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,63 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Adobe.Substance.Input.Description
{
/// <summary>
/// Numeric input description for input of type int.
/// </summary>
[System.Serializable]
public class SubstanceInputDescNumericalInt : ISubstanceInputDescNumerical
{
/// <summary>
/// Default input value
/// </summary>
public int DefaultValue;
/// <summary>
/// Minimum value (UI hint only)
/// </summary>
public int MinValue;
/// <summary>
/// Maximum value. Only relevant if widget is Slider (UI hint only)
/// </summary>
public int MaxValue;
/// <summary>
/// Slider step size. Only relevant if widget is Slider (UI hint only).
/// </summary>
public float SliderStep;
/// <summary>
/// True if the slider value is clamped. Only relevant if widget is Slider (UI hint only)
/// </summary>
public bool SliderClamp;
/// <summary>
/// If non-empty, the labels to use for False (unchecked) and True (checked) values. Only relevant if widget is Input_Togglebutton
/// </summary>
public string LabelFalse;
public string LabelTrue;
/// <summary>
/// Number of enum option for this value.
/// </summary>
public int EnumValueCount;
/// <summary>
/// Array of enum values for this property. Only relevant if widget is SBSARIO_WIDGET_COMBOBOX (UI hint only).
/// </summary>
public SubstanceIntEnumOption[] EnumValues;
}
[System.Serializable]
public class SubstanceIntEnumOption
{
public int Value;
public string Label;
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 4505bd299acddfa42a93618bb3eb3144
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,51 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Adobe.Substance.Input.Description
{
/// <summary>
/// Numeric input description for input of type int2.
/// </summary>
[System.Serializable]
public class SubstanceInputDescNumericalInt2 : ISubstanceInputDescNumerical
{
/// <summary>
/// Default input value
/// </summary>
public Vector2Int DefaultValue;
/// <summary>
/// Minimum value (UI hint only)
/// </summary>
public Vector2Int MinValue;
/// <summary>
/// Maximum value. Only relevant if widget is Slider (UI hint only)
/// </summary>
public Vector2Int MaxValue;
/// <summary>
/// True if the slider value is clamped. Only relevant if widget is Slider (UI hint only)
/// </summary>
public bool SliderClamp;
/// <summary>
/// Number of enum option for this value.
/// </summary>
public int EnumValueCount;
/// <summary>
/// Array of enum values for this property. Only relevant if widget is ComboBox (UI hint only).
/// </summary>
public SubstanceInt2EnumOption[] EnumValues;
}
[System.Serializable]
public class SubstanceInt2EnumOption
{
public Vector2Int Value;
public string Label;
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: f227c26b9ad4bc144b20f140676c3d39
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,32 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Adobe.Substance.Input.Description
{
[System.Serializable]
public class SubstanceInputDescNumericalInt3 : ISubstanceInputDescNumerical
{
public Vector3Int DefaultValue;
public Vector3Int MinValue;
public Vector3Int MaxValue;
public Vector3Int SliderStep;
public bool SliderClamp;
public int EnumValueCount;
public SubstanceInt3EnumOption[] EnumValues;
}
[System.Serializable]
public class SubstanceInt3EnumOption
{
public Vector3Int Value;
public string Label;
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 36e74c56f6c8da5478de4fa824d907ac
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,47 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Adobe.Substance.Input.Description
{
[System.Serializable]
public class SubstanceInputDescNumericalInt4 : ISubstanceInputDescNumerical
{
public int DefaultValue0;
public int DefaultValue1;
public int DefaultValue2;
public int DefaultValue3;
public int MinValue0;
public int MinValue1;
public int MinValue2;
public int MinValue3;
public int MaxValue0;
public int MaxValue1;
public int MaxValue2;
public int MaxValue3;
public int SliderStep0;
public int SliderStep1;
public int SliderStep2;
public int SliderStep3;
public bool SliderClamp;
public int EnumValueCount;
public SubstanceInt4EnumOption[] EnumValues;
}
[System.Serializable]
public class SubstanceInt4EnumOption
{
public int Value0;
public int Value1;
public int Value2;
public int Value3;
public string Label;
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 7ba763c16c13298419198087a5b6db66
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,21 +0,0 @@
using System.Collections.Generic;
using UnityEngine;
namespace Adobe.Substance.Input.Description
{
[System.Serializable]
public class SubstanceInputDescription
{
public string Identifier;
public string Label;
public string GuiGroup;
public string GuiDescription;
public SubstanceValueType Type;
public SubstanceWidgetType WidgetType;
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: fc6a243b92a09374d89b9c500fffa0e9
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,117 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Adobe.Substance.Input.Description;
namespace Adobe.Substance.Input
{
public interface ISubstanceInput
{
int Index { get; }
SubstanceValueType ValueType { get; }
bool IsNumeric { get; }
bool IsValid { get; }
SubstanceInputDescription Description { get; }
void UpdateNativeHandle(SubstanceNativeGraph handler);
internal void SetNumericDescription(NativeNumericInputDesc desc);
/// <summary>
/// Assigns the native enum data from the substance engine to the numerical input description (Only valid if input is numeric)
/// </summary>
/// <param name="options"></param>
internal void SetEnumOptions(NativeEnumInputDesc[] options);
bool TryGetNumericalDescription(out ISubstanceInputDescNumerical description);
}
/// <summary>
/// Interface for representing all the different types of substance graph inputs.
/// </summary>
public abstract class SubstanceInputBase : ISubstanceInput
{
/// <summary>
/// Input index inside the Substance Graph.
/// </summary>
public int Index;
/// <summary>
/// Input type.
/// </summary>
public abstract SubstanceValueType ValueType { get; }
/// <summary>
/// True if this input is numeric.
/// </summary>
public abstract bool IsNumeric { get; }
/// <summary>
/// True if this input is supported by the Unity plugin.
/// </summary>
public abstract bool IsValid { get; }
/// <summary>
/// Description with aditional information about the input.
/// </summary>
public SubstanceInputDescription Description;
/// <summary>
/// Updates the native side of the substance engine with the current value for this input.
/// </summary>
/// <param name="handler"></param>
public virtual void UpdateNativeHandle(SubstanceNativeGraph handler)
{
}
public virtual bool TryGetNumericalDescription(out ISubstanceInputDescNumerical description)
{
description = null;
return false;
}
/// <summary>
/// Assigns the native data from the substance engine to the numerical input description (Only valid if input is numeric)
/// </summary>
/// <param name="desc"></param>
internal virtual void SetNumericDescription(NativeNumericInputDesc desc)
{
}
/// <summary>
/// Assigns the native enum data from the substance engine to the numerical input description (Only valid if input is numeric)
/// </summary>
/// <param name="options"></param>
internal virtual void SetEnumOptions(NativeEnumInputDesc[] options)
{
}
#region ISubstanceInput
int ISubstanceInput.Index => Index;
SubstanceInputDescription ISubstanceInput.Description => Description;
SubstanceValueType ISubstanceInput.ValueType => ValueType;
bool ISubstanceInput.IsNumeric => IsNumeric;
bool ISubstanceInput.IsValid => IsValid;
void ISubstanceInput.SetNumericDescription(NativeNumericInputDesc desc)
{
SetNumericDescription(desc);
}
void ISubstanceInput.SetEnumOptions(NativeEnumInputDesc[] options)
{
SetEnumOptions(options);
}
#endregion ISubstanceInput
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 82a826b2d9a131a4598c52e033409dae
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,67 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Adobe.Substance.Input
{
/// <summary>
/// Static factory for creating Unity input object from native data.
/// </summary>
public static class SubstanceInputFactory
{
/// <summary>
/// Create a unity data object from native substance data.
/// </summary>
/// <param name="nativeData">Native data.</param>
/// <returns>Instance of a substance input interface object.</returns>
internal static SubstanceInputBase CreateInput(NativeData nativeData)
{
int index = (int)nativeData.Index;
DataInternalNumeric data = nativeData.Data;
switch (nativeData.ValueType)
{
case ValueType.SBSARIO_VALUE_FLOAT:
return new SubstanceInputFloat(index, data);
case ValueType.SBSARIO_VALUE_FLOAT2:
return new SubstanceInputFloat2(index, data);
case ValueType.SBSARIO_VALUE_FLOAT3:
return new SubstanceInputFloat3(index, data);
case ValueType.SBSARIO_VALUE_FLOAT4:
return new SubstanceInputFloat4(index, data);
case ValueType.SBSARIO_VALUE_INT:
return new SubstanceInputInt(index, data);
case ValueType.SBSARIO_VALUE_INT2:
return new SubstanceInputInt2(index, data);
case ValueType.SBSARIO_VALUE_INT3:
return new SubstanceInputInt3(index, data);
case ValueType.SBSARIO_VALUE_INT4:
return new SubstanceInputInt4(index, data);
case ValueType.SBSARIO_VALUE_IMAGE:
return new SubstanceInputTexture(index, data);
case ValueType.SBSARIO_VALUE_STRING:
return new SubstanceInputString(index, data);
case ValueType.SBSARIO_VALUE_FONT:
return new SubstanceInputFont(index, data);
default:
throw new System.InvalidOperationException($"Can not create unity type from native data for type {nativeData.ValueType}.");
}
}
internal static SubstanceInputBase CreateInvalidInput(int inputID)
{
return new SubstanceInvalidInput(inputID);
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: bb4c90b1beaaf634092abf47829fe011
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: a314bf34bf71b50468f5d639e47d5c14
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,71 +0,0 @@
using Adobe.Substance.Input.Description;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using UnityEngine;
namespace Adobe.Substance.Input
{
[Serializable]
public class SubstanceInputFloat : SubstanceInputBase
{
public float Data;
public SubstanceInputDescNumericalFloat NumericalDescription;
public override bool IsNumeric => true;
public override bool IsValid => true;
public override SubstanceValueType ValueType => SubstanceValueType.Float;
internal SubstanceInputFloat(int index, DataInternalNumeric data)
{
Index = index;
Data = data.mFloatData0;
}
public override void UpdateNativeHandle(SubstanceNativeGraph handler)
{
handler.SetInputFloat(Index, Data);
}
internal override void SetNumericDescription(NativeNumericInputDesc desc)
{
NumericalDescription = new SubstanceInputDescNumericalFloat
{
DefaultValue = desc.default_value.mFloatData0,
MaxValue = desc.max_value.mFloatData0,
MinValue = desc.min_value.mFloatData0,
SliderClamp = Convert.ToBoolean(desc.sliderClamp.ToInt32()),
SliderStep = desc.sliderStep,
EnumValueCount = desc.enumValueCount.ToInt32()
};
return;
}
internal override void SetEnumOptions(NativeEnumInputDesc[] options)
{
NumericalDescription.EnumValues = new SubstanceFloatEnumOption[options.Length];
for (int i = 0; i < NumericalDescription.EnumValues.Length; i++)
{
var option = new SubstanceFloatEnumOption
{
Label = Marshal.PtrToStringAnsi(options[i].label),
Value = options[i].value.mFloatData0
};
NumericalDescription.EnumValues[i] = option;
}
return;
}
public override bool TryGetNumericalDescription(out ISubstanceInputDescNumerical description)
{
description = NumericalDescription;
return true;
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 6a2b5e2d6e8627946aee84ca2cad43a2
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,71 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Adobe.Substance.Input.Description;
using System;
using System.Runtime.InteropServices;
namespace Adobe.Substance.Input
{
[System.Serializable]
public class SubstanceInputFloat2 : SubstanceInputBase
{
public Vector2 Data;
public SubstanceInputDescNumericalFloat2 NumericalDescription;
public override SubstanceValueType ValueType => SubstanceValueType.Float2;
public override bool IsNumeric => true;
public override bool IsValid => true;
internal SubstanceInputFloat2(int index, DataInternalNumeric data)
{
Index = index;
Data = new Vector2(data.mFloatData0, data.mFloatData1);
}
public override void UpdateNativeHandle(SubstanceNativeGraph handler)
{
handler.SetInputFloat2(Index, Data);
}
internal override void SetNumericDescription(NativeNumericInputDesc desc)
{
NumericalDescription = new SubstanceInputDescNumericalFloat2
{
DefaultValue = new Vector2(desc.default_value.mFloatData0, desc.default_value.mFloatData1),
MaxValue = new Vector2(desc.max_value.mFloatData0, desc.max_value.mFloatData1),
MinValue = new Vector2(desc.min_value.mFloatData0, desc.min_value.mFloatData1),
SliderClamp = Convert.ToBoolean(desc.sliderClamp.ToInt32()),
SliderStep = desc.sliderStep,
EnumValueCount = desc.enumValueCount.ToInt32()
};
return;
}
internal override void SetEnumOptions(NativeEnumInputDesc[] options)
{
NumericalDescription.EnumValues = new SubstanceFloat2EnumOption[options.Length];
for (int i = 0; i < NumericalDescription.EnumValues.Length; i++)
{
var option = new SubstanceFloat2EnumOption
{
Label = Marshal.PtrToStringAnsi(options[i].label),
Value = new Vector2(options[i].value.mFloatData0, options[i].value.mFloatData1)
};
NumericalDescription.EnumValues[i] = option;
}
return;
}
public override bool TryGetNumericalDescription(out ISubstanceInputDescNumerical description)
{
description = NumericalDescription;
return true;
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: d0c4e3cee5c04494089d8b2b921a09a7
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,71 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Adobe.Substance.Input.Description;
using System;
using System.Runtime.InteropServices;
namespace Adobe.Substance.Input
{
[System.Serializable]
public class SubstanceInputFloat3 : SubstanceInputBase
{
public Vector3 Data;
public SubstanceInputDescNumericalFloat3 NumericalDescription;
public override SubstanceValueType ValueType => SubstanceValueType.Float3;
public override bool IsNumeric => true;
public override bool IsValid => true;
internal SubstanceInputFloat3(int index, DataInternalNumeric data)
{
Index = index;
Data = new Vector3(data.mFloatData0, data.mFloatData1, data.mFloatData2);
}
public override void UpdateNativeHandle(SubstanceNativeGraph handler)
{
handler.SetInputFloat3(Index, Data);
}
internal override void SetNumericDescription(NativeNumericInputDesc desc)
{
NumericalDescription = new SubstanceInputDescNumericalFloat3
{
DefaultValue = new Vector3(desc.default_value.mFloatData0, desc.default_value.mFloatData1, desc.default_value.mFloatData2),
MaxValue = new Vector3(desc.max_value.mFloatData0, desc.max_value.mFloatData1, desc.max_value.mFloatData2),
MinValue = new Vector3(desc.min_value.mFloatData0, desc.min_value.mFloatData1, desc.min_value.mFloatData2),
SliderClamp = Convert.ToBoolean(desc.sliderClamp.ToInt32()),
SliderStep = desc.sliderStep,
EnumValueCount = desc.enumValueCount.ToInt32()
};
return;
}
internal override void SetEnumOptions(NativeEnumInputDesc[] options)
{
NumericalDescription.EnumValues = new SubstanceFloat3EnumOption[options.Length];
for (int i = 0; i < NumericalDescription.EnumValues.Length; i++)
{
var option = new SubstanceFloat3EnumOption
{
Label = Marshal.PtrToStringAnsi(options[i].label),
Value = new Vector3(options[i].value.mFloatData0, options[i].value.mFloatData1, options[i].value.mFloatData2)
};
NumericalDescription.EnumValues[i] = option;
}
return;
}
public override bool TryGetNumericalDescription(out ISubstanceInputDescNumerical description)
{
description = NumericalDescription;
return true;
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 972cacc8762922b4c899c029ca6f30ee
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,71 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Adobe.Substance.Input.Description;
using System;
using System.Runtime.InteropServices;
namespace Adobe.Substance.Input
{
[System.Serializable]
public class SubstanceInputFloat4 : SubstanceInputBase
{
public Vector4 Data;
public SubstanceInputDescNumericalFloat4 NumericalDescription;
public override bool IsNumeric => true;
public override bool IsValid => true;
public override SubstanceValueType ValueType => SubstanceValueType.Float4;
internal SubstanceInputFloat4(int index, DataInternalNumeric data)
{
Index = index;
Data = new Vector4(data.mFloatData0, data.mFloatData1, data.mFloatData2, data.mFloatData3);
}
public override void UpdateNativeHandle(SubstanceNativeGraph handler)
{
handler.SetInputFloat4(Index, Data);
}
internal override void SetNumericDescription(NativeNumericInputDesc desc)
{
NumericalDescription = new SubstanceInputDescNumericalFloat4
{
DefaultValue = new Vector4(desc.default_value.mFloatData0, desc.default_value.mFloatData1, desc.default_value.mFloatData2, desc.default_value.mFloatData3),
MaxValue = new Vector4(desc.max_value.mFloatData0, desc.max_value.mFloatData1, desc.max_value.mFloatData2, desc.max_value.mFloatData3),
MinValue = new Vector4(desc.min_value.mFloatData0, desc.min_value.mFloatData1, desc.min_value.mFloatData2, desc.min_value.mFloatData3),
SliderClamp = Convert.ToBoolean(desc.sliderClamp.ToInt32()),
SliderStep = desc.sliderStep,
EnumValueCount = desc.enumValueCount.ToInt32()
};
return;
}
internal override void SetEnumOptions(NativeEnumInputDesc[] options)
{
NumericalDescription.EnumValues = new SubstanceFloat4EnumOption[options.Length];
for (int i = 0; i < NumericalDescription.EnumValues.Length; i++)
{
var option = new SubstanceFloat4EnumOption
{
Label = Marshal.PtrToStringAnsi(options[i].label),
Value = new Vector4(options[i].value.mFloatData0, options[i].value.mFloatData1, options[i].value.mFloatData2, options[i].value.mFloatData3)
};
NumericalDescription.EnumValues[i] = option;
}
return;
}
public override bool TryGetNumericalDescription(out ISubstanceInputDescNumerical description)
{
description = NumericalDescription;
return true;
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 38a7b8b2e997dce43af21e967aabeb90
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,37 +0,0 @@
using System;
using UnityEngine;
using Adobe.Substance.Input.Description;
namespace Adobe.Substance.Input
{
[System.Serializable]
public class SubstanceInputFont : SubstanceInputBase
{
public Font Data;
public override bool IsValid => true;
public override SubstanceValueType ValueType => SubstanceValueType.Font;
public override bool IsNumeric => false;
public ISubstanceInputDescNumerical NumericalDescription => null;
internal SubstanceInputFont(int index, DataInternalNumeric data)
{
Index = index;
Data = null;
}
public override void UpdateNativeHandle(SubstanceNativeGraph handler)
{
return;
}
internal override void SetNumericDescription(NativeNumericInputDesc desc)
{
return;
}
internal override void SetEnumOptions(NativeEnumInputDesc[] options)
{
return;
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: b54963e3fd7509d47a7807204ab5ad0c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,69 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Adobe.Substance.Input.Description;
using System;
using System.Runtime.InteropServices;
namespace Adobe.Substance.Input
{
[System.Serializable]
public class SubstanceInputInt : SubstanceInputBase
{
public int Data;
public SubstanceInputDescNumericalInt NumericalDescription;
public override bool IsValid => true;
public override SubstanceValueType ValueType => SubstanceValueType.Int;
public override bool IsNumeric => true;
internal SubstanceInputInt(int index, DataInternalNumeric data)
{
Index = index;
Data = data.mIntData0;
}
public override void UpdateNativeHandle(SubstanceNativeGraph handler)
{
handler.SetInputInt(Index, Data);
}
internal override void SetNumericDescription(NativeNumericInputDesc desc)
{
NumericalDescription = new SubstanceInputDescNumericalInt
{
DefaultValue = desc.default_value.mIntData0,
MaxValue = desc.max_value.mIntData0,
MinValue = desc.min_value.mIntData0,
SliderClamp = Convert.ToBoolean(desc.sliderClamp.ToInt32()),
SliderStep = desc.sliderStep,
EnumValueCount = desc.enumValueCount.ToInt32()
};
}
internal override void SetEnumOptions(NativeEnumInputDesc[] options)
{
NumericalDescription.EnumValues = new SubstanceIntEnumOption[options.Length];
for (int i = 0; i < NumericalDescription.EnumValues.Length; i++)
{
var option = new SubstanceIntEnumOption
{
Label = Marshal.PtrToStringAnsi(options[i].label),
Value = options[i].value.mIntData0
};
NumericalDescription.EnumValues[i] = option;
}
return;
}
public override bool TryGetNumericalDescription(out ISubstanceInputDescNumerical description)
{
description = NumericalDescription;
return true;
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 1601ac9007c2d7a40a34b1bb071fd814
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,64 +0,0 @@
using System;
using UnityEngine;
using System.Runtime.InteropServices;
using Adobe.Substance.Input.Description;
namespace Adobe.Substance.Input
{
[System.Serializable]
public class SubstanceInputInt2 : SubstanceInputBase
{
public Vector2Int Data;
public SubstanceInputDescNumericalInt2 NumericalDescription;
public override bool IsValid => true;
public override SubstanceValueType ValueType => SubstanceValueType.Int2;
public override bool IsNumeric => true;
internal SubstanceInputInt2(int index, DataInternalNumeric data)
{
Index = index;
Data = new Vector2Int(data.mIntData0, data.mIntData1);
}
public override void UpdateNativeHandle(SubstanceNativeGraph handler)
{
handler.SetInputInt2(Index, Data);
}
internal override void SetNumericDescription(NativeNumericInputDesc desc)
{
NumericalDescription = new SubstanceInputDescNumericalInt2
{
DefaultValue = new Vector2Int(desc.default_value.mIntData0, desc.default_value.mIntData1),
MaxValue = new Vector2Int(desc.max_value.mIntData0, desc.max_value.mIntData1),
MinValue = new Vector2Int(desc.min_value.mIntData0, desc.min_value.mIntData1),
SliderClamp = Convert.ToBoolean(desc.sliderClamp.ToInt32()),
EnumValueCount = desc.enumValueCount.ToInt32()
};
}
internal override void SetEnumOptions(NativeEnumInputDesc[] options)
{
NumericalDescription.EnumValues = new SubstanceInt2EnumOption[options.Length];
for (int i = 0; i < NumericalDescription.EnumValues.Length; i++)
{
var option = new SubstanceInt2EnumOption
{
Label = Marshal.PtrToStringAnsi(options[i].label),
Value = new Vector2Int(options[i].value.mIntData0, options[i].value.mIntData1)
};
NumericalDescription.EnumValues[i] = option;
}
}
public override bool TryGetNumericalDescription(out ISubstanceInputDescNumerical description)
{
description = NumericalDescription;
return true;
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 1edf95e7b56e87b43bf900d164c150b9
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,64 +0,0 @@
using UnityEngine;
using System;
using System.Runtime.InteropServices;
using Adobe.Substance.Input.Description;
namespace Adobe.Substance.Input
{
[System.Serializable]
public class SubstanceInputInt3 : SubstanceInputBase
{
public Vector3Int Data;
public SubstanceInputDescNumericalInt3 NumericalDescription;
public override bool IsValid => true;
public override SubstanceValueType ValueType => SubstanceValueType.Int3;
public override bool IsNumeric => true;
internal SubstanceInputInt3(int index, DataInternalNumeric data)
{
Index = index;
Data = new Vector3Int(data.mIntData0, data.mIntData1, data.mIntData2);
}
public override void UpdateNativeHandle(SubstanceNativeGraph handler)
{
handler.SetInputInt3(Index, Data);
}
internal override void SetNumericDescription(NativeNumericInputDesc desc)
{
NumericalDescription = new SubstanceInputDescNumericalInt3
{
DefaultValue = new Vector3Int(desc.default_value.mIntData0, desc.default_value.mIntData1, desc.default_value.mIntData2),
MaxValue = new Vector3Int(desc.max_value.mIntData0, desc.max_value.mIntData1, desc.max_value.mIntData2),
MinValue = new Vector3Int(desc.min_value.mIntData0, desc.min_value.mIntData1, desc.min_value.mIntData2),
SliderClamp = Convert.ToBoolean(desc.sliderClamp.ToInt32()),
EnumValueCount = desc.enumValueCount.ToInt32()
};
}
internal override void SetEnumOptions(NativeEnumInputDesc[] options)
{
NumericalDescription.EnumValues = new SubstanceInt3EnumOption[options.Length];
for (int i = 0; i < NumericalDescription.EnumValues.Length; i++)
{
var option = new SubstanceInt3EnumOption
{
Label = Marshal.PtrToStringAnsi(options[i].label),
Value = new Vector3Int(options[i].value.mIntData0, options[i].value.mIntData1, options[i].value.mIntData2)
};
NumericalDescription.EnumValues[i] = option;
}
}
public override bool TryGetNumericalDescription(out ISubstanceInputDescNumerical description)
{
description = NumericalDescription;
return true;
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 920e7de597d6a3744b255c5fa47734d5
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,92 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Adobe.Substance.Input.Description;
using System;
using System.Runtime.InteropServices;
namespace Adobe.Substance.Input
{
[Serializable]
public class SubstanceInputInt4 : SubstanceInputBase
{
public int Data0;
public int Data1;
public int Data2;
public int Data3;
public SubstanceInputDescNumericalInt4 NumericalDescription;
public override bool IsValid => true;
public override SubstanceValueType ValueType => SubstanceValueType.Int4;
public override bool IsNumeric => true;
internal SubstanceInputInt4(int index, DataInternalNumeric data)
{
Index = index;
Data0 = data.mIntData0;
Data1 = data.mIntData1;
Data2 = data.mIntData2;
Data3 = data.mIntData3;
}
public override void UpdateNativeHandle(SubstanceNativeGraph handler)
{
handler.SetInputInt4(Index, Data0, Data1, Data2, Data3);
}
internal override void SetNumericDescription(NativeNumericInputDesc desc)
{
NumericalDescription = new SubstanceInputDescNumericalInt4
{
DefaultValue0 = desc.default_value.mIntData0,
DefaultValue1 = desc.default_value.mIntData1,
DefaultValue2 = desc.default_value.mIntData2,
DefaultValue3 = desc.default_value.mIntData3,
MaxValue0 = desc.max_value.mIntData0,
MaxValue1 = desc.max_value.mIntData1,
MaxValue2 = desc.max_value.mIntData2,
MaxValue3 = desc.max_value.mIntData3,
MinValue0 = desc.min_value.mIntData0,
MinValue1 = desc.min_value.mIntData1,
MinValue2 = desc.min_value.mIntData2,
MinValue3 = desc.min_value.mIntData3,
SliderClamp = Convert.ToBoolean(desc.sliderClamp.ToInt32()),
EnumValueCount = desc.enumValueCount.ToInt32()
};
}
internal override void SetEnumOptions(NativeEnumInputDesc[] options)
{
NumericalDescription.EnumValues = new SubstanceInt4EnumOption[options.Length];
for (int i = 0; i < NumericalDescription.EnumValues.Length; i++)
{
var option = new SubstanceInt4EnumOption
{
Label = Marshal.PtrToStringAnsi(options[i].label),
Value0 = options[i].value.mIntData0,
Value1 = options[i].value.mIntData1,
Value2 = options[i].value.mIntData2,
Value3 = options[i].value.mIntData3
};
NumericalDescription.EnumValues[i] = option;
}
return;
}
public override bool TryGetNumericalDescription(out ISubstanceInputDescNumerical description)
{
description = NumericalDescription;
return true;
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: bf61790262550134a96f236697c83fe8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,39 +0,0 @@
using System;
using UnityEngine;
using System.Runtime.InteropServices;
using Adobe.Substance.Input.Description;
namespace Adobe.Substance.Input
{
[System.Serializable]
public class SubstanceInputString : SubstanceInputBase
{
[Multiline]
public string Data;
public override bool IsValid => true;
public override SubstanceValueType ValueType => SubstanceValueType.String;
public override bool IsNumeric => false;
internal SubstanceInputString(int index, DataInternalNumeric data)
{
Index = index;
Data = Marshal.PtrToStringAnsi(data.mPtr);
}
public override void UpdateNativeHandle(SubstanceNativeGraph handler)
{
handler.SetInputString(Index, Data);
}
internal override void SetNumericDescription(NativeNumericInputDesc desc)
{
return;
}
internal override void SetEnumOptions(NativeEnumInputDesc[] options)
{
return;
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 3466988ea5300af49966ff9b94174f4c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,49 +0,0 @@
using System;
using UnityEngine;
using Adobe.Substance.Input.Description;
using System.Runtime.InteropServices;
namespace Adobe.Substance.Input
{
[System.Serializable]
public class SubstanceInputTexture : SubstanceInputBase
{
[SerializeField]
private Texture2D Data;
public override bool IsValid => true;
public override SubstanceValueType ValueType => SubstanceValueType.Image;
public override bool IsNumeric => false;
internal SubstanceInputTexture(int index, DataInternalNumeric data)
{
Index = index;
Data = null;
}
public override void UpdateNativeHandle(SubstanceNativeGraph handler)
{
if (Data == null)
return;
if (!Data.isReadable)
{
Debug.LogWarning($"Input textures must be set as readable. Texture assigned to {Description.Identifier} will have no effect.");
return;
}
var pixels = Data.GetPixels32();
handler.SetInputTexture2D(Index, pixels, Data.width, Data.height);
}
internal override void SetNumericDescription(NativeNumericInputDesc desc)
{
return;
}
internal override void SetEnumOptions(NativeEnumInputDesc[] options)
{
return;
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 1c1f96014c3c29946a956e0f6e220a34
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,34 +0,0 @@
using System;
using UnityEngine;
using Adobe.Substance.Input.Description;
namespace Adobe.Substance.Input
{
[System.Serializable]
public class SubstanceInvalidInput : SubstanceInputBase
{
public override bool IsValid => false;
public override SubstanceValueType ValueType => Description.Type;
public override bool IsNumeric => false;
public SubstanceInvalidInput(int index)
{
Index = index;
}
public override void UpdateNativeHandle(SubstanceNativeGraph handler)
{
return;
}
internal override void SetNumericDescription(NativeNumericInputDesc desc)
{
return;
}
internal override void SetEnumOptions(NativeEnumInputDesc[] options)
{
return;
}
}
}

View File

@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 1cdb98b233312594e90f752da97365a4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: