public void SwapLetters() { Model model = new Model(); model.Start(); Assert.AreEqual(false, model.SwapLetters(new int[]{-1, -1})); Assert.AreEqual(false, model.SwapLetters(new int[]{-1, 0})); Assert.AreEqual(false, model.SwapLetters(new int[]{3, 1})); model.tileSelecteds[1] = true; model.tileSelecteds[3] = true; Assert.AreEqual(false, model.SwapLetters(new int[]{0, 0})); Assert.AreEqual(true, model.SwapLetters(new int[]{3, 1})); Assert.AreEqual(false, model.SwapLetters(new int[]{1, 2})); Assert.AreEqual(true, model.SwapLetters(new int[]{1, 3})); Assert.AreEqual(true, model.SwapLetters(new int[]{1, 3})); }
private void Start() { model.Start(); UpdateButtons(); }
public void SurfaceCreated(ISurfaceHolder holder) { Console.WriteLine("SurfaceCreated"); Model.Start(this.Holder); }
public void Init( Microsoft.Xna.Framework.Game game ) { _model = new Model( (Game1) game ); _model.Load( GameStatePlayMenu.MapToPlay ); _model.Start(); }
private void ProcessMessage(String message, Connection clientConnection) { try { if (message == "startorsplit") { if (State.CurrentPhase == TimerPhase.Running) { Model.Split(); } else { Model.Start(); } } else if (message == "split") { Model.Split(); } else if (message == "undosplit" || message == "unsplit") { Model.UndoSplit(); } else if (message == "skipsplit") { Model.SkipSplit(); } else if (message == "pause" && State.CurrentPhase != TimerPhase.Paused) { Model.Pause(); } else if (message == "resume" && State.CurrentPhase == TimerPhase.Paused) { Model.Pause(); } else if (message == "reset") { Model.Reset(); } else if (message == "start" || message == "starttimer") { Model.Start(); } else if (message.StartsWith("setgametime ")) { var value = message.Split(' ')[1]; var time = parseTime(value); State.SetGameTime(time); } else if (message.StartsWith("setloadingtimes ")) { var value = message.Split(' ')[1]; var time = parseTime(value); State.LoadingTimes = time ?? TimeSpan.Zero; } else if (message == "pausegametime") { State.IsGameTimePaused = true; } else if (message == "unpausegametime") { AlwaysPauseGameTime = false; State.IsGameTimePaused = false; } else if (message == "alwayspausegametime") { AlwaysPauseGameTime = true; State.IsGameTimePaused = true; } else if (message == "getdelta" || message.StartsWith("getdelta ")) { var comparison = State.CurrentComparison; if (message.Contains(" ")) { comparison = message.Split(new char[] { ' ' }, 2)[1]; } var delta = LiveSplitStateHelper.GetLastDelta(State, State.CurrentSplitIndex, comparison, State.CurrentTimingMethod); var response = DeltaFormatter.Format(delta); clientConnection.SendMessage(response); } else if (message == "getsplitindex") { var splitindex = State.CurrentSplitIndex; var response = splitindex.ToString(); clientConnection.SendMessage(response); } else if (message == "getcurrentsplitname") { var splitindex = State.CurrentSplitIndex; var currentsplitname = State.CurrentSplit.Name; var response = currentsplitname; clientConnection.SendMessage(response); } else if (message == "getprevioussplitname") { var previoussplitindex = State.CurrentSplitIndex - 1; var previoussplitname = State.Run[previoussplitindex].Name; var response = previoussplitname; clientConnection.SendMessage(response); } else if (message == "getlastsplittime" && State.CurrentSplitIndex > 0) { var splittime = State.Run[State.CurrentSplitIndex - 1].SplitTime[State.CurrentTimingMethod]; var response = SplitTimeFormatter.Format(splittime); clientConnection.SendMessage(response); } else if (message == "getcomparisonsplittime") { var splittime = State.CurrentSplit.Comparisons[State.CurrentComparison][State.CurrentTimingMethod]; var response = SplitTimeFormatter.Format(splittime); clientConnection.SendMessage(response); } else if (message == "getcurrenttime") { var timingMethod = State.CurrentTimingMethod; if (timingMethod == TimingMethod.GameTime && !State.IsGameTimeInitialized) { timingMethod = TimingMethod.RealTime; } var time = State.CurrentTime[timingMethod]; var response = SplitTimeFormatter.Format(time); clientConnection.SendMessage(response); } else if (message == "getfinaltime" || message.StartsWith("getfinaltime ")) { var comparison = State.CurrentComparison; if (message.Contains(" ")) { comparison = message.Split(new char[] { ' ' }, 2)[1]; } var time = (State.CurrentPhase == TimerPhase.Ended) ? State.CurrentTime[State.CurrentTimingMethod] : State.Run.Last().Comparisons[comparison][State.CurrentTimingMethod]; var response = SplitTimeFormatter.Format(time); clientConnection.SendMessage(response); } else if (message.StartsWith("getpredictedtime ")) { var comparison = message.Split(new char[] { ' ' }, 2)[1]; var prediction = PredictTime(State, comparison); var response = SplitTimeFormatter.Format(prediction); clientConnection.SendMessage(response); } else if (message == "getbestpossibletime") { var comparison = LiveSplit.Model.Comparisons.BestSegmentsComparisonGenerator.ComparisonName; var prediction = PredictTime(State, comparison); var response = SplitTimeFormatter.Format(prediction); clientConnection.SendMessage(response); } else if (message == "getcurrenttimerphase") { var response = State.CurrentPhase.ToString(); clientConnection.SendMessage(response); } else if (message.StartsWith("setcomparison ")) { var comparison = message.Split(new char[] { ' ' }, 2)[1]; State.CurrentComparison = comparison; } else if (message == "switchto realtime") { State.CurrentTimingMethod = TimingMethod.RealTime; } else if (message == "switchto gametime") { State.CurrentTimingMethod = TimingMethod.GameTime; } else if (message.StartsWith("setsplitname ")) { int index = Convert.ToInt32(message.Split(new char[] { ' ' }, 3)[1]); string title = message.Split(new char[] { ' ' }, 3)[2]; State.Run[index].Name = title; State.Run.HasChanged = true; } else if (message.StartsWith("setcurrentsplitname ")) { string title = message.Split(new char[] { ' ' }, 2)[1]; State.Run[State.CurrentSplitIndex].Name = title; State.Run.HasChanged = true; } } catch (Exception ex) { Log.Error(ex); } }
protected void ProcessRaceChannelMessage(string user, string message) { if (user == "RaceBot") { if (message.Contains("GO!") && RaceState == RaceState.EnteredRaceAndReady) { Model.Start(); RaceState = RaceState.RaceStarted; } else if (message == Client.LocalUser.NickName + " has been removed from the race.") { RaceState = RaceState.NotInRace; } else if (message.Contains(" has been removed from the race.")) { var userName = message.Substring(0, message.IndexOf(" ")); if (Model.CurrentState.CurrentComparison.Equals("[Race] " + userName)) { Model.CurrentState.CurrentComparison = Run.PersonalBestComparisonName; } var comparisonGenerator = Model.CurrentState.Run.ComparisonGenerators.FirstOrDefault(x => x.Name == ("[Race] " + userName)); if (comparisonGenerator != null) { Model.CurrentState.Run.ComparisonGenerators.Remove(comparisonGenerator); } foreach (var segment in Model.CurrentState.Run) { segment.Comparisons["[Race] " + userName] = default(Time); } } else if (message.StartsWith(Client.LocalUser.NickName + " enters the race!")) { RaceState = RaceState.EnteredRace; } else if (message.Contains(" enters the race!")) { var userName = message.Substring(0, message.IndexOf(" ")); if (LiveSplitChannel.Users.Select(x => x.User.NickName).Contains(userName)) { AddComparison(userName); } } else if (message.StartsWith(Client.LocalUser.NickName + " is ready!")) { RaceState = RaceState.EnteredRaceAndReady; } else if (message.StartsWith(Client.LocalUser.NickName + " isn't ready!")) { RaceState = RaceState.EnteredRace; } else if (message.StartsWith(Client.LocalUser.NickName + " has forfeited from the race.")) { RaceState = RaceState.RaceEnded; } else if (message.StartsWith(Client.LocalUser.NickName + " has been undone from the race.")) { RaceState = RaceState.RaceStarted; } else if (message.StartsWith(Client.LocalUser.NickName + " has finished in")) { RaceState = RaceState.RaceEnded; } else if (message == "Rematch!") { RaceState = RaceState.NotInRace; RemoveRaceComparisons(); } } }
public void Start() { _model.Start(); }
public void Init(Microsoft.Xna.Framework.Game game) { _model = new Model((Game1)game); _model.Load(GameStatePlayMenu.MapToPlay); _model.Start(); }
public void Start(Action timeoutHandler) => Model.Start(timeoutHandler);