aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.Frontend
diff options
context:
space:
mode:
authorMichael <[email protected]>2017-08-03 09:46:48 -0400
committerMichael <[email protected]>2017-08-03 09:46:48 -0400
commit8fe8026de505e8ba7c4aaf4e454d91c7db94d430 (patch)
treefe2c016c112679cde8a001ebe70ae34c339de5d9 /ShiftOS.Frontend
parentbec3c8424f2612a6b58244ae2462a17455da8303 (diff)
parent80f7d54de91246197607ee4d3829bf6a54d63bca (diff)
downloadshiftos_thereturn-8fe8026de505e8ba7c4aaf4e454d91c7db94d430.tar.gz
shiftos_thereturn-8fe8026de505e8ba7c4aaf4e454d91c7db94d430.tar.bz2
shiftos_thereturn-8fe8026de505e8ba7c4aaf4e454d91c7db94d430.zip
Merge remote-tracking branch 'origin/monogame' into monogame
# Conflicts: # ShiftOS.Frontend/Apps/ChatClient.cs
Diffstat (limited to 'ShiftOS.Frontend')
-rw-r--r--ShiftOS.Frontend/Apps/ChatClient.cs28
1 files changed, 22 insertions, 6 deletions
diff --git a/ShiftOS.Frontend/Apps/ChatClient.cs b/ShiftOS.Frontend/Apps/ChatClient.cs
index cac665c..1f685dc 100644
--- a/ShiftOS.Frontend/Apps/ChatClient.cs
+++ b/ShiftOS.Frontend/Apps/ChatClient.cs
@@ -93,6 +93,13 @@ namespace ShiftOS.Frontend.Apps
//Let's try the AI stuff... :P
var rmsg = _messages[rnd.Next(_messages.Count)].Message;
+ if (!messagecache.Contains(_messages.Last().Message))
+ {
+ messagecache.Add(_messages.Last().Message);
+#if RIP_USERS_SSD
+ SaveCache();
+#endif
+ }
var split = new List<string>(rmsg.Split(' '));
List<string> nmsg = new List<string>();
if (split.Count > 2)
@@ -109,10 +116,10 @@ namespace ShiftOS.Frontend.Apps
{
split.RemoveAt(i);
}
- split.AddRange(Regex.Split(Regex.Replace(_messages[rnd.Next(_messages.Count)].Message, "debugbot", outcomes[rnd.Next(outcomes.Length)], RegexOptions.IgnoreCase), " "));
+ split.AddRange(Regex.Split(Regex.Replace(messagecache[rnd.Next(messagecache.Count)], "debugbot", outcomes[rnd.Next(outcomes.Length)], RegexOptions.IgnoreCase), " "));
}
split.RemoveAt(rnd.Next(split.Count));
- split.Add(Regex.Replace(_messages[rnd.Next(_messages.Count)].Message, "debugbot", outcomes[rnd.Next(outcomes.Length)], RegexOptions.IgnoreCase));
+ split.Add(Regex.Replace(messagecache[rnd.Next(messagecache.Count)], "debugbot", outcomes[rnd.Next(outcomes.Length)], RegexOptions.IgnoreCase));
string combinedResult = string.Join(" ", split);
_messages.Add(new ChatMessage
{
@@ -125,7 +132,7 @@ namespace ShiftOS.Frontend.Apps
readonly string[] outcomes = new string[] { "ok", "sure", "yeah", "yes", "no", "nope", "alright" };
Random rnd = new Random();
- List<string> messagecache = new List<string>();
+ private List<string> messagecache = new List<string>();
public void SendClientMessage(string nick, string message)
{
@@ -168,21 +175,30 @@ namespace ShiftOS.Frontend.Apps
}
gfx.DrawRectangle(vertSeparatorLeft, 0, 1, _bottomseparator, UIManager.SkinTextures["ControlTextColor"]);
}
-
+
public void OnLoad()
{
-
+ if (System.IO.File.Exists("aicache.dat"))
+ messagecache = System.IO.File.ReadAllLines("aicache.dat").ToList();
}
public void OnSkinLoad()
{
}
-
+
public bool OnUnload()
{
+ // this doesn't get called... dammit
+ SaveCache();
return true;
}
+ private void SaveCache()
+ {
+ // It's watching you...
+ System.IO.File.WriteAllLines("aicache.dat", messagecache);
+ }
+
public void OnUpgrade()
{
}