Exemple #1
0
	public static void AddNodeSyncForUpdate(HEU_BaseSync nodeSync)
	{
#if UNITY_EDITOR && HOUDINIENGINEUNITY_ENABLED
	    if (!_allSyncNodes.Contains(nodeSync))
	    {
		_allSyncNodes.Add(nodeSync);
	    }
#endif
	}
Exemple #2
0
	public static void RemoveNodeSync(HEU_BaseSync nodeSync)
	{
#if UNITY_EDITOR && HOUDINIENGINEUNITY_ENABLED
	    // Setting the asset reference to null and removing
	    // later in Update in case of removing while iterating the list
	    int index = _allSyncNodes.IndexOf(nodeSync);
	    if (index >= 0)
	    {
		_allSyncNodes[index] = null;
	    }
#endif
	}
Exemple #3
0
	/// <summary>
	/// Base setup for loading geometry.
	/// </summary>
	/// <param name="session">Houdini Engine session</param>
	/// <param name="ownerSync">HEU_BaseSync object owns this and does Unity geometry creation</param>
	/// <param name="loadType">Type of load (file or node)</param>
	/// <param name="cookNodeID">The ID of the node to load geometry from</param>
	/// <param name="name">The name of the node to load geometry from</param>
	/// <param name="filePath">For file load, the path to the fle</param>
	public void SetupLoad(HEU_SessionBase session, HEU_BaseSync ownerSync, LoadType loadType, HAPI_NodeId cookNodeID, string name, string filePath)
	{
	    _loadType = loadType;

	    _filePath = filePath;
	    _ownerSync = ownerSync;
	    _session = session;
	    _name = name;

	    _generateOptions = _ownerSync._generateOptions;

	    // Work data
	    _loadData = new HEU_LoadData();
	    _loadData._cookNodeID = cookNodeID;
	    _loadData._loadStatus = HEU_LoadData.LoadStatus.NONE;
	    _loadData._logStr = "";
	}
	/// <summary>
	/// Initial setup for loading a bgeo file.
	/// </summary>
	/// <param name="filePath">Path to the bgeo file</param>
	/// <param name="ownerSync">HEU_BaseSync object owns this and does Unity geometry creation</param>
	/// <param name="session">Houdini Engine session</param>
	/// <param name="cookNodeID">The file node's ID that was created in Houdini</param>
	public void SetupLoadFile(HEU_SessionBase session, HEU_BaseSync ownerSync, HAPI_NodeId cookNodeID, string filePath)
	{
	    SetupLoad(session, ownerSync, LoadType.FILE, cookNodeID, filePath, filePath);
	}
	/// <summary>
	/// Initial setup for cooking and loading a node's geometry.
	/// </summary>
	/// <param name="session">Houdini Engine session</param>
	/// <param name="ownerSync">HEU_BaseSync object owns this and does Unity geometry creation</param>
	/// <param name="cookNodeID">The load node's ID that was created in Houdini</param>
	/// <param name="name">Name of the node</param>
	public void SetupLoadNode(HEU_SessionBase session, HEU_BaseSync ownerSync, HAPI_NodeId cookNodeID, string name)
	{
	    SetupLoad(session, ownerSync, LoadType.NODE, cookNodeID, name, null);
	}
	/// <summary>
	/// Initial setup for loading an asset (HDA) file.
	/// </summary>
	/// <param name="session">Houdini Engine session</param>
	/// <param name="ownerSync">HEU_BaseSync object owns this and does Unity geometry creation</param>
	/// <param name="assetPath">Path to the asset (HDA) file</param>
	/// <param name="name">Name of the node</param>
	public void SetupLoadAsset(HEU_SessionBase session, HEU_BaseSync ownerSync, string assetPath, string name)
	{
	    SetupLoad(session, ownerSync, LoadType.ASSET, -1, name, assetPath);
	}