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

рдЬреАрдпреВрдЖрдИ рд╡рд░реНрдЧ рдореЗрдВ рдЧреБрдгреЛрдВ рдХреА рд╕реВрдЪреА рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдореБрдЭреЗ рдХреБрдЫ рднреА рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рдорд┐рд▓рд╛, рдлрд┐рд░ рдореИрдВрдиреЗ GUIUtility рдХреЛ рджреЗрдЦрд╛, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ GUILayout рдореЗрдВ рднреА рджреЗрдЦрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдРрд╕реА рдХреЛрдИ рд╕рдВрдкрддреНрддрд┐ рдХрд╣реАрдВ рдирд╣реАрдВ рдереАред рдЗрд╕ рдЕрдиреБрд░реЛрдз рдкрд░ Googling Q & A рдореЗрдВ рдХрдИ рдкреНрд░рд╢реНрди рдЙрдард╛рддрд╛ рд╣реИ рдФрд░ рдСрдл рдкрд░ рдХреБрдЫ рдЫреЛрдЯреЗ рдкреЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИред "рдЖрдк рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ," рдХреА рд╢реИрд▓реА рдореЗрдВ рдЙрддреНрддрд░ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдлрд╝реЛрд░рдо, рд▓реЗрдХрд┐рди рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЯреНрд░реИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рд╡рд┐рдВрдбреЛ рдХреЛ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рд╕рдХреНрд░рд┐рдп рд╡рд┐рдВрдбреЛ рдЪрд░ рдореЗрдВ рд╕реНрд╡рдпрдВ рднрд░реЗрдВред "
рд╣рдореЗрдВ рд╡рд╣рд╛рдВ рд╕реЗ рдЬреЛ рднреА рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЙрд╕рдореЗрдВ рд╕реЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рдПрдХ рдЖрджрдореА рдиреЗ рдореБрдЭреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рдЪрд╛рд░ рджрд┐рдпрд╛ред рд╣рдо C # рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдо C # рдкрд░рд╛рд╡рд░реНрддрди рд╕рд╣рд┐рдд рдЗрд╕ рднрд╛рд╖рд╛ рдХреЗ рд╕рднреА рд▓рд╛рднреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рд╣рд┐рдореНрдордд
рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛
Dis # рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рддреБрд░рдВрдд
GUI рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЧрдпрд╛ред
рд╡рд┐рдВрдбреЛpublic static Rect Window(int id, Rect clientRect, GUI.WindowFunction func, string text) { return GUI.DoWindow(id, clientRect, func, GUIContent.Temp(text), GUI.skin.window, true); } internal static Rect DoWindow(int id, Rect clientRect, GUI.WindowFunction func, GUIContent title, GUIStyle style, bool forceRectOnLayout) { GUIUtility.CheckOnGUI(); GUI._Window _window = (GUI._Window)GUI._WindowList.instance.windows[id]; if (_window == null) { _window = new GUI._Window(id); GUI._WindowList.instance.windows[id] = _window; GUI.s_LayersChanged = true; } if (!_window.moved) _window.rect = clientRect; _window.moved = false; _window.opacity = 1.0F; _window.style = style; _window.title.text = title.text; _window.title.image = title.image; _window.title.tooltip = title.tooltip; _window.func = func; _window.used = true; _window.enabled = GUI.enabled; _window.color = GUI.color; _window.backgroundColor = GUI.backgroundColor; _window.matrix = GUI.matrix; _window.skin = GUI.skin; _window.contentColor = GUI.contentColor; _window.forceRect = forceRectOnLayout; return _window.rect; }
рд╣рд╛рдБ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡реЗ рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ рдЦреАрдВрдЪреА рдЧрдИ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо
GUI рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред
RingWindowToFront public static void BringWindowToFront(int windowID) { GUIUtility.CheckOnGUI(); GUI._Window _window1 = GUI._WindowList.instance.Get(windowID); if (_window1 != null) { int i = 0; foreach (GUI._Window _window2 in GUI._WindowList.instance.windows.Values) { if (_window2.depth < i) i = _window2.depth; } _window1.depth = i - 1; GUI.s_LayersChanged = true; } }
рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ, GUI рд╡рд░реНрдЧ рдореЗрдВ рдПрдХ
рдПрдХрд▓ рд╡рд░реНрдЧ
_WindowList рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдПрдХ
рдЧрд╣рд░рд╛рдИ рд╣реИ ред
рдЧрд╣рд░рд╛рдИ рдХрд╛ рдХреНрд░рдо рдЕрд╡рд░реЛрд╣реА рдХреНрд░рдо рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рд╕рдм рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╕реВрдЪреА рд╣реИред
internal sealed class _WindowList { internal Hashtable windows; internal static GUI._WindowList instance; .......
рддреЛ рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рд╛ :)
рд╣рдо рдЕрдЪреНрдЫрд╛ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрдВрдХреНрд╢рди рд▓рд┐рдЦрддреЗ рд╣реИрдВ
рд╕рдорд╛рд░реЛрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рд╣реИ рдФрд░ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЛрдИ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЬрд░реВрд░рдд рд╣реИред
рдиреЛрдЯ: рдпрджрд┐ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ OnGUI () рдИрд╡реЗрдВрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЗрд╕реЗ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдФрд░ рд╣реИрд╢рдЯреЗрдмрд▓ рдХреЛ рдПрдХ рд╡рд░реНрдЧ рдЪрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рдкреНрд░рдХрд╛рд░реЛрдВ рдФрд░ рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдордп рди рдЧрдВрд╡рд╛рдПрдВредрдорд╛рдЗрдирд╕рд░реНрд╕ рдХреЗ рд▓рд┐рдП: рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИрдВ, рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдЦрд┐рдбрд╝рдХреА рдЕрдм рдХрд┐рд╕ рд╕реНрддрд░ рдкрд░ рд╣реИ, рддреЛ рдпрд╣ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ