i need help 08-30-2020, 01:03 PM
#1
Hi
I have a problem....
(3,14): error CS0234: The type or namespace name `Chat' does not exist in the namespace `Photon'. Are you missing an assembly reference?
(12,46): error CS0246: The type or namespace name `IChatClientListener' could not be found. Are you missing `ExitGames.Client.Photon.Chat' using directive?
(18,28): error CS0246: The type or namespace name `ChatClient' could not be found. Are you missing `ExitGames.Client.Photon.Chat' using directive?
(89,39): error CS0246: The type or namespace name `ChatState' could not be found. Are you missing `ExitGames.Client.Photon.Chat' using directive?
Can you help
I have a problem....
(3,14): error CS0234: The type or namespace name `Chat' does not exist in the namespace `Photon'. Are you missing an assembly reference?
(12,46): error CS0246: The type or namespace name `IChatClientListener' could not be found. Are you missing `ExitGames.Client.Photon.Chat' using directive?
(18,28): error CS0246: The type or namespace name `ChatClient' could not be found. Are you missing `ExitGames.Client.Photon.Chat' using directive?
(89,39): error CS0246: The type or namespace name `ChatState' could not be found. Are you missing `ExitGames.Client.Photon.Chat' using directive?
Code:
using UnityEngine;
using UnityEngine.UI;
using Photon.Chat;
namespace Visyde
{
  /// <summary>
  /// Chat System
  /// - manages the chat system itself as well as the chat's UI in one script
  /// </summary>
  public class ChatSystem : MonoBehaviour, IChatClientListener
  {
    [Header("References:")]
    public Text messageDisplay;
    public InputField inputField;
[HideInInspector] public ChatClient chatClient;
    public bool HasChatAppID{
get{
        return !string.IsNullOrEmpty(PhotonNetwork.PhotonServerSettings.ChatAppID);
      }
}
    // Internals:
    VerticalLayoutGroup vlg;
    // Use this for initialization
    void Start()
    {
      vlg = messageDisplay.transform.parent.GetComponent<VerticalLayoutGroup>();
    }
    // Update is called once per frame
    void Update()
    {
if (chatClient != null)
      {
        chatClient.Service();
      }
      // Functionalities:
      if (Input.GetKeyDown(KeyCode.Return)){
        SendChatMessage();
      }
    }
    public void ConnectToChat(){
      if (HasChatAppID)
      {
        // Only connect if we have a chat ID specified in the PhotonServerSettings:
        chatClient = new ChatClient(this);
        chatClient.Connect(PhotonNetwork.PhotonServerSettings.ChatAppID, Connector.instance.gameVersion, new Photon.Chat.AuthenticationValues(PhotonNetwork.playerName));
      }
    }
    public void SendChatMessage(){
      if (!string.IsNullOrEmpty(inputField.text))
      {
        chatClient.PublishMessage(PhotonNetwork.room.Name, inputField.text);
        inputField.text = string.Empty;
      }
    }
    public void SendSystemChatMessage(string message){
      DisplayChat(message, "", false, true);
    }
    void DisplayChat(string message, string from, bool ours, bool systemMessage){
      string finalMessage = systemMessage ? "\n" + message + "" : "\n[" + (ours ? "<color=cyan>" : "<color=white>") + from + "</color>]: " + message;
      messageDisplay.text += finalMessage;
      // Canvas refresh:
      Canvas.ForceUpdateCanvases();
      vlg.enabled = false;
      vlg.enabled = true;
    }
    // Photon stuff:
    void OnJoinedRoom()
    {
      messageDisplay.text = "";
      // Connect to the chat server when we join a room:
      ConnectToChat();
    }
    void OnLeftRoom()
    {
      // Disconnect from the chat server when we leave a room:
      chatClient.Disconnect();
    }
    public void OnChatStateChange(ChatState state)
    {
      // use OnConnected() and OnDisconnected()
      // this method might become more useful in the future, when more complex states are being used.
      //this.StateText.text = state.ToString();
    }
    public void OnStatusUpdate(string user, int status, bool gotMessage, object message)
{
}
    public void OnGetMessages(string channelName, string[] senders, object[] messages)
    {
      int last = senders.Length - 1;
      DisplayChat (messages[last].ToString(), senders[last], senders[last] == PhotonNetwork.playerName, false);
    }
    public void OnPrivateMessage(string sender, object message, string channelName)
    {
      // as the ChatClient is buffering the messages for you, this GUI doesn't need to do anything here
      // you also get messages that you sent yourself. in that case, the channelName is determinded by the target of your msg
      //this.InstantiateChannelButton(channelName);
      byte[] msgBytes = message as byte[];
      if (msgBytes != null)
      {
        Debug.Log("Message with byte[].Length: " + msgBytes.Length);
      }
      /*if (this.selectedChannelName.Equals(channelName))
      {
        ShowChannel(channelName);
      }*/
    }
    public void OnUserSubscribed(string channel, string user)
    {
    }
    public void OnUserUnsubscribed(string channel, string user)
    {
      Debug.LogFormat("OnUserUnsubscribed: channel=\"{0}\" userId=\"{1}\"", channel, user);
    }
    public void OnConnected()
    {
      chatClient.Subscribe(new string[] { PhotonNetwork.room.Name }, 5); // subscribe to the chat channel once connected to the chat server
    }
    public void OnDisconnected()
    {
      //ConnectingLabel.SetActive(false);
    }
    public void OnSubscribed(string[] channels, bool[] results)
    {
     Â
    }
    public void OnUnsubscribed(string[] channels)
    {
      /*foreach (string channelName in channels)
      {
        if (this.channelToggles.ContainsKey(channelName))
        {
          Toggle t = this.channelToggles[channelName];
          Destroy(t.gameObject);
          this.channelToggles.Remove(channelName);
          Debug.Log("Unsubscribed from channel '" + channelName + "'.");
          // Showing another channel if the active channel is the one we unsubscribed from before
          if (channelName == selectedChannelName && channelToggles.Count > 0)
          {
            IEnumerator<KeyValuePair<string, Toggle>> firstEntry = channelToggles.GetEnumerator();
            firstEntry.MoveNext();
            ShowChannel(firstEntry.Current.Key);
            firstEntry.Current.Value.isOn = true;
          }
        }
        else
        {
          Debug.Log("Can't unsubscribe from channel '" + channelName + "' because you are currently not subscribed to it.");
        }
      }*/
    }
    public void DebugReturn(ExitGames.Client.Photon.DebugLevel level, string message)
    {
      if (level == ExitGames.Client.Photon.DebugLevel.ERROR)
      {
        UnityEngine.Debug.LogError(message);
      }
      else if (level == ExitGames.Client.Photon.DebugLevel.WARNING)
      {
        UnityEngine.Debug.LogWarning(message);
      }
      else
      {
        UnityEngine.Debug.Log(message);
      }
    }
  }
}Can you help
![[+]](https://sinister.ly/images/modern/collapse_collapsed.png)



























