Beispiel #1
0
        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);
        }
Beispiel #2
0
        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!");
            }
        }
Beispiel #3
0
 /// <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);
 }
Beispiel #5
0
        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());
        }