public virtual LE_PopupFileSelection SetFiles(string[] p_names, string[] p_iconPaths, System.Action <int> p_onSelectedCallback, System.Action <int> p_onDeleteCallback, bool p_isCloseOnClick) { if (m_filePicker != null) { m_filePicker.gameObject.SetActive(true); uMyGUI_TreeBrowser.Node[] browserNodes = new uMyGUI_TreeBrowser.Node[p_names.Length]; for (int i = 0; i < p_names.Length; i++) { string nodeText = p_names[i]; string nodeIconPath = p_iconPaths.Length > i ? p_iconPaths[i] : ""; LE_LevelFileNode.SendMessageInitData nodeData = new LE_LevelFileNode.SendMessageInitData(i, nodeText, nodeIconPath, false); if (p_onDeleteCallback != null) { nodeData.m_onDelete = () => p_onDeleteCallback(nodeData.m_id); } browserNodes[i] = new uMyGUI_TreeBrowser.Node(nodeData, null); } m_filePicker.OnLeafNodeClick += (object p_object, uMyGUI_TreeBrowser.NodeClickEventArgs p_args) => { LE_LevelFileNode.SendMessageInitData data = (LE_LevelFileNode.SendMessageInitData)p_args.ClickedNode.SendMessageData; p_onSelectedCallback(data.m_id); if (m_audioSources.Length > 0 && m_audioSources[0] != null) { m_audioSources[0].Play(); } if (p_isCloseOnClick) { Hide(); } }; m_filePicker.BuildTree(browserNodes); } return(this); }
private void SetSelectedObjectVariationPropertyValue(int p_usedVariationIndex, LE_ObjectVariationBase[] p_variations) { if (m_usedVariationIndex == p_usedVariationIndex && m_variations == p_variations) { return; } // nothing has changed m_usedVariationIndex = p_usedVariationIndex; m_variations = p_variations; if (OBJECT_VARIATION_BROWSER != null) { // reset variation browser OBJECT_VARIATION_BROWSER.Clear(); OBJECT_VARIATION_BROWSER.OnLeafNodePointerDown = null; // refill variation browser if needed bool isInteractable = p_variations != null && p_variations.Length > 1; if (isInteractable) { uMyGUI_TreeBrowser.Node[] browserNodes = new uMyGUI_TreeBrowser.Node[p_variations.Length]; for (int i = 0; i < p_variations.Length; i++) { browserNodes[i] = new uMyGUI_TreeBrowser.Node(new LE_TextPrefabNode.SendMessageInitData(i, p_variations[i].GetName(), p_usedVariationIndex == i), null); } OBJECT_VARIATION_BROWSER.OnLeafNodePointerDown += (object p_object, uMyGUI_TreeBrowser.NodeClickEventArgs p_args) => { LE_TextPrefabNode.SendMessageInitData data = (LE_TextPrefabNode.SendMessageInitData)p_args.ClickedNode.SendMessageData; LE_GUIInterface.Instance.OnSelectedObjectVariationIndexChanged(data.m_id); }; OBJECT_VARIATION_BROWSER.BuildTree(browserNodes); } if (OBJECT_VARIATION_MENU != null) { OBJECT_VARIATION_MENU.gameObject.SetActive(isInteractable); } } else { Debug.LogError("LE_GUIInterface_uGUIimpl: SetSelectedObjectVariationPropertyValue: OBJECT_VARIATION_BROWSER is not set in inspector!"); } }
/// <summary> /// This method will convert the gives Steam score entries to UI nodes, which can be passed to the item browser. /// </summary> protected virtual uMyGUI_TreeBrowser.Node[] ConvertScoresToNodes(List <LeaderboardsScoreEntry> p_scores) { uMyGUI_TreeBrowser.Node[] nodes = new uMyGUI_TreeBrowser.Node[p_scores.Count]; for (int i = 0; i < p_scores.Count; i++) { if (p_scores[i] != null) { SteamLeaderboardsScoreEntryNode.SendMessageInitData data = new SteamLeaderboardsScoreEntryNode.SendMessageInitData() { ScoreEntry = p_scores[i] }; uMyGUI_TreeBrowser.Node node = new uMyGUI_TreeBrowser.Node(data, null); nodes[i] = node; } else { Debug.LogError("SteamLeaderboardsUI: ConvertScoresToNodes: score at index '" + i + "' is null!"); } } return(nodes); }
/// <summary> /// This method will convert the gives Steam items to UI nodes, which can be passed to the item browser. /// </summary> protected virtual uMyGUI_TreeBrowser.Node[] ConvertItemsToNodes(WorkshopItem[] p_items) { uMyGUI_TreeBrowser.Node[] nodes = new uMyGUI_TreeBrowser.Node[p_items.Length]; for (int i = 0; i < p_items.Length; i++) { if (p_items[i] != null) { SteamWorkshopItemNode.SendMessageInitData data = new SteamWorkshopItemNode.SendMessageInitData() { Item = p_items[i] }; uMyGUI_TreeBrowser.Node node = new uMyGUI_TreeBrowser.Node(data, null); nodes[i] = node; m_uiNodeToSteamItem.Add(node, p_items[i]); } else { Debug.LogError("SteamWorkshopUIBrowse: ConvertItemsToNodes: item at index '" + i + "' is null!"); } } return(nodes); }
private uMyGUI_TreeBrowser.Node[] SetObjectsRecursive(LE_ObjectMap p_objectMap, int p_indentLevel) { List <uMyGUI_TreeBrowser.Node> nodes = new List <uMyGUI_TreeBrowser.Node>(); // inner nodes for (int i = 0; i < p_objectMap.SubObjectMaps.Length; i++) { if (p_objectMap.SubObjectMaps[i] != null) { LE_ObjectCategoryNode.SendMessageInitData data = new LE_ObjectCategoryNode.SendMessageInitData(p_objectMap.SubObjectMaps[i].name, p_indentLevel); nodes.Add(new uMyGUI_TreeBrowser.Node(data, SetObjectsRecursive(p_objectMap.SubObjectMaps[i], p_indentLevel + 1))); } else { Debug.LogError("LE_GUIInterface_uGUIimplDungeon: SetObjectsRecursive: sub object map from map '" + p_objectMap.name + "'" + " at index '" + i + "' is null!"); } } // leafs for (int i = 0; i < p_objectMap.ObjectPrefabs.Length; i++) { if (p_objectMap.ObjectPrefabs[i] != null) { LE_ObjectPrefabNode.SendMessageInitData data = new LE_ObjectPrefabNode.SendMessageInitData(p_objectMap.ObjectPrefabs[i], p_indentLevel); uMyGUI_TreeBrowser.Node node = new uMyGUI_TreeBrowser.Node(data, null); nodes.Add(node); m_nodeToObject.Add(node, p_objectMap.ObjectPrefabs[i]); m_nodeToResourcePath.Add(node, p_objectMap.ObjectPrefabResourcePaths[i]); } else { Debug.LogError("LE_GUIInterface_uGUIimplDungeon: SetObjectsRecursive: object from map '" + p_objectMap.name + "'" + " at index '" + i + "' is null!"); } } return(nodes.ToArray()); }