Beispiel #1
0
        public async Task <int> Update(ChatEntry chatEntry)
        {
            var chat = Chat.FromChatEntry(chatEntry);

            if (chat == null)
            {
                return(-1);
            }
            var dbEntry = await _database.FindAsync <Chat>(c => c.ChatID == chat.ChatID);

            if (dbEntry == null)
            {
                try
                {
                    return(await _database.InsertAsync(chat));
                }
                catch (Exception ex)
                {
                    Debug.WriteLine(ex);
                    return(0);
                }
            }

            chat.ID = dbEntry.ID;
            return(await _database.UpdateAsync(chat));
        }
        public static void ClientReportChatEntry(ChatEntry chatEntry)
        {
            var name = chatEntry.From;

            if (string.IsNullOrEmpty(name))
            {
                return;
            }

            DialogWindow.ShowDialog(
                title: DialogReport_Title,
                text: DialogReport_AreYouSure
                + "[br]"
                + "[br]"
                + $"\"{name}: {chatEntry.Message}\""
                + "[br]"
                + "[br]"
                + (Api.Client.CurrentGame.IsConnectedToOfficialServer
                             ? DialogReport_OfficialServersDisclaimer
                             : DialogReport_CommunityServerDisclaimer),
                okText: CoreStrings.Chat_MessageMenu_Report,
                okAction: () =>
            {
                // auto-block the offender
                ClientChatBlockList.SetBlockStatus(name,
                                                   block: true,
                                                   askConfirmation: false);

                Instance.CallServer(_ => _.ServerRemote_ReportChatEntry(chatEntry));
            },
                cancelText: CoreStrings.Button_Cancel,
                cancelAction: () => { },
                focusOnCancelButton: true);
        }
Beispiel #3
0
 public void CreateConsoleEntry(string name, string text)
 {
     if (IgnoreCopies)
     {
         bool CompleteCommand = true;
         foreach (ChatEntry c in ConsoleEntries)
         {
             if (c.EntryText == name + ": " + text)
             {
                 CompleteCommand = false;
                 break;
             }
         }
         if (CompleteCommand)
         {
             ChatEntry temp = Instantiate(ChatEntryPrefab, ScrollContentStartingPoint);
             EntryCount++;
             temp.CreateMessege(name + ": " + text, ConsoleColor, "Console", EntryCount, gameObject);
             ConsoleEntries.Enqueue(temp);
             if (EntryList != 3)
             {
                 temp.gameObject.SetActive(false);
             }
         }
     }
 }
 public bool IsSmeu(ChatEntry chatEntry)
 {
     Console.Clear();
     Console.WriteLine("Parsed the following Chat Entry.");
     Console.WriteLine($"Message: {chatEntry.Message}");
     return(AskUserYesOrNo($"Please decided if this is a Smeu."));
 }
        private void ServerRemote_ReportChatEntry(ChatEntry chatEntry)
        {
            var reporterCharacter = ServerRemoteContext.Character;

            foreach (var entry in serverReportedChatEntries)
            {
                if (entry.ChatEntry.Equals(chatEntry))
                {
                    // this chat entry is already reported
                    return;
                }
            }

            Logger.Important("Chat entry reported: "
                             + chatEntry.From
                             + " - "
                             + chatEntry.UtcDate.ToLongDateString()
                             + " - "
                             + chatEntry.Message,
                             reporterCharacter);

            while (serverReportedChatEntries.Count + 1 > MaxChatReportEntries)
            {
                // trim the log
                serverReportedChatEntries.RemoveAt(0);
            }

            serverReportedChatEntries.Add(
                new ReportedChatEntry(chatEntry,
                                      reporterCharacter.Id,
                                      reporterCharacter.Name,
                                      isReportRead: false));
        }
Beispiel #6
0
    public void HandlePrivateMessagesProperly()
    {
        var sentPM = new ChatMessage()
        {
            messageType = ChatMessage.Type.PRIVATE,
            body        = "test message",
            sender      = ownProfileModel.userId,
            recipient   = testProfileModel.userId
        };

        chatController.RaiseAddMessage(sentPM);

        Assert.AreEqual(1, controller.view.chatHudView.entries.Count);

        ChatEntry entry = controller.view.chatHudView.entries[0];

        Assert.AreEqual("<b>To TEST_USER:</b>", entry.username.text);
        Assert.AreEqual("<b>To TEST_USER:</b> test message", entry.body.text);

        var receivedPM = new ChatMessage()
        {
            messageType = ChatMessage.Type.PRIVATE,
            body        = "test message",
            sender      = testProfileModel.userId,
            recipient   = ownProfileModel.userId
        };

        chatController.RaiseAddMessage(receivedPM);

        ChatEntry entry2 = controller.view.chatHudView.entries[1];

        Assert.AreEqual("<b>From TEST_USER:</b>", entry2.username.text);
        Assert.AreEqual("<b>From TEST_USER:</b> test message", entry2.body.text);
    }
Beispiel #7
0
    public virtual void AddEntry(ChatEntry.Model chatEntryModel, bool setScrollPositionToBottom = false)
    {
        var       chatEntryGO = Instantiate(Resources.Load(ENTRY_PATH) as GameObject, chatEntriesContainer);
        ChatEntry chatEntry   = chatEntryGO.GetComponent <ChatEntry>();

        if (enableFadeoutMode && EntryIsVisible(chatEntry))
        {
            chatEntry.SetFadeout(true);
        }
        else
        {
            chatEntry.SetFadeout(false);
        }

        chatEntry.Populate(chatEntryModel);

        if (chatEntryModel.messageType == ChatMessage.Type.PRIVATE)
        {
            chatEntry.OnPress += OnPressPrivateMessage;
        }

        chatEntry.OnTriggerHover += OnMessageTriggerHover;
        chatEntry.OnCancelHover  += OnMessageCancelHover;

        entries.Add(chatEntry);

        SortEntries();

        Utils.ForceUpdateLayout(transform as RectTransform, delayed: false);

        if (setScrollPositionToBottom)
        {
            scrollRect.verticalNormalizedPosition = 0;
        }
    }
Beispiel #8
0
    bool EntryIsVisible(ChatEntry entry)
    {
        int visibleCorners =
            (entry.transform as RectTransform).CountCornersVisibleFrom(scrollRect.viewport.transform as RectTransform);

        return(visibleCorners > 0);
    }
Beispiel #9
0
    /// <summary>
    /// This function draws the chat window and the chat messages.
    /// </summary>

    void OnGUIWindow(int id)
    {
        GUI.SetNextControlName("Chat Input");
        mInput = GUI.TextField(new Rect(6f, mRect.height - 30f, 328f, 24f), mInput);

        if (GUI.Button(new Rect(334f, mRect.height - 31f, 60f, 26f), "Send"))
        {
            Send();
            GUI.FocusControl("Chat Window");
        }

        GUI.BeginGroup(new Rect(2f, 20f, 382f, 254f));
        {
            Rect rect = new Rect(4f, 244f, 382f, 300f);

            for (int i = mChatEntries.size; i > 0;)
            {
                ChatEntry ent = mChatEntries[--i];
                rect.y   -= GUI.skin.label.CalcHeight(new GUIContent(ent.text), 382f);
                GUI.color = ent.color;
                GUI.Label(rect, ent.text, GUI.skin.label);
                if (rect.y < 0f)
                {
                    break;
                }
            }
            GUI.color = Color.white;
        }
        GUI.EndGroup();
    }
Beispiel #10
0
 private void PrintChatEntry(ChatEntry entry, bool fade = false)
 {
     if (fade)
     {
         if (entry.age > 5)
         {
             float alpha = 1 - ((entry.age - 5) / 2f);
             var   color = GUI.color;
             color.a   = alpha;
             GUI.color = color;
         }
         else
         {
             var color = GUI.color;
             color.a   = 1f;
             GUI.color = color;
         }
     }
     if (enableChatShadow)
     {
         GUILayout.Label("<color=black>" + entry.sender + ": " + entry.text + "</color>", "smallLabel");
         var lastRect = GUILayoutUtility.GetLastRect();
         lastRect.x -= 1f; lastRect.y -= 1f;
         GUI.Label(lastRect, "<color=red>" + entry.sender + "</color>" + ": " + entry.text, "smallLabel");
     }
     else
     {
         GUILayout.Label("<color=red>" + entry.sender + "</color>" + ": " + entry.text, "smallLabel");
     }
 }
Beispiel #11
0
        public override async Task Participate(IAsyncStreamReader <PostMessageRequest> requestStream, IServerStreamWriter <MessageResponse> responseStream, ServerCallContext context)
        {
            if (!await requestStream.MoveNext())
            {
                return;
            }

            string      connectionId = context.GetHttpContext().Connection.Id;
            Participant participant  = iMapper.Map <Participant>((requestStream.Current, connectionId, responseStream));

            await Connect(participant);

            try
            {
                while (await requestStream.MoveNext())
                {
                    ChatEntry chatEntry = iMapper.Map <ChatEntry>(requestStream.Current);

                    if (!string.IsNullOrWhiteSpace(chatEntry.Message))
                    {
                        await SendMessage(chatEntry);
                    }
                }
            }
            catch
            {
                await Disconnect(participant);
            }
        }
        private OMVSD.OSD GetHandler(RestHandler handler, Uri uri, String after)
        {
            OMVSD.OSDMap ret      = new OMVSD.OSDMap();
            string       lastDate = "xx";

            lock (m_chats) {
                while (m_chats.Count > 0)
                {
                    ChatEntry    ce         = m_chats.Dequeue();
                    string       dateString = ce.time.ToString("yyyyMMddhhmmssfff");
                    OMVSD.OSDMap chat       = new OMVSD.OSDMap();
                    chat.Add("Time", new OMVSD.OSDString(dateString));
                    chat.Add("From", new OMVSD.OSDString(ce.fromName));
                    chat.Add("Message", new OMVSD.OSDString(ce.message));
                    chat.Add("Type", new OMVSD.OSDString(ce.chatTypeString));
                    chat.Add("EntryType", new OMVSD.OSDString(ChatEntryTypeString[(int)ce.chatEntryType]));
                    chat.Add("Position", new OMVSD.OSDString(ce.position.ToString()));
                    if (ce.ownerID != null)
                    {
                        chat.Add("OwnerID", new OMVSD.OSDString(ce.ownerID.ToString()));
                    }
                    while (ret.ContainsKey(dateString))
                    {
                        dateString += "1";
                    }
                    ret.Add(dateString, chat);
                    lastDate = dateString;
                }
            }
            return(ret);
        }
Beispiel #13
0
    public void EnterEntry(ChatEntry Entry)
    {
        ChatEntry temp = Instantiate(Entry, ScrollContentStartingPoint);

        //Debug.Log("Enter Entry");
        if (temp.EntryType == "All")
        {
            //Debug.Log("Enter Entry ALL");
            if (!GlobalChatEntries.Contains(temp))
            {
                //Debug.Log("Enter Entry ALL in");
                EveryEntry.Enqueue(temp);
                GlobalChatEntries.Enqueue(temp);
                RefreshUi();
            }
        }
        else if (temp.EntryType == "Team1")
        {
            //Debug.Log("Enter Entry Team1");
            if (NP.GetTeamNum() == 1)
            {
                if (!TeamChatEntries.Contains(temp))
                {
                    //Debug.Log("Enter Entry Team1 in");
                    EveryEntry.Enqueue(temp);
                    TeamChatEntries.Enqueue(temp);
                    RefreshUi();
                }
            }
            else
            {
                Destroy(temp);
            }
        }
        else if (temp.EntryType == "Team2")
        {
            //Debug.Log("Enter Entry Team2");
            if (NP.GetTeamNum() == 2)
            {
                if (!TeamChatEntries.Contains(temp))
                {
                    //Debug.Log("Enter Entry Team2 in");
                    EveryEntry.Enqueue(temp);
                    TeamChatEntries.Enqueue(temp);
                    RefreshUi();
                }
            }
            else
            {
                Destroy(temp);
            }
        }
        else
        {
            Destroy(temp);
        }


        UpdateDisplay();
    }
Beispiel #14
0
 /// <summary>
 /// Add a new chat entry.
 /// </summary>
 void AddToChat(string text, Color color)
 {
     ChatEntry ent = new ChatEntry();
     ent.text = text;
     ent.color = color;
     mChatEntries.Add(ent);
 }
Beispiel #15
0
    /// <summary>
    /// Add a new chat entry.
    /// </summary>

    void AddToChat(string text, Color color)
    {
        ChatEntry ent = new ChatEntry();

        ent.text  = text;
        ent.color = color;
        mChatEntries.Add(ent);
    }
Beispiel #16
0
 /// <summary>
 /// Remove the entry if it has been culled from the
 /// list
 /// </summary>
 /// <param name="entry"></param>
 private void RemoveChatEntry(ChatEntry entry)
 {
     if (allEntries.Contains(entry))
     {
         entry.ReturnToPool();
         allEntries.Remove(entry);
     }
 }
Beispiel #17
0
    public void CreateEntry(string name, string text, string entryType, GameObject WhoEntered)
    {
        print("Create Entry");
        ChatEntry temp = Instantiate(ChatEntryPrefab, ScrollContentStartingPoint);

        if (entryType == "All")
        {
            EntryCount++;
            temp.CreateMessege(name + ": " + text, AllChatColor, entryType, EntryCount, gameObject);
            GlobalChatEntries.Enqueue(temp);
            EveryEntry.Enqueue(temp);
            if (EntryList != 0)
            {
                temp.gameObject.SetActive(false);
            }
            BroadcastEntry(temp, WhoEntered.GetComponent <Chat>());
        }
        else if (entryType == "Team1")
        {
            if (NP.GetTeamNum() == 1)
            {
                EntryCount++;
                temp.CreateMessege(name + ": " + text, TeamChatColor, entryType, EntryCount, gameObject);
                TeamChatEntries.Enqueue(temp);
                EveryEntry.Enqueue(temp);
                if (EntryList != 1)
                {
                    temp.gameObject.SetActive(false);
                }
                BroadcastEntry(temp, WhoEntered.GetComponent <Chat>());
            }
        }
        else if (entryType == "Team2")
        {
            if (NP.GetTeamNum() == 2)
            {
                EntryCount++;
                temp.CreateMessege(name + ": " + text, TeamChatColor, entryType, EntryCount, gameObject);
                TeamChatEntries.Enqueue(temp);
                EveryEntry.Enqueue(temp);
                if (EntryList != 2)
                {
                    temp.gameObject.SetActive(false);
                }
                BroadcastEntry(temp, WhoEntered.GetComponent <Chat>());
            }
        }
        else if (entryType == "Console")
        {
            EntryCount++;
            temp.CreateMessege(name + ": " + text, ConsoleColor, entryType, EntryCount, gameObject);
            ConsoleEntries.Enqueue(temp);
            if (EntryList != 3)
            {
                temp.gameObject.SetActive(false);
            }
        }
    }
Beispiel #18
0
        public List <ChatEntry> GetChat(Connections conn)
        {
            List <ChatEntry> chatEntrys = new List <ChatEntry>();

            User User_A = _context.User.Single(m => m.Name.Equals(conn.UserA_.Name));
            User User_B = _context.User.Single(m => m.Name.Equals(conn.UserB_.Name));

            User local = HttpContext.Session.GetObjectFromJson <User>("User");

            var repository = new RestIotaRepository(new RestClient("https://field.carriota.com:443"), new PoWService(new CpuPowDiver()));

            //set refresh bools
            if (conn.UserA_.Name.Equals(local.Name))
            {
                conn.Refresh_A = false;
            }
            else
            {
                conn.Refresh_B = false;
            }

            //updating entry
            _context.Connections.Update(conn);
            _context.SaveChanges();

            //setting addresses to check for new messages
            List <Address> addresses = new List <Address>()
            {
                new Address(conn.AddressA),
                new Address(conn.AddressB)
            };

            //doing now tangle stuff
            var hashList = repository.FindTransactionsByAddresses(addresses);

            List <Bundle> bundles = repository.GetBundles(hashList.Hashes, true);

            foreach (Bundle b in bundles)
            {
                string entryName = "";

                if (b.Transactions[0].Address.ToString() == conn.AddressA)
                {
                    entryName = conn.UserB_.Name;
                }
                else
                {
                    entryName = conn.UserA_.Name;
                }

                ChatEntry entry = new ChatEntry(b, entryName, conn.EncryptionKey);
                chatEntrys.Add(entry);
            }

            List <ChatEntry> sortedList = chatEntrys.OrderBy(o => o.TimeStamp).ToList();

            return(sortedList);
        }
Beispiel #19
0
        public IActionResult Chat(ChatModel model)
        {
            var outModel = new ChatModel();

            // Check if we have the ChatEntries queue initialized
            var chatEntriesQueue = HttpContext.Session.Get <Queue <ChatEntry> >("ChatEntriesQueue");

            if (chatEntriesQueue == null)
            {
                // Initialize the queue
                chatEntriesQueue = new Queue <ChatEntry>();
            }

            if (ModelState.IsValid)
            {
                // Add the entry to the queue
                var newChat = new ChatEntry {
                    DatePosted = DateTime.UtcNow, Text = model.ChatText, WhoPosted = User.Identity.Name
                };
                _model.BasicPublish(ExchangeName, "chat", null, newChat.Serialize());
            }

            // Connect to our rabbit queue and retrieve messages
            _model.BasicQos(prefetchSize: 0, prefetchCount: 10, global: false);
            var queueName = $"Chat_{User.Identity.Name}_Queue";
            var _consumer = new QueueingBasicConsumer(_model);

            _model.BasicConsume(queue: queueName, autoAck: false, _consumer);
            while (true)
            {
                if (!_consumer.Queue.Dequeue(millisecondsTimeout: 100, out var result))
                {
                    break;
                }
                var message = (ChatEntry)result.Body.DeSerialize(typeof(ChatEntry));
                // Check for stock commands
                if (!message.Text.StartsWith("/stock=", StringComparison.InvariantCultureIgnoreCase))
                {
                    chatEntriesQueue.Enqueue(new ChatEntry {
                        DatePosted = message.DatePosted, Text = message.Text, WhoPosted = message.WhoPosted
                    });
                }
                // Acknowledge
                _model.BasicAck(result.DeliveryTag, false);
            }

            // Take the last 50 entries of the local queue
            outModel.ChatEntries = chatEntriesQueue.TakeLast(50).ToList();
            // Remove old ones
            while (chatEntriesQueue.Count > 50)
            {
                chatEntriesQueue.Dequeue();
            }
            // Add the local queue back to the session
            HttpContext.Session.Set <Queue <ChatEntry> >("ChatEntriesQueue", chatEntriesQueue);

            return(View(outModel));
        }
    protected virtual void OnMessageTriggerHover(ChatEntry chatEntry)
    {
        if (contextMenu == null || contextMenu.isVisible)
            return;

        messageHoverText.text = chatEntry.messageLocalDateTime;
        messageHoverPanel.transform.position = chatEntry.hoverPanelPositionReference.position;
        messageHoverPanel.SetActive(true);
    }
Beispiel #21
0
 public void ClearHistory()
 {
     for (int i = 0, imax = mChatEntries.Count; i < imax; i++)
     {
         ChatEntry e = mChatEntries[i];
         mChatEntries.RemoveAt(i);
         Destroy(e.label.gameObject);
     }
 }
        private void _chatworker_Delegate(ChatEntry chatentry)
        {
            if (_chatlog.Count > 50)
            {
                _chatlog.RemoveAt(0);
            }

            _chatlog.Add(chatentry);
        }
Beispiel #23
0
    private IEnumerator Show(ChatMission chatEvent)
    {
        this.chatMission = chatEvent;
        chatHeader.text  = "Chat with " + chatEvent.PartnerName;

        currentDialog = chatEvent.startDialog;

        while (true)
        {
            for (int i = 0; i < currentDialog.DialogLines.Length; i++)
            {
                ChatEntry entry = currentDialog.DialogLines[i];

                yield return(waitForTrigger = new ChatWaitForTimeOrTrigger(entry.Delay));

                if (waitForTrigger.IsTriggered())
                {
                    break;
                }

                ChatEntryObject chatEntryObject = Instantiate(chatEntryPrefab, chatFieldRoot);
                if (entry.SenderType == ChatEntry.Sender.other)
                {
                    chatEntryObject.FadeIn(entry.Message, true, chatEvent.PartnerFace);
                }
                else
                {
                    chatEntryObject.FadeIn(entry.Message, false, chatEvent.MyFace);
                }
            }

            if (currentDialog == chatEvent.endDialog)
            {
                break;
            }


            if (nextDialog == null)
            {
                //Have to wait for next dialog
                currentDialog = null;
                yield return(waitForTrigger = new ChatWaitForTrigger());
            }
            currentDialog = nextDialog;
            nextDialog    = null;
        }


        yield return(new WaitForSeconds(chatEvent.TimeToShowUntilLastMessage));

        canvasGroup.DOFade(0, fadeDuration);

        yield return(new WaitForSeconds(fadeDuration));

        Destroy(gameObject);
    }
Beispiel #24
0
    void AddChatEntry(uint channelId, string name, string msg)
    {
        ChatEntry newEntry = new ChatEntry();

        newEntry.name    = name;
        newEntry.message = msg;
        newEntry.timeTag = "[" + System.DateTime.Now.Hour.ToString() + ":" + System.DateTime.Now.Minute.ToString() + "]";
        entries.Add(newEntry);
        currentScrollPos.y = float.PositiveInfinity;
    }
Beispiel #25
0
    public static void Log(string name, string str, int cat)
    {
        Debug.Log(str);
        ChatEntry e = new ChatEntry();

        e.category = cat;
        e.name     = name;
        e.str      = str;
        logs.Add(e);
    }
Beispiel #26
0
        public static Chat FromChatEntry(ChatEntry entry)
        {
            if (entry == null)
            {
                throw new ArgumentNullException(nameof(entry));
            }

            return(new Chat {
                ChatID = entry.ID, Json = JsonConvert.SerializeObject(entry)
            });
        }
        // there is chat coming our way
        void Self_ChatFromSimulator(object sender, OpenMetaverse.ChatEventArgs e)
        {
            m_log.Log(LogLevel.DCOMMDETAIL, "Self_ChatFromSimulator: {0} says '{1}'", e.FromName, e.Message);
            if (e.Message.Length == 0)
            {
                // zero length messages are typing start and end
                return;
            }
            ChatEntry ce = new ChatEntry();

            ce.fromName   = e.FromName;
            ce.message    = e.Message;
            ce.position   = e.Position;
            ce.sourceType = e.SourceType;
            ce.chatType   = e.Type;
            switch (e.Type)
            {
            case OMV.ChatType.Normal:      ce.chatTypeString = "Normal";      break;

            case OMV.ChatType.Shout:       ce.chatTypeString = "Shout";       break;

            case OMV.ChatType.Whisper:     ce.chatTypeString = "Whisper";     break;

            case OMV.ChatType.OwnerSay:    ce.chatTypeString = "OwnerSay";    break;

            case OMV.ChatType.RegionSay:   ce.chatTypeString = "RegionSay";   break;

            case OMV.ChatType.Debug:       ce.chatTypeString = "Debug";       break;

            case OMV.ChatType.StartTyping: ce.chatTypeString = "StartTyping"; break;

            case OMV.ChatType.StopTyping:  ce.chatTypeString = "StopTyping";  break;

            default:                       ce.chatTypeString = "Normal";      break;
            }
            ce.ownerID       = e.OwnerID;
            ce.chatEntryType = ChatEntryType.Normal;
            if (e.SourceType == OMV.ChatSourceType.Agent && e.FromName.EndsWith("Linden"))
            {
                ce.chatEntryType = ChatEntryType.LindenChat;
            }
            if (e.SourceType == OMV.ChatSourceType.Object)
            {
                if (e.Type == OMV.ChatType.OwnerSay)
                {
                    ce.chatEntryType = ChatEntryType.OwnerSay;
                }
                else
                {
                    ce.chatEntryType = ChatEntryType.ObjectChat;
                }
            }
            lock (m_chats) m_chats.Enqueue(ce);
        }
Beispiel #28
0
 public ReportedChatEntry(
     ChatEntry chatEntry,
     uint reporterCharacterId,
     string reporterCharacterName,
     bool isReportRead)
 {
     this.ChatEntry             = chatEntry;
     this.ReporterCharacterId   = reporterCharacterId;
     this.ReporterCharacterName = reporterCharacterName;
     this.IsReportRead          = isReportRead;
 }
    protected override IEnumerator SetUp()
    {
        var canvasgo = new GameObject("canvas");

        canvas = canvasgo.AddComponent <Canvas>();
        (canvas.transform as RectTransform).sizeDelta = new Vector2(500, 500);
        var go = Object.Instantiate(Resources.Load("Chat Entry"), canvas.transform, false) as GameObject;

        entry = go.GetComponent <ChatEntry>();
        yield break;
    }
Beispiel #30
0
        public void Setup(ChatRoomControl chatRoomControl, ChatEntry value)
        {
            this.chatRoomControl = chatRoomControl;
            if (this.chatEntry.Equals(value))
            {
                return;
            }

            this.chatEntry = value;
            this.UpdateViewModel();
        }
Beispiel #31
0
    public static void Log(string name, string str, Color col)
    {
        Debug.Log(str);
        ChatEntry e = new ChatEntry();

        //e.category = cat;
        e.color = col;
        e.name  = name;
        e.str   = str;
        logs.Add(e);
    }
Beispiel #32
0
    void ApplyGlobalChatText(string str, int mine, string senderName)
    {
        var entry = new ChatEntry();
        entry.sender = senderName;
        entry.text = str;
        if (mine == 1) entry.mine = true;
        else entry.mine = false;
        entry.age = 0;

        newEntries.Add(entry);
        scrollPosition.y = 1000000;
    }
Beispiel #33
0
        public void Log(string message)
        {
            var entry = new ChatEntry();
            entry.name = "";
            entry.text = message;

            chatEntries.Add(entry);
            while (chatEntries.Count > 100)
            {
                chatEntries.RemoveAt(0);
            }
        }
Beispiel #34
0
    void ChatText(string str, bool own)
    {
        var entry = new ChatEntry();
        entry.text = str;
        entry.mine = own;

        entries.Add(entry);

        if(entries.Count > 50)
            entries.RemoveAt(0);

        scrollPosition.y = 1000000;
    }
Beispiel #35
0
    void ApplyGlobalChatText(string name, string msg)
    {
        ChatEntry entry = new ChatEntry();
        entry.name = name;
        entry.text = msg;

        chatEntries.Add(entry);

        if (chatEntries.Count > 20)
            chatEntries.RemoveAt(0);

        scrollPosition.y = 1000000;
        inputField = "";
    }
Beispiel #36
0
    public void AddChatText(string name, string msg)
    {
        var entry = new ChatEntry();
        entry.name = name;
        entry.text = msg;

        chatEntries.Add(entry);

        //Remove old entries
        if (chatEntries.Count > 4){
            chatEntries.RemoveAt(0);
        }

        scrollPosition.y = 1000000;
    }
Beispiel #37
0
    public void ApplyGlobalChatText(string name, string msg)
    {
        ChatEntry entry = new ChatEntry();
        entry.name = name;
        entry.text = msg;

        chatEntries.Add(entry);

        //Remove old entries
        if (chatEntries.Count > maxLines) {
            chatEntries.RemoveAt(0);
        }

        scrollPosition.y = 1000000;
    }
Beispiel #38
0
    void ApplyGlobalChatText(string name, string action, string msg)
    {
        var entry = new ChatEntry();
        entry.name = name;
        entry.action = action;
        entry.text = msg;

        chatEntries.Add(entry);

        //Remove old entries
        if (chatEntries.Count > 100){
            chatEntries.RemoveAt(0);
        }

        scrollPosition.y = 1000000;
    }
Beispiel #39
0
    public void ApplyGlobalChatText(string msg, bool systemMessage, PhotonMessageInfo info)
    {
        ChatEntry entry = new ChatEntry();
        if(!systemMessage) entry.name = info.sender.name;
        entry.text = msg;

        chatEntries.Add(entry);

        //Remove old entries
        if (chatEntries.Count > 4)
        {
            chatEntries.RemoveAt(0);
        }

        scrollPosition.y = 1000000;
    }
Beispiel #40
0
    void ApplyGlobalChatText(string name, string msg)
    {
        ChatEntry entry = new ChatEntry();
        entry.Name = name;
        entry.Text = msg;

        this.chatEntries.Add(entry);

        // Remove old entries
        if (this.chatEntries.Count > 4)
        {
            this.chatEntries.RemoveAt(0);
        }

        this.scrollPosition.y = 1000000;
    }
 public static void Process(ChatEntry chatEntry)
 {
     try
     {
         var timeStampColor = Settings.Default.TimeStampColor.ToString();
         var timeStamp = chatEntry.TimeStamp.ToString("[HH:mm:ss] ");
         var line = chatEntry.Line.Replace("  ", " ");
         var color = (Constants.Colors.ContainsKey(chatEntry.Code)) ? Constants.Colors[chatEntry.Code][0] : "FFFFFF";
         FFXIVAPP.Common.Constants.FD.AppendFlow(timeStamp, "", line, new[]
         {
             timeStampColor, "#" + color
         }, MainView.View.ChatLogFD._FDR);
     }
     catch (Exception ex)
     {
         Logging.Log(LogManager.GetCurrentClassLogger(), "", ex);
     }
 }
Beispiel #42
0
    public void ApplyGlobalChatText(string username, string message)
    {
        ChatEntry entry = new ChatEntry();
        entry.Sender = "Not Implemented";
        entry.Text =  username + ": " + message;

        entries.Add(entry);

        if (entries.Count > 50)
            entries.RemoveAt(0);

        scrollPosition.y = 1000000;

        if(MavaruOnlineMain.GameStateManager.State == GameStateManager.GameState.IN_COMMON_PLACE
            ||	MavaruOnlineMain.GameStateManager.State == GameStateManager.GameState.IN_HOME
            ||	MavaruOnlineMain.GameStateManager.State == GameStateManager.GameState.IN_FRIENDS_HOUSE){

            Character ch = CharacterHolder.Instance.GetCharacter(username);
            if(ch != null){
                ch.GetComponentInChildren<LabelAboveCharacter>().TextEntry = message;
                ch.GetComponentInChildren<LabelAboveCharacter>().HasWriten = true;
            }
        }
    }
 public void OnNewLine(out bool success, params object[] entry)
 {
     try
     {
         var chatEntry = new ChatEntry
         {
             Bytes = (byte[]) entry[0],
             Code = (string) entry[1],
             Combined = (string) entry[2],
             JP = (bool) entry[3],
             Line = Regex.Replace((string) entry[4], "[ ]+", " "),
             Raw = (string) entry[5],
             TimeStamp = (DateTime) entry[6]
         };
         Func<bool> publish = delegate
         {
             DispatcherHelper.Invoke(() => LogPublisher.Process(chatEntry));
             return true;
         };
         publish.BeginInvoke(null, null);
     }
     catch (Exception ex)
     {
         //Logging.Log(LogManager.GetCurrentClassLogger(), "", ex);
         Notice = ex.Message;
     }
     success = true;
 }
Beispiel #44
0
    private void PrintChatEntry(ChatEntry entry, bool fade = false)
    {
        if (fade)
        {
            if (entry.age > 5)
            {
                float alpha = 1 - ((entry.age - 5) / 2f);
                var color = GUI.color;
                color.a = alpha;
                GUI.color = color;
            }
            else
            {
                var color = GUI.color;
                color.a = 1f;
                GUI.color = color;
            }
        }
        if (enableChatShadow)
        {
            GUILayout.Label("<color=black>" + entry.sender + ": " + entry.text + "</color>", "smallLabel");
            var lastRect = GUILayoutUtility.GetLastRect();
            lastRect.x -= 1f; lastRect.y -= 1f;
            GUI.Label(lastRect, "<color=red>" + entry.sender + "</color>" + ": " + entry.text, "smallLabel");
        }
        else
        {
            GUILayout.Label("<color=red>" + entry.sender + "</color>" + ": " + entry.text, "smallLabel");

        }
    }
 // there is chat coming our way
 void Self_ChatFromSimulator(object sender, OpenMetaverse.ChatEventArgs e)
 {
     m_log.Log(LogLevel.DCOMMDETAIL, "Self_ChatFromSimulator: {0} says '{1}'", e.FromName, e.Message);
     if (e.Message.Length == 0) {
     // zero length messages are typing start and end
     return;
     }
     ChatEntry ce = new ChatEntry();
     ce.fromName = e.FromName;
     ce.message = e.Message;
     ce.position = e.Position;
     ce.sourceType = e.SourceType;
     ce.chatType = e.Type;
     switch (e.Type) {
     case OMV.ChatType.Normal:      ce.chatTypeString = "Normal";      break;
     case OMV.ChatType.Shout:       ce.chatTypeString = "Shout";       break;
     case OMV.ChatType.Whisper:     ce.chatTypeString = "Whisper";     break;
     case OMV.ChatType.OwnerSay:    ce.chatTypeString = "OwnerSay";    break;
     case OMV.ChatType.RegionSay:   ce.chatTypeString = "RegionSay";   break;
     case OMV.ChatType.Debug:       ce.chatTypeString = "Debug";       break;
     case OMV.ChatType.StartTyping: ce.chatTypeString = "StartTyping"; break;
     case OMV.ChatType.StopTyping:  ce.chatTypeString = "StopTyping";  break;
     default:                       ce.chatTypeString = "Normal";      break;
     }
     ce.ownerID = e.OwnerID;
     ce.chatEntryType = ChatEntryType.Normal;
     if (e.SourceType == OMV.ChatSourceType.Agent && e.FromName.EndsWith("Linden")) {
     ce.chatEntryType = ChatEntryType.LindenChat;
     }
     if (e.SourceType == OMV.ChatSourceType.Object) {
     if (e.Type == OMV.ChatType.OwnerSay) {
         ce.chatEntryType = ChatEntryType.OwnerSay;
     }
     else {
         ce.chatEntryType = ChatEntryType.ObjectChat;
     }
     }
     lock (m_chats) m_chats.Enqueue(ce);
 }
Beispiel #46
0
        void IncommingChatMessage(ChatChannel channel, string message, string sender)
        {
            if( InvokeRequired )
            {
                Invoke(new MethodInvoker(delegate() { IncommingChatMessage(channel, message, sender); }));
            }
            else
            {
                string formattedMessage = message;
                if( sender != null )
                {
                    formattedMessage = string.Format("[{0}] {1}: {2}", channel.ToString(), sender, message);
                }

                ChatEntry ce = new ChatEntry(channel, formattedMessage);
                _chatEntries.Add(ce);
                FilterChat();
            }
        }
	/// <summary>
	/// Add a new chat entry.
	/// </summary>

	void InternalAdd (string text, Color color)
	{
		ChatEntry ent = new ChatEntry();
		ent.time = RealTime.time;
		ent.color = color;
		mChatEntries.Add(ent);
		
		GameObject go = NGUITools.AddChild(history != null ? history : gameObject);
		ent.label = go.AddComponent<UILabel>();
		ent.label.pivot = UIWidget.Pivot.BottomLeft;
		ent.label.cachedTransform.localScale = new Vector3(1f, 0.001f, 1f);
		ent.label.width = lineWidth;
		ent.label.bitmapFont = font;
		ent.label.color = ent.label.bitmapFont.premultipliedAlphaShader ? new Color(0f, 0f, 0f, 0f) : new Color(color.r, color.g, color.b, 0f);
		ent.label.text = text;
		ent.label.MakePixelPerfect();
		ent.lines = ent.label.processedText.Split('\n').Length;

		for (int i = mChatEntries.size, lineOffset = 0; i > 0; )
		{
			ChatEntry e = mChatEntries[--i];

			if (i + 1 == mChatEntries.size)
			{
				// It's the first entry. It doesn't need to be re-positioned.
				lineOffset += e.lines;
			}
			else
			{
				// This is not a first entry. It should be tweened into its proper place.
				int pixelOffset = lineOffset * font.defaultSize;
                
				if (lineOffset + e.lines > maxLines)
				{
					e.isExpired = true;
					e.shouldBeDestroyed = true;

					if (e.alpha == 0f)
					{
						mChatEntries.RemoveAt(i);
						Destroy(e.label.gameObject);
						continue;
					}
				}
				lineOffset += e.lines;
				TweenPosition.Begin(e.label.gameObject, 0.2f, new Vector3(0f, pixelOffset, 0f));
			}
		}
	}
Beispiel #48
0
    void ApplyGlobalChatText (string str, int mine)
    {
	    var entry = new ChatEntry();
	    entry.sender = "Not implemented";
	    entry.text = str;
	    if (mine == 1) entry.mine = true;
	    else entry.mine = false;

	    entries.Add(entry);
    	
	    if (entries.Count > 50)
		    entries.RemoveAt(0);
    		
	    scrollPosition.y = 1000000;	
    }
Beispiel #49
0
    private void ApplyGlobalChatText(string stTimeStamp, string stName, string stMsg)
    {
        ChatEntry entry = new ChatEntry();
        entry.time = stTimeStamp;
        entry.name = stName;
        entry.text = stMsg;

        // DEBUG
        Debug.Log ("@ " + entry.time + " de " + entry.name + ": " + entry.text);

        if (entry.name != "Servidor") {
            // Não passa adiante mensagens do servidor
            // Passa a mensagem do script de regras
            scriptRegras.AddNewMessage (entry.time, entry.name, entry.text);
        }

        chatEntries.Add(entry);

        // Remove entries antigas
        if (chatEntries.Count > 20) {
            chatEntries.RemoveAt (0);
        }

        scrollPosition.y = 1000000;
    }
	public void ApplyGlobalChatText(string name, string msg)
	{
		ChatEntry entry = new ChatEntry();
		entry.name = name;
		entry.text = msg;
		
		chatEntries.Add(entry);
		
		//Remove old entries
		if (chatEntries.Count > 4)
		{
			height += 15;
		}
		scrollPosition.y +=10;
	}