public static void AddNodeSyncForUpdate(HEU_BaseSync nodeSync) { #if UNITY_EDITOR && HOUDINIENGINEUNITY_ENABLED if (!_allSyncNodes.Contains(nodeSync)) { _allSyncNodes.Add(nodeSync); } #endif }
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 }
/// <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); }