Files
RobustToolbox/SS14.Client/Interfaces/UserInterface/IUserInterfaceManager.cs
Acruid 6247ff4eff Console Rework (#483)
* Extracted the logic from DebugConsole into a new ClientConsole class.

* ClientConsole moved to IoC system.
Verb system replaced with concmds.

* Shared Cleanup

* ClientChatConsole skeleton.

* DebugConsole and LobbyChat are now both subscribed to ClientChatConsole.

* Removed server chat commands.

* cleaned up server command sysyem.

* More chat handling, and aliasing.

* Nightly work on Say command.

* Fixes a bug in Maths.Angle.

* Chat channel colors moved to ClientChatConsole.

* Now Server commands are sent without opening DebugConsole.

* Emotes work.
Clientside chat formatting works.

* Fixed angle unit test.
2018-01-04 00:53:41 +01:00

51 lines
1.6 KiB
C#

using System;
using SS14.Client.Graphics;
using SS14.Client.Graphics.Input;
using SS14.Client.UserInterface.Controls;
using System.Collections.Generic;
namespace SS14.Client.Interfaces.UserInterface
{
public interface IUserInterfaceManager
{
IDragDropInfo DragInfo { get; }
void Initialize();
void AddComponent(Control component);
void RemoveComponent(Control component);
void DisposeAllComponents();
void DisposeAllComponents<T>();
void ResizeComponents();
IEnumerable<T> GetAllComponents<T>() where T: Control;
IEnumerable<Control> GetAllComponents(Type type);
T GetSingleComponents<T>() where T : Control;
Control GetSingleComponent(Type type);
bool TryGetSingleComponent<T>(out T control) where T : Control;
bool TryGetSingleComponent(Type type, out Control control);
void SetFocus(Control newFocus);
void RemoveFocus();
bool HasFocus(Control control);
/// <summary>
/// Remove focus, but only if the target is currently focused.
/// </summary>
void RemoveFocus(Control target);
void Update(FrameEventArgs e);
void Render(FrameEventArgs e);
void ToggleMoveMode();
bool KeyDown(KeyEventArgs e);
void MouseWheelMove(MouseWheelScrollEventArgs e);
void MouseMove(MouseMoveEventArgs e);
bool MouseUp(MouseButtonEventArgs e);
bool MouseDown(MouseButtonEventArgs e);
void MouseEntered(EventArgs e);
void MouseLeft(EventArgs e);
bool TextEntered(TextEventArgs e);
}
}