рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП

рдмрд╣реБрдд рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдПрдХрддрд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рд╣рдореЗрдВ рдирдП рд╕рдВрд╕реНрдХрд░рдг 4.5 (рдФрд░ 4.6 рдореЗрдВ, рдмрд╣реБрдд рдЬрд▓реНрдж, рдПрдХ рдирдпрд╛ рдЬреАрдпреВрдЖрдИ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЦреБрд╢ рд╣реИ!) рдХреЗ рд╕рд╛рде рдЦреБрд╢ рдХрд┐рдпрд╛, рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рдмреАрдЪ, рдкрджрд╛рдиреБрдХреНрд░рдо рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЫрдВрдЯрдиреА рд╡рд╛рд▓реА рдПрдХ рдЖрдЗрдЯрдо рдЪрд┐рдВрддрд╛: рддрддреНрд╡реЛрдВ рдХреА рдЫрдВрдЯрд╛рдИ рдЕрдм рдкрд░рд┐рд╡рд░реНрддрди рдХреНрд░рдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ! рдирд╛рдо рдХрд╛ "ред



рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдЖрдк рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдХреНрд░рдо рдореЗрдВ рдкрджрд╛рдиреБрдХреНрд░рдо рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЖрдЗрдЯрдо рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЕрдЧрд░ рдкрд╣рд▓реЗ рдЖрдкрдиреЗ рдирд╛рдо рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЫрдБрдЯрд╛рдИ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рджреГрд╢реНрдп рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдерд╛, рддреЛ рдЕрдм рдордВрдЪ рдкрд░ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдЧрдбрд╝рдмрдбрд╝ рд╣реЛ рдЧрдИ рд╣реИред



рд╣рдо рдЬреИрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рдереЗ рд╡реИрд╕рд╛ рд╣реА рдХрд░ рдкрд╛рдП ... рд▓реЗрдХрд┐рди рд╣рдо рдмреЗрд╣рддрд░ рдХрд░реЗрдВрдЧреЗред



рддрд╕реНрд╡реАрд░ рдореЗрдВ рдЖрдк рддреАрди рд╕рд╣рд╛рдпрдХ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдирд╛рдо рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реЙрд░реНрдЯрд┐рдВрдЧ рджреЗрдЦрддреЗ рд╣реИрдВ, рдЬреЛ рдиреАрдЪреЗ рд╕реНрдерд┐рдд рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдЗрдХрди рдкреИрдВрдЯ рдХреЗ рд░рдВрдЧ рднреЗрджрднрд╛рд╡ рдХреЗ рдХрд╛рд░рдг рдЬрдЯрд┐рд▓ рджреГрд╢реНрдпреЛрдВ рдХреЛ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред



рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХрддрд╛ рдПрдХ рдЕрддреНрдпрдВрдд рд▓рдЪреАрд▓рд╛ рдЙрдкрдХрд░рдг рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдПрдХ рд╣рдЬрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рддреИрдпрд╛рд░ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпреВрдирд┐рдЯреА рдПрдбрд┐рдЯрд░ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ рд╕реНрдерд┐рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрдкрд╛рджрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ (рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж) рдбрд╛рд▓ рджреЗрдВред



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЪрд▓рд┐рдП BaseHierarchySort рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ ред рдпрджрд┐ рдЖрдкрдиреЗ C # рдореЗрдВ IComparable рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рддреБрд░рдВрдд рд╕рдордЭ рдЬрд╛рдПрдВрдЧреЗ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдПрдХрддрд╛ рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬреЛ рдХрд┐ рдмреЗрд╕рд╣рд╛рдЗрд░рд╛рд░реНрдХреАрд╕реЙрд░реНрдЯ рдХреНрд▓рд╛рд╕ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╣реИ рдФрд░ int рддреБрд▓рдирд╛ рд╡рд┐рдзрд┐ (GameObject, GameObject) рд╕реЗ рдЖрдЧреЗ рдирд┐рдХрд▓рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рджреЛ рд╡рд╕реНрддреБрдУрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдкрд╣рд▓реЗ рдХреЛ рджреВрд╕рд░реЗ рд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рд╡рд┐рдзрд┐ -1 рд▓реМрдЯрдиреА рдЪрд╛рд╣рд┐рдП, рдпрджрд┐ рдмрд╛рдж рдореЗрдВ - 1, рдЕрдиреНрдпрдерд╛ - 0ред



рдпрд╣ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП EditorUtility.NaturalCompare (string, string) рдкрджреНрдзрддрд┐ рдХрд╛ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреЛ рджреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рддреБрд▓рдирд╛ "рдорд╛рдирд╡" рддрд░реАрдХреЗ рд╕реЗ рдХрд░рддрд╛ рд╣реИ (рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реБрдП)ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ "xx11" "xx2" рдХреЗ рдмрд╛рдж рдЖрддрд╛ рд╣реИред

рдореИрдВ рдЕрдзрд┐рдХ рдорд╛рдирдХ inhumane Windows рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдорд╛рдирдХ String.Compare (string, string) рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:



public class CustomHierarchySorting : BaseHierarchySort { public override int Compare(GameObject lhs, GameObject rhs) { if (lhs == rhs) return 0; if (lhs == null) return -1; if (rhs == null) return 1; if (lhs.tag == "Auxiliary" && rhs.tag != "Auxiliary") return 1; if (lhs.tag != "Auxiliary" && rhs.tag == "Auxiliary") return -1; return String.Compare(lhs.name, rhs.name); } }
      
      







рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, "рд╕рд╣рд╛рдпрдХ" рдЯреИрдЧ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдПрдВ рдЫрдБрдЯрд╛рдИ рдХрд░рддреЗ рд╕рдордп рд╕реВрдЪреА рдХреЗ рдЕрдВрдд рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреАред



рдЬреИрд╕реЗ рд╣реА рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдбрд┐рдЯрд░ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рдПрдХ рдмрдЯрди рд╣рд┐рдпрд░рд╛рд░реНрдХреА рд╡рд┐рдВрдбреЛ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдЬреЛ рдЖрдкрдХреЛ рдпрд╣ рдЪреБрдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдХрд┐ рдХрд┐рд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдП:





рдЦреИрд░, рд╣рдордиреЗ рдХрдИ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рдЖрдЗрдХрди рдХреЗ рд╕рд╛рде рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛрдЧрд╛ред



рдЬрд▓реНрджреА рдореЗрдВ, рдореИрдВрдиреЗ рдХрдИ рдмрд╣реБ-рд░рдВрдЧреАрди рдЖрдЗрдХрди рдЦреАрдВрдЪреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдкрд╛рджрдХ \ _ рдЖрдЗрдХрди рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬреЛрдбрд╝рд╛:











рдкреНрд░рддреАрдХ рдЬреЛрдбрд╝рдирд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реЙрд░реНрдЯрд┐рдВрдЧ, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдПрдХрддрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рддрд░реАрдХреЛрдВ рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред



рд╣рдо EditorApplication.hierarchyWindowChanged () рдИрд╡реЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдХрд┐ рд╣рд░ рдмрд╛рд░ рдкрджрд╛рдиреБрдХреНрд░рдо рд╡рд┐рдВрдбреЛ рдЕрдкрдбреЗрдЯ рд╣реЛрдиреЗ рдкрд░ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ EditorApplication.hierarchyWindowItemOnGUI (int, Rect) , рдЬрд┐рд╕реЗ рдкрджрд╛рдиреБрдХреНрд░рдо рд╡рд┐рдВрдбреЛ рдореЗрдВ рддрддреНрд╡ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрддреНрд╡ рдЖрдИрдбреА рдХреЛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд╡рд┐рдзрд┐ рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИред



рд╣рдо рдпреВрдиреАрдЧреЗрдЬрдСрдирд▓реЛрдб рдХреНрд▓рд╛рд╕ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдХреА рдмрджреМрд▓рдд рдХреНрд▓рд╛рд╕ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ (рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдЗрди рдЗрд╡реЗрдВрдЯреНрд╕ рдХреЛ рд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм рдХрд░рддреЗ рд╣реИрдВ) рдХреЛ рдпреВрдирд┐рдЯреА рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛:



 [InitializeOnLoad] public class HierarchyIcons { static readonly Texture2D Cyan; static readonly Texture2D Orange; static readonly Texture2D Yellow; static readonly Texture2D Gray; static readonly List<int> CyanMarked = new List<int>(); static readonly List<int> OrangeMarked = new List<int>(); static readonly List<int> YellowMarked = new List<int>(); static readonly List<int> GrayMarked = new List<int>(); static HierarchyIcons() { Cyan = AssetDatabase.LoadAssetAtPath("Assets/Editor/Icons/IconCyan.png", typeof(Texture2D)) as Texture2D; Orange = AssetDatabase.LoadAssetAtPath("Assets/Editor/Icons/IconOrange.png", typeof(Texture2D)) as Texture2D; Yellow = AssetDatabase.LoadAssetAtPath("Assets/Editor/Icons/IconYellow.png", typeof(Texture2D)) as Texture2D; Gray = AssetDatabase.LoadAssetAtPath("Assets/Editor/Icons/IconGray.png", typeof(Texture2D)) as Texture2D; EditorApplication.hierarchyWindowChanged += Update; EditorApplication.hierarchyWindowItemOnGUI += DrawHierarchyItemIcon; } static void Update() { CyanMarked.Clear(); OrangeMarked.Clear(); YellowMarked.Clear(); GrayMarked.Clear(); GameObject[] go = Object.FindObjectsOfType(typeof(GameObject)) as GameObject[]; foreach (GameObject g in go) { if (g == null) continue; int instanceId = g.GetInstanceID(); if (g.tag == "Player") OrangeMarked.Add(instanceId); else if (g.tag == "Interactive") CyanMarked.Add(instanceId); else if (g.tag == "Auxiliary") YellowMarked.Add(instanceId); else GrayMarked.Add(instanceId); } } static void DrawHierarchyItemIcon(int instanceId, Rect selectionRect) { Rect r = new Rect(selectionRect); rx += r.width - 25; r.width = 18; if (CyanMarked.Contains(instanceId)) GUI.Label(r, Cyan); if (OrangeMarked.Contains(instanceId)) GUI.Label(r, Orange); if (YellowMarked.Contains(instanceId)) GUI.Label(r, Yellow); if (GrayMarked.Contains(instanceId)) GUI.Label(r, Gray); } }
      
      







рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, HierarchyView рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрджреНрдпрддрди рдХреЗ рд╕рд╛рде, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрдЗрдХрди рдХреЗ рдЕрдиреБрд░реВрдк рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рдЗрди рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЯреИрдЧ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдШрдЯрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддреЛ рдЖрдк рдЙрди рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдЗрдХрди рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ Collider рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рд╣реА рд╣реИред



рд╣реЛ рдЧрдпрд╛!



рдореИрдВ рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЖрдЗрдХрди рдХреЗ рд╕рд╛рде рдЗрд╕ рддрд░рд╣ рдХреА рдЬреЛрдбрд╝рддреЛрдбрд╝ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдШрдЯрдХреЛрдВ рдХреА рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдорд╛рдЙрд╕ рдХреЗ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЛ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЧреЗрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ, рдЖрдк рдкрджрд╛рдиреБрдХреНрд░рдо рд╡рд┐рдВрдбреЛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рджрд╕реНрдпрддрд╛ / рд╕рджрд╕реНрдпрддрд╛ рд░рджреНрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП HierarchyIcons рд╡рд░реНрдЧ рд╕реНрдерд┐рд░ рддрд░реАрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред



All Articles