Files
CartoonRPG/Library/PackageCache/com.unity.visualeffectgraph@2973a8ac1070/Editor/GraphView/Elements/Controllers/VFXBlockController.cs

65 lines
1.8 KiB
C#
Raw Normal View History

2025-06-05 22:59:18 +01:00
using System;
using UnityEditor.Experimental.GraphView;
using UnityEngine;
using System.Collections.Generic;
using System.Reflection;
using System.Linq;
using Object = UnityEngine.Object;
namespace UnityEditor.VFX.UI
{
class VFXBlockController : VFXNodeController
{
VFXContextController m_ContextController;
public VFXBlockController(VFXBlock model, VFXContextController contextController) : base(model, contextController.viewController)
{
m_ContextController = contextController;
if (model is VFXSubgraphBlock)
{
// Prevent breaking the editor opening.
try
{
(model as VFXSubgraphBlock).RecreateCopy();
}
catch (Exception e)
{
Debug.LogException(e);
}
}
}
protected override VFXDataAnchorController AddDataAnchor(VFXSlot slot, bool input, bool hidden)
{
if (input)
{
VFXContextDataInputAnchorController anchorController = new VFXContextDataInputAnchorController(slot, this, hidden);
return anchorController;
}
else
{
VFXContextDataOutputAnchorController anchorController = new VFXContextDataOutputAnchorController(slot, this, hidden);
return anchorController;
}
}
public VFXContextController contextController
{
get { return m_ContextController; }
}
public new VFXBlock model
{
get { return base.model as VFXBlock; }
}
public int index
{
get { return m_ContextController.FindBlockIndexOf(this); }
}
}
}