public override bool Equals(object obj) { // If parameter is null return false. if (obj == null) { return(false); } // If parameter cannot be cast to Point return false. HighLowGame p = obj as HighLowGame; if ((System.Object)p == null) { return(false); } // Return true if the fields match: return((player == p.Player) && (chat == p.Chat)); }
public void Skype_MessageStatus(IChatMessage message, TChatMessageStatus status) { Match trigger = Regex.Match(message.Body, @"^!highlow (start|highscore|high|low|equal)", RegexOptions.IgnoreCase); if (trigger.Success) { String triggerText = trigger.Groups[1].Value.ToLower(); if (triggerText.Equals("start")) { HighLowGame game = new HighLowGame(message.Sender.Handle, message.Chat.Name); String output = ""; if (games.Contains(game)) { game = games.Single<HighLowGame>((hlg) => { return hlg.Equals(game); }); output += "You're already in a game!\n"; } else { games.Add(game); } output += game.Status; output += "Is the next card high, low or do you dare guess equal (scores 5x)?\nType !highlow <guess> to guess."; message.Chat.SendMessage(output); return; } else if (triggerText.Equals("highscore")) { if (!PluginSettings.Default.HighlowScores.Contains(message.Chat.Name)) message.Chat.SendMessage("No highscore exists for this chat."); else { HighScoreEntry score = PluginSettings.Default.HighlowScores[message.Chat.Name] as HighScoreEntry; message.Chat.SendMessage( String.Format( "High-Low highscore: {0} points by {1}.", score.Score, score.Name ) ); } } else { HighLowGame game = new HighLowGame(message.Sender.Handle, message.Chat.Name); if (!games.Contains(game)) { message.Chat.SendMessage("You aren't currently in a High-Low game! Start one with !highlow start."); return; } game = games.Single<HighLowGame>((hlg) => { return hlg.Equals(game); }); Boolean success; switch (triggerText) { case "high": success = game.GuessHigh(); break; case "low": success = game.GuessLow(); break; case "equal": success = game.GuessEqual(); break; default: log.Error("Reached default case? This shouldn't happen!"); return; } String output = ""; if (!success) { output += String.Format("Incorrect! You got a total of {0} points.", game.Score); Boolean isHighscore = false; if (!PluginSettings.Default.HighlowScores.Contains(message.Chat.Name)) isHighscore = true; else { HighScoreEntry score = PluginSettings.Default.HighlowScores[message.Chat.Name] as HighScoreEntry; if (score.Score < game.Score) isHighscore = true; } if (isHighscore) { output += "\nYou've set a new high score for this chat!"; PluginSettings.Default.HighlowScores[message.Chat.Name] = new HighScoreEntry(game.Score, message.Sender.Handle); PluginSettings.Default.Save(); } games.Remove(game); } else { output += "Correct!\n"; game.nextCard(); game.Score += (triggerText.Equals("equal") ? 5 : 1); output += game.Status; output += "Is the next card high, low or do you dare guess equal (scores 5x)?\nType !highlow <guess> to guess."; } message.Chat.SendMessage(output); } } }
public void Skype_MessageStatus(IChatMessage message, TChatMessageStatus status) { Match trigger = Regex.Match(message.Body, @"^!highlow (start|highscore|high|low|equal)", RegexOptions.IgnoreCase); if (trigger.Success) { String triggerText = trigger.Groups[1].Value.ToLower(); if (triggerText.Equals("start")) { HighLowGame game = new HighLowGame(message.Sender.Handle, message.Chat.Name); String output = ""; if (games.Contains(game)) { game = games.Single <HighLowGame>((hlg) => { return(hlg.Equals(game)); }); output += "You're already in a game!\n"; } else { games.Add(game); } output += game.Status; output += "Is the next card high, low or do you dare guess equal (scores 5x)?\nType !highlow <guess> to guess."; message.Chat.SendMessage(output); return; } else if (triggerText.Equals("highscore")) { if (!PluginSettings.Default.HighlowScores.Contains(message.Chat.Name)) { message.Chat.SendMessage("No highscore exists for this chat."); } else { HighScoreEntry score = PluginSettings.Default.HighlowScores[message.Chat.Name] as HighScoreEntry; message.Chat.SendMessage( String.Format( "High-Low highscore: {0} points by {1}.", score.Score, score.Name ) ); } } else { HighLowGame game = new HighLowGame(message.Sender.Handle, message.Chat.Name); if (!games.Contains(game)) { message.Chat.SendMessage("You aren't currently in a High-Low game! Start one with !highlow start."); return; } game = games.Single <HighLowGame>((hlg) => { return(hlg.Equals(game)); }); Boolean success; switch (triggerText) { case "high": success = game.GuessHigh(); break; case "low": success = game.GuessLow(); break; case "equal": success = game.GuessEqual(); break; default: log.Error("Reached default case? This shouldn't happen!"); return; } String output = ""; if (!success) { output += String.Format("Incorrect! You got a total of {0} points.", game.Score); Boolean isHighscore = false; if (!PluginSettings.Default.HighlowScores.Contains(message.Chat.Name)) { isHighscore = true; } else { HighScoreEntry score = PluginSettings.Default.HighlowScores[message.Chat.Name] as HighScoreEntry; if (score.Score < game.Score) { isHighscore = true; } } if (isHighscore) { output += "\nYou've set a new high score for this chat!"; PluginSettings.Default.HighlowScores[message.Chat.Name] = new HighScoreEntry(game.Score, message.Sender.Handle); PluginSettings.Default.Save(); } games.Remove(game); } else { output += "Correct!\n"; game.nextCard(); game.Score += (triggerText.Equals("equal") ? 5 : 1); output += game.Status; output += "Is the next card high, low or do you dare guess equal (scores 5x)?\nType !highlow <guess> to guess."; } message.Chat.SendMessage(output); } } }
public void OnStageClick() { var gameManager = HighLowGame.GetInstance(); StartCoroutine(gameManager.StageClicked(StageInfo)); }
private void OnEnable() { var playerData = HighLowGame.GetInstance().Getplayer(); _context = new PlayerDataContext(playerData); }