// Used for throwing with keybinding. // NOTE: Currently unused. private void HandleDartThrow(Vector3 position, Vector3 direction) { if (_numDarts <= 0) { return; } GameObject dartObject = Instantiate(DartPrefab, position, Quaternion.identity); dartObject.transform.parent = Darts.transform; Dart dart = dartObject.GetComponent <Dart>(); dart.Throw(direction); bool hitHandled = false; dart.HitEvent += (_, gameObject) => { if (hitHandled) { return; } DartBoard dartBoard = gameObject.GetComponentInParent <DartBoard>(); Dart otherDart = gameObject.GetComponentInParent <Dart>(); if (dartBoard == null && otherDart == null) { HandleDartBoardMiss(); hitHandled = true; } }; --_numDarts; }
public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_Board = (DartBoard)reader.ReadItem(); }
private void OnCollisionEnter(Collision collision) { if (_pickedUp) { return; } GameObject gameObject = collision.gameObject; DartBoard dartBoard = gameObject.GetComponentInParent <DartBoard>(); if (dartBoard != null) { _stuckInDartBoard = true; _audioSource.pitch = 1.2f + Random.value * 0.2f; _audioSource.PlayOneShot(HitClip, 1.0f); } HitEvent?.Invoke(this, gameObject); }
public bool CheckWurfSetWerte(string wurfwert) { int wurfValue = BerechneWurf(wurfwert); //Fall 1 --> Spieler hat gewonnen if (X01Mitspieler[SpielerDran].Score == wurfValue + ScoreRunde) { ScoreRunde += wurfValue; Wurfanzeige.BtnFertig.Content = "Neue Runde"; //isVisibleBtnfertigWinner = true; //isEnabledDartBoard = false; //isVisiblBtnNoScore = false; SetButtons(false, true, false); SetZustand(wurfwert); ZeichneGrids(); return(false); } //Fall 2 --> Spieler hat sich überworfen if (X01Mitspieler[SpielerDran].Score < wurfValue + ScoreRunde) { ScoreRunde = 0; //isVisibleBtnfertigWinner = true; //isEnabledDartBoard = false; //isVisiblBtnNoScore = false; SetButtons(false, true, false); SetZustand(wurfwert); ZeichneGrids(); return(false); } //Fall 3 --> Wurf wird vom Score des Spielers abgezogen ScoreRunde += wurfValue; if (AnzahlWuerfe == 3) { DartBoard.Set(false, AnzahlWuerfe, true, false); Wurfanzeige.BtnFertig.Visibility = Visibility.Visible; } return(true); }
private void AddDart(Vector3 position) { GameObject dartObject = Instantiate(DartPrefab, position, Quaternion.identity); dartObject.transform.parent = Darts.transform; dartObject.transform.localPosition = position; Dart dart = dartObject.GetComponent <Dart>(); _audioSource.pitch = 1.2f + Random.value * 0.2f; _audioSource.PlayOneShot(PopClip, 1.4f); bool hitHandled = false; dart.HitEvent += (_, gameObject) => { if (hitHandled) { return; } DartBoard dartBoard = gameObject.GetComponentInParent <DartBoard>(); Dart otherDart = gameObject.GetComponentInParent <Dart>(); Table table = gameObject.GetComponentInParent <Table>(); Player player = gameObject.GetComponentInParent <Player>(); if (dartBoard == null && otherDart == null && table == null && player == null) { HandleDartBoardMiss(); hitHandled = true; } }; Throwable throwable = dartObject.GetComponent <Throwable>(); throwable.onDetachFromHand.AddListener(HandleVRDartThrow); }
public void ZeichneGrids() { DartBoard.Set(isEnabledDartBoard, AnzahlWuerfe, Zustaende.Count > 1, isVisiblBtnNoScore); Wurfanzeige.Set(SplitScoreMitspieler[SpielerDran].SpielerName + " " + Wurfrunden[AnzahlRunden], Wurf1Score, Wurf2Score, Wurf3Score, SplitScoreMitspieler[SpielerDran].Score.ToString(), "SplitScore", AnzahlWuerfe == 3); ZeichneGridTabelle(); }
private void MenuItem_Click(object sender, RoutedEventArgs e) { string path = ""; DartBoard.UnsetCricket(); OnSpielWechsel?.Invoke(this, new EventArgs()); MenuItem item = (MenuItem)sender; if (item.Tag.ToString().Equals("Close")) { Close(); } if (item.Tag.ToString().Equals("101")) { path = "pack://application:,,,/Images/101.png"; spiel = new X01(grdWurfanzeige, grdTabelle, Mitspieler, DartBoard, 101, this); } if (item.Tag.ToString().Equals("301")) { path = "pack://application:,,,/Images/301.png"; spiel = new X01(grdWurfanzeige, grdTabelle, Mitspieler, DartBoard, 301, this); } if (item.Tag.ToString().Equals("501")) { path = "pack://application:,,,/Images/501.png"; spiel = new X01(grdWurfanzeige, grdTabelle, Mitspieler, DartBoard, 501, this); } if (item.Tag.ToString().Equals("701")) { path = "pack://application:,,,/Images/701.png"; spiel = new X01(grdWurfanzeige, grdTabelle, Mitspieler, DartBoard, 701, this); } if (item.Tag.ToString().Equals("901")) { path = "pack://application:,,,/Images/901.png"; spiel = new X01(grdWurfanzeige, grdTabelle, Mitspieler, DartBoard, 901, this); } if (item.Tag.ToString().Equals("Cricket")) { path = "pack://application:,,,/Images/Cricket.png"; DartBoard.SetCricket(); Cricket cricket = new Cricket(grdWurfanzeige, grdTabelle, Mitspieler, DartBoard, this); } if (item.Tag.ToString().Equals("SplitScore")) { path = "pack://application:,,,/Images/SplitScore.png"; SplitScore splitscore = new SplitScore(grdWurfanzeige, grdTabelle, Mitspieler, DartBoard, this); } if (item.Tag.ToString().Equals("Elimination")) { path = "pack://application:,,,/Images/Elimination.png"; Elimination elimination = new Elimination(grdWurfanzeige, grdTabelle, Mitspieler, DartBoard, this); } var image = new BitmapImage(new Uri(path)); LblSpielIcon.Background = new ImageBrush(image); BtnSpielerPlus.Visibility = Visibility.Visible; Background = new ImageBrush(new BitmapImage(new Uri(BaseUriHelper.GetBaseUri(this), "Images/BgMainscreen.png"))); DartBoard.Visibility = Visibility.Visible; }
public void ZeichneGrids() { DartBoard.Set(isEnabledDartBoard, AnzahlWuerfe, Zustaende.Count > 1, isVisiblBtnNoScore); Wurfanzeige.Set(X01Mitspieler[SpielerDran].SpielerName, Wurf1Score, Wurf2Score, Wurf3Score, ScoreRunde.ToString(), StartScore.ToString(), AnzahlWuerfe == 3 || isVisibleBtnfertigWinner); ZeichneGridTabelle(); }
public CheckCalculator(Config config) { _config = config; _dBoard = DartBoard.Instance; }