void InitLabels() { LoggedInAs = InstantiateChild <LMS_GuiBaseLabel>(new LMS_GuiConfig() { Rect = new Rect(0f, 68f, 500f, 134f), Text = "", RenderStyle = new GUIStyle { fontSize = 19, fontStyle = FontStyle.Bold, alignment = TextAnchor.MiddleCenter, normal = { textColor = Color.white } } }, 15); Msgs = new LMS_GuiBaseLabel[8]; float ypos = 1f; for (int i = 0; i < Msgs.Length; i++) { LMS_GuiBaseLabel lab = InstantiateChild <LMS_GuiBaseLabel>(new LMS_GuiConfig() { Rect = new Rect(30f, 60f + ypos * 50f, 500f, 134f), Text = "", RenderStyle = new GUIStyle { fontSize = 14, fontStyle = FontStyle.Bold, alignment = TextAnchor.MiddleLeft } }, 15); lab.Constraints["viewtick"] = (int)ypos; lab.RegisterClientViewTick((view) => { try { List <LMS_Chat.ChatMsg> msg = LMS_SessionServerPeer.Instance.Chat.Messages; LMS_Chat.ChatMsg m = msg[msg.Count - lab.Constraints["viewtick"]]; lab.Config.RenderStyle.normal.textColor = LMS_SessionServerPeer.Instance.Chat[m.Type]; lab.Config.Text = LMS_GuiBaseLabelBoundaries.WrapText(LMS_Chat.FixedName(m.Prefix, m.User) + ' ' + m.Text, 16, 400f); } catch { lab.Config.Text = ""; } }, null); ypos++; InitLabelDefault(lab); lab.SetRenderMode(E_ColorFlags.FIXED); Msgs[i] = lab; } SendButtonLabel = InstantiateChild <LMS_GuiBaseLabel>(new LMS_GuiConfig() { Rect = new Rect(30f, 530f, 431f, 150f), Text = "Send Message", RenderStyle = new GUIStyle { fontSize = 19, fontStyle = FontStyle.Bold, alignment = TextAnchor.MiddleCenter, normal = { textColor = Color.white } } }, 15); MsgTextFieldRenderer = InstantiateChild <LMS_GuiBaseLabel>(new LMS_GuiConfig() { Rect = new Rect(30f, 495f, 431f, 150f), Text = "", RenderStyle = new GUIStyle { fontSize = 19, fontStyle = FontStyle.Bold, alignment = TextAnchor.MiddleCenter, normal = { textColor = Color.white } } }, 15); InitLabelDefault(LoggedInAs); InitLabelDefault(SendButtonLabel); InitLabelDefault(MsgTextFieldRenderer); LoggedInAs.RegisterClientViewTick((view) => { LoggedInAs.Config.SetText(LMS_SessionServerPeer.Instance.Peer == null ? "dank memes kid" : "Logged in as " + LMS_SessionServerPeer.Instance.Peer.user); }, null); MsgTextFieldRenderer.RegisterClientViewTick((view) => { MsgTextFieldRenderer.Config.Text = MsgTextField.TextToRender; }, null); }
public void SendChatMessage(LMS_Chat.ChatMsg msg) { Lobby.RPC("ChatMessage", LobbyPeer.lobby, JsonMapper.ToJson(msg)); }