Пример #1
0
 private void FixPickupMessage(On.RoR2.Chat.orig_AddPickupMessage orig, CharacterBody body, string pickupToken, Color32 pickupColor, uint pickupQuantity)
 {
     if (pickupToken == Name.Token && pickupQuantity == 0)
     {
         pickupQuantity = 3;
     }
     orig(body, pickupToken, pickupColor, pickupQuantity);
 }
Пример #2
0
        private void Chat_AddPickupMessage1(On.RoR2.Chat.orig_AddPickupMessage orig, CharacterBody body, string pickupToken, Color32 pickupColor, uint pickupQuantity)
        {
            if (!MostRecentGrabber == body)
            {
                orig(body, pickupToken, pickupColor, pickupQuantity);
                ResetGrabber();
                MostRecentGrabber = body;
                return;
            }
            else
            {
                Chat.log.RemoveAt(IndexOfLastPickupMessage);
                //if (Chat.log.Count - 1 > 0)
                //Chat.log.RemoveAt(Chat.log.Count - 1);
                Tokens_to_Count[pickupToken] = pickupQuantity;

                if (!Tokens_to_NewCount.ContainsKey(pickupToken))
                {
                    Tokens_to_NewCount.Add(pickupToken, 0);
                }
                Tokens_to_NewCount[pickupToken]++;
            }
            // ({Util.GenerateColoredString($"+{Tokens_to_NewCount[pickupToken]}", Color.yellow)})
            string message = "";

            foreach (KeyValuePair <string, uint> kvp in Tokens_to_Count)
            {
                if (kvp.Key == pickupToken)
                {
                    message += $"{Util.GenerateColoredString(Language.GetString(kvp.Key), pickupColor)} ({kvp.Value}) ({Util.GenerateColoredString($"+{Tokens_to_NewCount[pickupToken]}", Color.yellow)})";
                }
                else
                {
                    message += $"{Util.GenerateColoredString(Language.GetString(kvp.Key), Color.grey)} ({kvp.Value})";
                }
                message += " ";
            }

            var subjectFormatChatMessage = new Chat.SubjectFormatChatMessage
            {
                baseToken              = "PLAYER_PICKUP",
                paramTokens            = new string[] { message, "" },
                subjectAsCharacterBody = body
            };

            Chat.AddMessage(subjectFormatChatMessage);
            IndexOfLastPickupMessage = Mathf.Max(0, Chat.log.Count - 1);
        }
Пример #3
0
        private void textToSpeech(On.RoR2.Chat.orig_AddPickupMessage orig, CharacterBody body, string pickupToken, Color32 pickupColor, uint pickupQuantity)
        {
            Chat.PlayerPickupChatMessage pickupMessage = new Chat.PlayerPickupChatMessage
            {
                subjectCharacterBody = body,
                baseToken            = "PLAYER_PICKUP",
                pickupToken          = pickupToken,
                pickupColor          = pickupColor,
                pickupQuantity       = pickupQuantity
            };

            string text = pickupMessage.ConstructChatString();

            synthesizer.Speak(text);

            orig(body, pickupToken, pickupColor, pickupQuantity);
        }