Exemple #1
0
        /// <summary>
        /// Sets the character name to display on the Say Dialog.
        /// Supports variable substitution e.g. John {$surname}
        /// </summary>
        public virtual void SetCharacterName(string name, Color color)
        {
            if (string.IsNullOrEmpty(name))
            {
                nameBox.SetActive(false);
                return;
            }
            nameBox.SetActive(true);
            if (nameText != null)
            {
                var subbedName = LocUtil.TranslateWithDefault(name, name);

                nameText.text = subbedName;
            }
            if (nameColorGraphic != null)
            {
                nameColorGraphic.color = color;
            }
        }
Exemple #2
0
        public static List <ConversationItem> GetConversationItems(string characterID, string conversationKey)
        {
            StringBuilder sb = new StringBuilder();

            string key = characterID + "/" + conversationKey;

            var translationList = LocalizationManager.GetTermsList(key);

            if (GameManager.Instance.IsVampire(characterID))
            {
                var altList = LocalizationManager.GetTermsList(key + "/v");
                if (altList != null && altList.Count > 0)
                {
                    translationList = altList;
                }
            }

            if (translationList == null)
            {
                Debug.LogError($"Conversation '{key}' is missing!");
                return(new List <ConversationItem>());
            }
            for (int i = 0; i < translationList.Count; i++)
            {
                sb.Append($"{LocUtil.TranslateWithDefault("", "params", false, translationList[i])}`{LocUtil.TranslateWithDefault("", "dialogue", false, translationList[i])}`");
                for (int j = 1; j < 4; j++)
                {
                    if (j > 1)
                    {
                        sb.Append("|");
                    }
                    sb.Append($"{LocUtil.TranslateWithDefault("", "response_" + j + "_link", false, translationList[i])}={LocUtil.TranslateWithDefault("", "response_" + j, false, translationList[i])}");
                }
                sb.Append("\t");
            }
            if (sb.Length > 0)
            {
                return(Instance.Parse(sb.ToString()));
            }
            return(new List <ConversationItem>());
        }