diff --git a/src/gui/PlayGui.hx b/src/gui/PlayGui.hx index 7dca49d8..6a70430d 100644 --- a/src/gui/PlayGui.hx +++ b/src/gui/PlayGui.hx @@ -106,6 +106,10 @@ class PlayGui { var totalGems:Int = 0; + var chatHudCtrl:GuiControl; + var chatHud:GuiMLText; + var chats:Array; + public function dispose() { if (_init) { playGuiCtrlOuter.dispose(); @@ -122,6 +126,13 @@ class PlayGui { playerListScoresShadowCtrl.dispose(); playerListScoresShadowCtrl = null; } + if (chatHudCtrl != null) { + chatHudCtrl.dispose(); + chatHudCtrl = null; + chatHud.dispose(); + chatHud = null; + chats = null; + } for (textureResource in textureResources) { textureResource.release(); @@ -189,8 +200,10 @@ class PlayGui { if (game == 'ultra') initBlastBar(); initTexts(); - if (MarbleGame.instance.world.isMultiplayer) + if (MarbleGame.instance.world.isMultiplayer) { initPlayerList(); + initChatHud(); + } // if (Settings.optionsSettings.frameRateVis) // initFPSMeter(); @@ -647,6 +660,27 @@ class PlayGui { }); } + public function initChatHud() { + var arial14fontdata = ResourceLoader.getFileEntry("data/font/Arial Bold.fnt"); + var arial14b = new BitmapFont(arial14fontdata.entry); + @:privateAccess arial14b.loader = ResourceLoader.loader; + var arial14 = arial14b.toSdfFont(cast 16 * Settings.uiScale, MultiChannel); + + this.chatHudCtrl = new GuiControl(); + this.chatHudCtrl.position = new Vector(playGuiCtrl.extent.x - 201, 150); + this.chatHudCtrl.extent = new Vector(150, 200); + this.chatHudCtrl.horizSizing = Left; + this.playGuiCtrl.addChild(chatHudCtrl); + + this.chats = []; + this.chatHud = new GuiMLText(arial14, (s) -> arial14); + this.chatHud.position = new Vector(0, 0); + this.chatHud.extent = new Vector(150, 200); + this.chatHudCtrl.addChild(chatHud); + + this.chatHud.text.text = "User 1: Hi
User 2: Hello
User 3: Hey"; + } + var blastValue:Float = 0; public function setBlastValue(value:Float) {