public void ArrangeGrid() { System.Random rnd = new System.Random(); List <iRacer> GridOrder = Racers.OrderBy(item => rnd.Next()).ToList <iRacer>(); goStartingLine = GameObject.Find("StartingLine"); Transform SL = goStartingLine.transform; goChequeredFlag = SL.Find("ChequeredFlag").gameObject; goChequeredFlag.SetActive(false); int Pos = 0; foreach (iRacer r in GridOrder) { int row = Pos % 3; int col = Pos / 3; Pos++; r.SetPos(SL.position + SL.rotation * (Vector3.left * (-4 + 4 * row) + Vector3.back * 6 * col + Vector3.up * 0.5f)); r.SetRot(SL.rotation); r.goRacer.GetComponent <Rigidbody>().velocity = Vector3.zero; } Road.Instance.RemoveRuts(); if (Main.Instance.Ghost && PlayerManager.Type != "Replayer") { DrivingPlayManager.Current.GhostCarManager.VehicleController.Init(); } LapStats = new List <LapStat>(); PlayerRacer = DrivingPlayManager.Current.PlayerCarManager.Racer; }
public void AddRacer(Racer racer) { if (racer != null) { Racers.Add(racer); } }
private void AddRacer(object obj) { Racer newRacer = _derbyDataService.CreateRacer(); Racers.Add(newRacer); Messenger.Default.Send <Racer>(newRacer); _dialogService.ShowRacerDetailDialog(); }
/// <summary> /// Начать гонку /// </summary> public void StartRace() { IsAllFinished = false; FinishedRacers.Clear(); Racers.ForEach(veh => { veh.Run(Length, TimerInterval); }); CheckForFinish(); }
protected virtual void Dispose(bool b) { PlayerRacer = null; foreach (iRacer r in Racers) { r.Dispose(); } Racers.Clear(); System.GC.Collect(); }
/// <summary> /// Сама проверка окончания /// </summary> /// <param name="obj"></param> private void CheckDo(object obj) { if (Racers.Count(x => x.IsFinished) == Racers.Count) { _timer.Dispose(); IsAllFinished = true; OnFinishHandler?.Invoke(); //Отсортируем по времени и выведем таблицу var list = Racers.OrderBy(x => x.ElapsedTime).ToList(); for (var i = 0; i < list.Count; i++) { list[i].Place = i + 1; FinishedRacers.Add(list[i]); } } }
public void racersTest() { var r = new Racers(); var expected = new[] { 1, 0 }; Assert.IsTrue(expected.SequenceEqual(r.racers(10, new[] { 2, 2 }, new[] { 2, 4 }))); expected = new[] { 0, 1 }; Assert.IsTrue(expected.SequenceEqual(r.racers(10, new[] { 2, 2 }, new[] { 2, 2 }))); expected = new[] { 1, 0 }; Assert.IsTrue(expected.SequenceEqual(r.racers(10, new[] { 2, 4 }, new[] { 2, 2 }))); expected = new[] { 2, 1, 0 }; Assert.IsTrue(expected.SequenceEqual(r.racers(1, new[] { 5, 10, 15 }, new[] { 20, 10, 5 }))); expected = new[] { 3, 4, 5, 1, 0, 2 }; Assert.IsTrue(expected.SequenceEqual(r.racers(27, new[] { 3, 2, 2, 18, 14, 9 }, new[] { 151, 236, 152, 15, 163, 275 }))); }
private Sprite GetSpriteByRacer(Racers racer) { if (racer == Racers.player1) { return(player1Sprite); } else if (racer == Racers.player2) { return(player2Sprite); } else if (racer == Racers.com1) { return(com1Sprite); } else if (racer == Racers.com2) { return(com2Sprite); } else if (racer == Racers.com3) { return(com3Sprite); } return(null); }
public void SetFourthPosition(Racers racer) { fourthPosImage.sprite = GetSpriteByRacer(racer); }
public void SetThirdPosition(Racers racer) { thirdPosImage.sprite = GetSpriteByRacer(racer); }
public void SetSecondPosition(Racers racer) { secondPosImage.sprite = GetSpriteByRacer(racer); }
public void SetFirstPosition(Racers racer) { firstPosImage.sprite = GetSpriteByRacer(racer); }