Пример #1
0
    public void PtoPChat(string text, PhotonMessageInfo photonMessageInfo)
    {
        // 名前
        string senderName = StaticMethods.CreateRichTextFromCaptionAndColor("<size=15>From</size> " + photonMessageInfo.sender.name, nameColor) + " ";

        // 個別チャットリストに登録する
        playerToPlayerChatText.text += CreateChatText(senderName + text, playerToPlayerChatText.text);
        // 全体チャットリストに登録する
        allRoomChat.text += CreateChatText(senderName + StaticMethods.CreateRichTextFromCaptionAndColor(text, playerToPlayerChatText.color), allRoomChat.text);
        // チャットの行数に加算する
        chatLineNum[(int)TypeOfChat.ALL]++;
        // チャットの行数に加算する
        chatLineNum[(int)TypeOfChat.PTOP]++;

        // 全体チャットの行数を調べ、最大保存数を超えているかチェックし、行数を加算する
        if (chatLineNum[(int)TypeOfChat.ALL]++ > MAX_CHAT_LINE_NUM)
        {
            // 改行まで削除する
            allRoomChat.text.Remove(0, allRoomChat.text.IndexOf('\n'));
            // チャット行数を減らす
            chatLineNum[(int)TypeOfChat.ALL]--;
        }

        // 個別チャットの行数を調べ、最大保存数を超えているかチェックし、行数を加算する
        if (chatLineNum[(int)TypeOfChat.PTOP]++ > MAX_CHAT_LINE_NUM)
        {
            // 改行まで削除する
            allRoomChat.text.Remove(0, playerToPlayerChatText.text.IndexOf('\n'));
            // チャット行数を減らす
            chatLineNum[(int)TypeOfChat.PTOP]--;
        }
        // チャットを受け取ったことを通知する
        miniChatWindow.RecieveChat();
    }
Пример #2
0
    /// <summary>
    /// Send text of input field to my party members.
    /// </summary>
    public void SendChatInputForPlayer()
    {
        // 名前入力テキストが空だった場合
        if (string.IsNullOrEmpty(nameInput.text))
        {
            // 名前を入力してくださいとチャット欄に出力する
            playerToPlayerChatText.text += CreateChatText(StaticMethods.CreateRichTextFromCaptionAndColorName("名前を入力してください。", "yellow"), playerToPlayerChatText.text);
            return;
        }

        // 名前から送り先の検索
        GameObject[] sendObject = StaticMethods.FindGameObjectsWithNameAndTag(nameInput.text, "Player");

        // その名前のプレイヤーが存在しなければ
        if (sendObject == null)
        {
            // 名前が見つからなかった旨を記述する
            playerToPlayerChatText.text += CreateChatText(StaticMethods.CreateRichTextFromCaptionAndColorName(nameInput.text + "さんが見つかりませんでした。", "yellow"), playerToPlayerChatText.text);
            return;
        }

        // 送る
        for (int i = 0; i < sendObject.Length; i++)
        {
            photonView.RPC("PtoPChat", sendObject[i].GetPhotonView().owner, input.text);
        }

        // 自分の個別チャット欄に送り先と送った内容を記述する
        playerToPlayerChatText.text += CreateChatText(StaticMethods.CreateRichTextFromCaptionAndColor("<size=15>To</size> " + nameInput.text, nameColor) + " " + input.text, playerToPlayerChatText.text);

        input.text = "";
        GUI.FocusControl("");
    }
Пример #3
0
    public void AllChat(string newLine, PhotonMessageInfo photonMessageInfo)
    {
        // 名前
        string senderName = StaticMethods.CreateRichTextFromCaptionAndColor(photonMessageInfo.sender.name, nameColor) + " ";

        // 全体チャットリストに登録する
        allRoomChat.text += CreateChatText(senderName + newLine, allRoomChat.text);
        // チャット行数を調べ、最大保存数を超えているかチェックし、行数を加算する
        if (chatLineNum[(int)TypeOfChat.ALL]++ > MAX_CHAT_LINE_NUM)
        {
            // 改行まで削除する
            allRoomChat.text.Remove(0, allRoomChat.text.IndexOf('\n'));
            // チャット行数を減らす
            chatLineNum[(int)TypeOfChat.ALL]--;
        }
        // チャットを受け取ったことを通知する
        miniChatWindow.RecieveChat();
    }