38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
|
using System;
|
||
|
using UnityEditor.Graphing;
|
||
|
using UnityEditor.ShaderGraph.Internal;
|
||
|
using UnityEngine;
|
||
|
|
||
|
namespace UnityEditor.ShaderGraph
|
||
|
{
|
||
|
[Serializable]
|
||
|
abstract class SpaceMaterialSlot : Vector3MaterialSlot
|
||
|
{
|
||
|
[SerializeField]
|
||
|
private CoordinateSpace m_Space = CoordinateSpace.World;
|
||
|
|
||
|
public CoordinateSpace space
|
||
|
{
|
||
|
get { return m_Space; }
|
||
|
set { m_Space = value; }
|
||
|
}
|
||
|
|
||
|
protected SpaceMaterialSlot()
|
||
|
{ }
|
||
|
|
||
|
protected SpaceMaterialSlot(int slotId, string displayName, string shaderOutputName, CoordinateSpace space,
|
||
|
ShaderStageCapability stageCapability = ShaderStageCapability.All, bool hidden = false)
|
||
|
: base(slotId, displayName, shaderOutputName, SlotType.Input, Vector3.zero, stageCapability, hidden: hidden)
|
||
|
{
|
||
|
this.space = space;
|
||
|
}
|
||
|
|
||
|
public override void CopyValuesFrom(MaterialSlot foundSlot)
|
||
|
{
|
||
|
var slot = foundSlot as SpaceMaterialSlot;
|
||
|
if (slot != null)
|
||
|
space = slot.space;
|
||
|
}
|
||
|
}
|
||
|
}
|