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; }
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; } }