Photon×WebGL（7）日本語チャットの実装（構文改造からの設定とバグとり）

やりたいこと
<dl>
<dd>・日本語でのチャット機能の実装<strong>の続き</strong></dd>
</dl>

--

![スクリーンショット 2021-01-09 1910581.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/232643/e82c512d-342b-86fa-88f6-66e8aa293dd3.jpeg)




```C#
using System.Collections.Generic;
using UnityEngine;
using System.Collections;
using Photon.Pun;
using Photon.Realtime;
using UnityEngine.UI;

[RequireComponent(typeof(PhotonView))]
public class InRoomChat : MonoBehaviourPunCallbacks
{
    public Rect GuiRect = new Rect(0, 0, 250, 300);
    public bool IsVisible = true;
    public bool AlignBottom = false;
    public List<string> messages = new List<string>();
    private string inputLine = "";
    private Vector2 scrollPos = Vector2.zero;
    public Text showText;
    public InputField inputField;
    public static readonly string ChatRPC = "Chat";

    public void OnSend()
    {
        Debug.Log("送信");
        this.photonView.RPC("Chat", RpcTarget.All, inputField.text);
        inputField.text = "";
    }

    // ChatRPC RPC呼出側：送信者　RPC受信g側：受信者
    [PunRPC]
    //Vector3 senderposition,
    public void Chat(string newLine, PhotonMessageInfo mi)
    {
        //送信者の名前用変数
        string senderName = "anonymous";

        if (mi.Sender != null)
        {
            //送信者の名前があれば、、、IsNullOrEmptyはNullか空でTrue
            if (!string.IsNullOrEmpty(mi.Sender.NickName))
            {
                senderName = mi.Sender.NickName;
            }
            else
            {
                senderName = "player " + mi.Sender.UserId;
            }
        }
        //受信したチャットをログに追加
        showText.text = senderName + ": " + newLine;
    }
}

```
![キャプチャ2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/232643/c7502b07-2dbc-73aa-099a-b3688b09a50e.jpeg)


<dl>
<dt>各種設定など</dt>
<dd>　　・テキスト表示エリアとか作成</dd>
<dd>　　　・Input内にShowText作成</dd>
<dd>　　　・Input内にSendButton作成</dd>
<Br>
<dd>　　・InRoomChatオブジェクトへの登録</dd>

<dd>　　　・showTextの登録</dd>
<dd>　　　・inputFieldの登録</dd>
<Br>
<dd>　　・SendButton</dd>
<dd>　　　・ボタンのOnClickイベント一覧に自作関数が表示されない問題は下画像で対処</dd>
</dl>

![キャプチャ.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/232643/52606bf5-7a3e-666d-9e26-e6fae07bf1d1.jpeg)

<dl>
<dt>バグを治す</dt>
<dd>　・現在の状況</dd>
<dd>　　・Buld後のWebGLデータでは、、、</dd>
<dd>　　　・日本語が入力時にInputField箇所（赤線部分）に表示されない</dd>
<dd>　　　・Placeholderも表示されていない</dd>
<dd>　　　　★PlaceholderとTextとは？</dd>
<dd>　　　　　☆Placeholder</dd>
<dd>　　　　　　=>InputFieldにテキストが入力されていない場合に表示されるテキスト</dd>
<dd>　　　　　☆Text</dd>
<dd>　　　　　　=>フィールドに表示されるテキストの編集前の初期値。</dd>
<dd>　　　　　　　テキストが編集されると、<strong>入力されたテキストを保持</strong>します。</dd>
<dd>　　　・でもSendすると表示される。。</dd>
</dl>

![スクリーンショット 2021-01-09 191058.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/232643/cf909e3c-02ec-8bd3-9dc7-e53e208e17cb.jpeg)

<dl>
<dt>結論</dt>
<dd>　　・テキストでかかった　=>InputFieldのTextオブジェクト、、<strong>FontSize: 10</strong> で解決。。</dd>
<dd>　　・あと、textの設定</dd>
<dd>　　　収まらなかったときに折り返しを行うか行わないかを選択。</dd>
<dd>　　　☆Horizontal Overflow: <strong>Overflowで設定</strong></dd>
<dd>　　　　　　Warp：折り返す</dd>
<dd>　　　　　　Overflow：折り返さずTextエレメントの横幅からはみ出して表示させる</dd>
<dd>　　　☆Vertical Overflow:　<strong>Truncateで設定</strong></dd>
<dd>　　　　　　Truncate：縦幅からはみ出した行を削除（非表示）にする</dd>
<dd>　　　　　　Overflow：縦幅からはみ出しても表示する</dd>
</dl>