updated with enemy
This commit is contained in:
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8d3285958facb6f44b410e1c81fa19c1
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,10 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Adobe.Substance
|
||||
{
|
||||
public interface ISubstanceInputDescNumerical
|
||||
{
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c6c5115cae5711a46a6d74d20391cfb8
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,56 @@
|
||||
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;
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 17cc9d69d9e234541a84546059a02135
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,56 @@
|
||||
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;
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6cd3bc40ad7c1cc41bc69189c63590b2
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,56 @@
|
||||
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;
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 95d340e6db1018d4888654b6d6e4bfbc
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,56 @@
|
||||
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;
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b59f3763c24dd4b489b67cbf059c97e7
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,63 @@
|
||||
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;
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4505bd299acddfa42a93618bb3eb3144
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,51 @@
|
||||
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;
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f227c26b9ad4bc144b20f140676c3d39
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,32 @@
|
||||
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;
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 36e74c56f6c8da5478de4fa824d907ac
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,47 @@
|
||||
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;
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7ba763c16c13298419198087a5b6db66
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,21 @@
|
||||
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;
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fc6a243b92a09374d89b9c500fffa0e9
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,117 @@
|
||||
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
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 82a826b2d9a131a4598c52e033409dae
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,67 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bb4c90b1beaaf634092abf47829fe011
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a314bf34bf71b50468f5d639e47d5c14
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,71 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6a2b5e2d6e8627946aee84ca2cad43a2
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,71 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: d0c4e3cee5c04494089d8b2b921a09a7
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,71 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 972cacc8762922b4c899c029ca6f30ee
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,71 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 38a7b8b2e997dce43af21e967aabeb90
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,37 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b54963e3fd7509d47a7807204ab5ad0c
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,69 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1601ac9007c2d7a40a34b1bb071fd814
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,64 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1edf95e7b56e87b43bf900d164c150b9
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,64 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 920e7de597d6a3744b255c5fa47734d5
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,92 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf61790262550134a96f236697c83fe8
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,39 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3466988ea5300af49966ff9b94174f4c
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,49 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1c1f96014c3c29946a956e0f6e220a34
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,34 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1cdb98b233312594e90f752da97365a4
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user