68 lines
1.4 KiB
C#
68 lines
1.4 KiB
C#
using UnityEngine;
|
|
|
|
namespace Klak.Spout {
|
|
|
|
//
|
|
// Spout receiver class (properties)
|
|
//
|
|
partial class SpoutReceiver
|
|
{
|
|
#region Spout source
|
|
|
|
[SerializeField] string _sourceName = null;
|
|
|
|
public string sourceName
|
|
{ get => _sourceName;
|
|
set => ChangeSourceName(value); }
|
|
|
|
void ChangeSourceName(string name)
|
|
{
|
|
// Receiver refresh on source changes
|
|
if (_sourceName == name) return;
|
|
_sourceName = name;
|
|
ReleaseReceiver();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Destination settings
|
|
|
|
[SerializeField] RenderTexture _targetTexture = null;
|
|
|
|
public RenderTexture targetTexture
|
|
{ get => _targetTexture;
|
|
set => _targetTexture = value; }
|
|
|
|
[SerializeField] Renderer _targetRenderer = null;
|
|
|
|
public Renderer targetRenderer
|
|
{ get => _targetRenderer;
|
|
set => _targetRenderer = value; }
|
|
|
|
[SerializeField] string _targetMaterialProperty = null;
|
|
|
|
public string targetMaterialProperty
|
|
{ get => _targetMaterialProperty;
|
|
set => _targetMaterialProperty = value; }
|
|
|
|
#endregion
|
|
|
|
#region Runtime property
|
|
|
|
public RenderTexture receivedTexture
|
|
=> _buffer != null ? _buffer : _targetTexture;
|
|
|
|
#endregion
|
|
|
|
#region Resource asset reference
|
|
|
|
[SerializeField, HideInInspector] SpoutResources _resources = null;
|
|
|
|
public void SetResources(SpoutResources resources)
|
|
=> _resources = resources;
|
|
|
|
#endregion
|
|
}
|
|
|
|
} // namespace Klak.Spout
|