MLAPI でテキストチャットっぽいのを作る (1) 【MLAPI】
MLAPI でテキストチャットっぽいのを作ってみます。途中過程です…。
前回記事
NetworkedList とサンプルスクリプト
適当にチャット用のサンプルスクリプトを作成。
using UnityEngine; using System.Collections.Generic; using MLAPI; using MLAPI.NetworkedVar; using MLAPI.NetworkedVar.Collections; using UnityEngine.UI; using UniRx; public class Chat : NetworkedBehaviour { private NetworkedList<string> ChatMessages = new NetworkedList<string>(new NetworkedVarSettings() { ReadPermission = NetworkedVarPermission.Everyone, WritePermission = NetworkedVarPermission.Everyone }, new List<string>()); [SerializeField] private InputField _textChatField; [SerializeField] private Button _textChatButton; private void Start() { _textChatButton.OnClickAsObservable() .Where(_ => !string.IsNullOrWhiteSpace(_textChatField.text)) .Subscribe(_ => AddChat($"{_textChatField.text}")); } private void AddChat(string textChat) { ChatMessages.Add(textChat); for (int i = ChatMessages.Count - 1; i >= 0; i--) { Debug.Log($"{ChatMessages[i]}"); } Debug.DebugBreak(); } }
NetworkedList を利用しています。NetworkedVar の List版。 まんまMLAPIのDocに書かれていたスクリプトを利用しています。
やってみた
Debug.Log上で一応テキストメッセージっぽいのが同期されているけど…。 まだまだ課題があるので引き続き取り組みます。