* attempt at moving MainViewport to UIWidget

* oldchat (prototype)

* separate oldchat and default ss14 HUD into their own files

* restores original default game screen logic and adds that logic into separated chat game screen

* hand reloading, several tweaks to port oldchat to main ss14 branch

oldchat is currently not selectable

* screen type cvar, gameplay state screen reloading/loading

* reload screen on ui layout cvar change

* fixes up basic reloading (HUD switching is still very bad)

* some UI widget reloading for main UI screen switching

* alert sync on screen change

* inventory reload

* hotbar margin fix

* chat bubbles above viewport

* whoops

* fixes ordering of speech bubble root

* should fix the chat focus issue (at least in-game, not lobby yet)

* should fix up the lobby/game chat focus

* fixes chat for lobby, turns lobby into a UI state

* viewport UI controller

* viewport ratio selection

* whoops

* adds the /tg/ widescreen ratio

* removes warning from inventory UI controller, adds background to separated chat game screen's chat portion

* menu button reload

* unload menu buttons only from gameplay state shutdown

* bugfix

* character button fix

* adds config options for viewport width/UI layout

* variable naming changes, get or null instead of get to avoid exceptions

* moves entity system get into controller
This commit is contained in:
Flipp Syder
2022-10-17 15:13:41 -07:00
committed by GitHub
parent 730eddf0ab
commit a3dafd88dc
37 changed files with 910 additions and 208 deletions

View File

@@ -186,6 +186,22 @@ public sealed class ChatUIController : UIController
InputCmdHandler.FromDelegate(_ => CycleChatChannel(false)));
}
public void SetMainChat(bool setting)
{
// This isn't very nice to look at.
var widget = UIManager.ActiveScreen?.GetWidget<ChatBox>();
if (widget == null)
{
widget = UIManager.ActiveScreen?.GetWidget<ResizableChatBox>();
if (widget == null)
{
return;
}
}
widget.Main = setting;
}
private void FocusChat()
{
foreach (var chat in _chats)
@@ -230,13 +246,13 @@ public sealed class ChatUIController : UIController
}
UpdateChannelPermissions();
}
if (_speechBubbleRoot.Parent == UIManager.StateRoot)
return;
public void SetSpeechBubbleRoot(LayoutContainer root)
{
_speechBubbleRoot.Orphan();
root.AddChild(_speechBubbleRoot);
LayoutContainer.SetAnchorPreset(_speechBubbleRoot, LayoutContainer.LayoutPreset.Wide);
UIManager.StateRoot.AddChild(_speechBubbleRoot);
_speechBubbleRoot.SetPositionLast();
}
@@ -701,6 +717,11 @@ public sealed class ChatUIController : UIController
return MapLocalIfGhost(PreferredChannel);
}
public void NotifyChatTextChange()
{
_typingIndicator?.ClientChangedChatText();
}
private readonly record struct SpeechBubbleData(string Message, SpeechBubble.SpeechType Type);
private sealed class SpeechBubbleQueueData