public string GetMessageForPlayer()
    {
        var messagesOfMySocialPosition = StoriesBySocialPosition[SocialPosition];
        var possibleDialogs            = messagesOfMySocialPosition[Random.Range(0, messagesOfMySocialPosition.Count)];
        var dialog = possibleDialogs.Dialogs[Random.Range(0, possibleDialogs.Dialogs.Count)];

        LastDialogId = dialog;
        return(DialogByDialogId[LastDialogId]);
    }
예제 #2
0
 private void WaitForEditorToDisplay()
 {
     this.Parent.CurrentWindowHandle = Driver.CurrentWindowHandle;
     Report.Write("At WaitForEditorToDisplay, The current window is: '" + this.Parent.CurrentWindowHandle + "'.");
     DialogId.WaitUntilExists(3);
 }
예제 #3
0
        public string GetDialogForUser(DialogId dialogId)
        {
            var result = Chat.GetDialogForUser(dialogId);

            return(result?.ToJson());
        }
예제 #4
0
        public static MessageInfo[] GetDialogForUser(DialogId dialogId)
        {
            int index         = 0;
            var userNick      = src.DBHelper.GameDBHelper.GetUserNickById(dialogId.UserId)?.Trim();
            var companionNick = src.DBHelper.GameDBHelper.GetUserNickById(dialogId.CompanionId)?.Trim();

            var thisIdMessages      = GetDialogMessages(dialogId.UserId, dialogId.CompanionId);
            var companionIdMessages = GetDialogMessages(dialogId.CompanionId, dialogId.UserId);

            if (thisIdMessages != null && companionIdMessages != null)
            {
                int resultLength = thisIdMessages.Length + companionIdMessages.Length;
                var result       = new MessageInfo[resultLength];
                var temp         = new List <(string Nick, string Content, DateTime Time)>(resultLength);

                foreach (var message in thisIdMessages)
                {
                    temp.Add((Nick: userNick, Content: message.Content, Time: message.Time));
                }

                foreach (var message in companionIdMessages)
                {
                    temp.Add((Nick: companionNick, Content: message.Content, Time: message.Time));
                }

                var sortedTemp = temp.OrderBy(obj => obj.Time.Ticks);

                foreach (var element in sortedTemp)
                {
                    if (index < resultLength)
                    {
                        result[index++] = new MessageInfo()
                        {
                            Nickname = element.Nick,
                            Content  = element.Content,
                            Time     = element.Time.ToShortTimeString()
                        };
                    }
                }

                m_Logger.Info("Get dialog for user from user and companion lists.");

                return(result);
            }
            else if (thisIdMessages != null)
            {
                var result = new MessageInfo[thisIdMessages.Length];
                for (int i = 0; i < thisIdMessages.Length; i++)
                {
                    if (i < thisIdMessages.Length)
                    {
                        result[i] = new MessageInfo()
                        {
                            Nickname = userNick,
                            Content  = thisIdMessages[i].Content,
                            Time     = thisIdMessages[i].Time.ToShortTimeString()
                        };
                    }
                }

                m_Logger.Info("Get dialog for user from user list.");

                return(result);
            }
            else if (companionIdMessages != null)
            {
                var result = new MessageInfo[companionIdMessages.Length];
                for (int i = 0; i < companionIdMessages.Length; i++)
                {
                    if (i < companionIdMessages.Length)
                    {
                        result[i] = new MessageInfo()
                        {
                            Nickname = companionNick,
                            Content  = companionIdMessages[i].Content,
                            Time     = companionIdMessages[i].Time.ToShortTimeString()
                        };
                    }
                }

                m_Logger.Info("Get dialog for user from companion list.");

                return(result);
            }
            return(new MessageInfo[0]);
        }