public void ConvertParameterToInline() { VFXParameter newParameter = m_ViewController.AddVFXParameter(Vector2.zero, VFXLibrary.GetParameters().First(t => t.model.type == typeof(AABox))); m_ViewController.LightApplyChanges(); VFXParameterController parameterController = m_ViewController.GetParameterController(newParameter); parameterController.model.AddNode(new Vector2(123, 456)); AABox value = new AABox { center = new Vector3(1, 2, 3), size = new Vector3(4, 5, 6) }; parameterController.value = value; m_ViewController.LightApplyChanges(); VFXParameterNodeController parameterNode = parameterController.nodes.First(); parameterNode.ConvertToInline(); VFXInlineOperator op = m_ViewController.graph.children.OfType <VFXInlineOperator>().First(); Assert.AreEqual(new Vector2(123, 456), op.position); Assert.AreEqual(typeof(AABox), op.type); Assert.AreEqual(value, op.inputSlots[0].value); }
void CreateDataEdges(VFXContextController updateContext, List <VFXParameter> parameters) { m_ViewController.ApplyChanges(); foreach (var param in parameters) { VFXParameterNodeController paramController = m_ViewController.allChildren.OfType <VFXParameterNodeController>().First(t => t.model == param); VFXDataAnchorController outputAnchor = paramController.outputPorts.First() as VFXDataAnchorController; System.Type type = outputAnchor.portType; bool found = false; foreach (var block in updateContext.blockControllers) { foreach (var anchor in block.inputPorts) { if (anchor.portType == type) { found = true; (anchor as VFXDataAnchorController).model.Link(outputAnchor.model); break; } } if (found) { break; } } } }