void Start() { canvas = gameObject.GetComponent<Canvas>() as Canvas; canvas.enabled = false; scrollbar = GameObject.Find("chat_scrollbar"); contentHolder = GameObject.Find("chat_text"); messageTemplate = transform.Find("msg_template").gameObject; messageTemplate.SetActive(false); groupContainer = GameObject.Find("group_container"); groupMemberContainer = GameObject.Find("group_member_container"); groupMemberTemplate = GameObject.Find("group_member"); groupMemberTemplate.SetActive(false); groupContainer.SetActive(false); chatInput = GameObject.Find("chat_input").GetComponent<InputField>() as InputField; playerId = GameEntityManager.GetPlayerEntity().GetEntityId(); characterId = GameEntityManager.GetPlayerEntity().GetCharacterId(); messenger = ActorSystem.instance.Find("Messenger") as Messenger; chatCommandHandler = new ChatCommandHandler(messenger, this, playerId); Messenger.ChannelJoined channelCallback = ChannelJoined; messenger.OnChannelJoined(channelCallback); Messenger.ChannelLeft channelLeftCallback = ChannelLeft; messenger.OnChannelLeft(channelLeftCallback); Messenger.MessageReceived messageCallback = MessageReceived; messenger.OnMessageReceived(messageCallback); Messenger.InviteReceived inviteCallback = InviteReceived; messenger.OnInviteReceived(inviteCallback); foreach (string channel in autojoinChannels) { messenger.JoinChannel(channel); } InvokeRepeating("UpdateChatStatus", 0.01f, 2.0F); }