EVERYTHING
This commit is contained in:
@@ -0,0 +1,153 @@
|
||||
using BlockSpace.Voxels;
|
||||
using Photon.Pun;
|
||||
using UnityEngine;
|
||||
|
||||
public abstract class NodeBehavior : MonoBehaviour
|
||||
{
|
||||
[HideInInspector]
|
||||
public Node Node;
|
||||
|
||||
protected bool IsAuthoritative
|
||||
{
|
||||
get
|
||||
{
|
||||
if (PhotonNetwork.InRoom)
|
||||
{
|
||||
return PhotonNetwork.IsMasterClient;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void OnGraphUpdate()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnRun(string inputPortName)
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnInputValueChanged(string inputPortName, BSValue value)
|
||||
{
|
||||
}
|
||||
|
||||
protected BSValue GetInputValue(string inputPortName)
|
||||
{
|
||||
if (!(Node != null))
|
||||
{
|
||||
return BSValue.None;
|
||||
}
|
||||
return Node.GetInputValue(inputPortName);
|
||||
}
|
||||
|
||||
protected double GetInputNumber(string inputPortName)
|
||||
{
|
||||
return GetInputValue(inputPortName).AsNumber();
|
||||
}
|
||||
|
||||
protected string GetInputText(string inputPortName)
|
||||
{
|
||||
return GetInputValue(inputPortName).AsText();
|
||||
}
|
||||
|
||||
protected int GetInputPlayerId(string inputPortName)
|
||||
{
|
||||
return GetInputValue(inputPortName).AsPlayerId();
|
||||
}
|
||||
|
||||
protected int GetInputGroupId(string inputPortName)
|
||||
{
|
||||
return GetInputValue(inputPortName).AsGroupId();
|
||||
}
|
||||
|
||||
protected void SetOutputValue(string outputPortName, BSValue value)
|
||||
{
|
||||
Node?.SetOutputValue(outputPortName, value);
|
||||
}
|
||||
|
||||
protected void SetLocalOutputValue(string outputPortName, BSValue value)
|
||||
{
|
||||
Node?.SetOutputValueLocalOnly(outputPortName, value);
|
||||
}
|
||||
|
||||
protected void SetOutputValueIfChanged(string outputPortName, BSValue value)
|
||||
{
|
||||
BSValue bSValue = value.Normalize();
|
||||
if (!BSValueUtility.Equals(GetOutputValue(outputPortName), bSValue))
|
||||
{
|
||||
SetOutputValue(outputPortName, bSValue);
|
||||
}
|
||||
}
|
||||
|
||||
protected void SetLocalOutputValueIfChanged(string outputPortName, BSValue value)
|
||||
{
|
||||
BSValue bSValue = value.Normalize();
|
||||
if (!BSValueUtility.Equals(GetOutputValue(outputPortName), bSValue))
|
||||
{
|
||||
SetLocalOutputValue(outputPortName, bSValue);
|
||||
}
|
||||
}
|
||||
|
||||
protected BSValue GetOutputValue(string outputPortName)
|
||||
{
|
||||
if (!(Node != null))
|
||||
{
|
||||
return BSValue.None;
|
||||
}
|
||||
return Node.GetOutputValue(outputPortName);
|
||||
}
|
||||
|
||||
protected void SetOutputNumber(string outputPortName, double value)
|
||||
{
|
||||
SetOutputValue(outputPortName, BSValue.FromNumber(value));
|
||||
}
|
||||
|
||||
protected void SetOutputText(string outputPortName, string value)
|
||||
{
|
||||
SetOutputValue(outputPortName, BSValue.FromText(value));
|
||||
}
|
||||
|
||||
protected void SetOutputPlayer(string outputPortName, int playerId)
|
||||
{
|
||||
SetOutputValue(outputPortName, BSValue.FromPlayer(playerId));
|
||||
}
|
||||
|
||||
protected void SetLocalOutputPlayer(string outputPortName, int playerId)
|
||||
{
|
||||
SetLocalOutputValue(outputPortName, BSValue.FromPlayer(playerId));
|
||||
}
|
||||
|
||||
protected void SetOutputGroup(string outputPortName, int groupId)
|
||||
{
|
||||
SetOutputValue(outputPortName, BSValue.FromGroup(groupId));
|
||||
}
|
||||
|
||||
protected void ClearOutputValue(string outputPortName)
|
||||
{
|
||||
SetOutputValue(outputPortName, BSValue.None);
|
||||
}
|
||||
|
||||
protected void TriggerOutput(string outputPortName)
|
||||
{
|
||||
Node?.TriggerRun(outputPortName);
|
||||
}
|
||||
|
||||
protected bool TryGetInputGroup(string inputPortName, out VoxelGroup group)
|
||||
{
|
||||
group = null;
|
||||
if (Node != null)
|
||||
{
|
||||
return Node.TryGetInputGroup(inputPortName, out group);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
protected VoxelGroup GetInputGroup(string inputPortName)
|
||||
{
|
||||
if (!(Node != null))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
return Node.GetInputGroup(inputPortName);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user