private void DisconnectInputAssetActor(HEU_SessionBase session)
		{
			if (!_inputAssetConnected)
			{
				return;
			}

			if (_inputNodeType == InputNodeType.PARAMETER)
			{
				HEU_ParameterData paramData = _parentAsset.Parameters.GetParameter(_paramName);
				if(paramData == null)
				{
					Debug.LogErrorFormat("Unable to find parameter with name {0}!", _paramName);
				}
				else if (!session.SetParamStringValue(_nodeID, "", paramData.ParmID, 0))
				{
					Debug.LogErrorFormat("Unable to clear object path parameter for input node!");
				}
			}
			else if(session != null && _nodeID != HEU_Defines.HEU_INVALID_NODE_ID)
			{
				session.DisconnectNodeInput(_nodeID, _inputIndex, false);
			}

			HEU_HoudiniAssetRoot inputAssetRoot = _inputAsset != null ? _inputAsset.GetComponent<HEU_HoudiniAssetRoot>() : null;
			if (inputAssetRoot != null)
			{
				_parentAsset.DisconnectFromUpstream(inputAssetRoot._houdiniAsset);
			}

			// Must clear this and not delete as this points to existing asset node.
			// If _inputObjectType changes to MESH, node with this ID will get deleted. 
			_connectedNodeID = HEU_Defines.HEU_INVALID_NODE_ID;
			_inputAssetConnected = false;
		}
Beispiel #2
0
		private void ClearConnectedInputAsset()
		{
			if (_connectedInputAsset != null)
			{
				HEU_HoudiniAssetRoot inputAssetRoot = _connectedInputAsset != null ? _connectedInputAsset.GetComponent<HEU_HoudiniAssetRoot>() : null;
				if (inputAssetRoot != null)
				{
					_parentAsset.DisconnectFromUpstream(inputAssetRoot._houdiniAsset);
				}
				_connectedInputAsset = null;
			}
		}
	private void ClearConnectedInputHDAs()
	{
	    int numInputs = _inputAssetInfos.Count;
	    for (int i = 0; i < numInputs; ++i)
	    {
		if (_inputAssetInfos[i] == null)
		{
		    continue;
		}

		HEU_HoudiniAssetRoot inputAssetRoot = _inputAssetInfos[i]._connectedGO != null ? _inputAssetInfos[i]._connectedGO.GetComponent<HEU_HoudiniAssetRoot>() : null;
		if (inputAssetRoot != null)
		{
		    _parentAsset.DisconnectFromUpstream(inputAssetRoot._houdiniAsset);
		}

		_inputAssetInfos[i]._connectedGO = null;
		_inputAssetInfos[i]._connectedInputNodeID = HEU_Defines.HEU_INVALID_NODE_ID;
	    }
	}