Exemplo n.º 1
0
    // 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;
    }
Exemplo n.º 2
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            m_Board = (DartBoard)reader.ReadItem();
        }
Exemplo n.º 3
0
    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);
    }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
    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);
    }
Exemplo n.º 6
0
 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();
 }
Exemplo n.º 7
0
        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;
        }
Exemplo n.º 8
0
 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();
 }
Exemplo n.º 9
0
 public CheckCalculator(Config config)
 {
     _config = config;
     _dBoard = DartBoard.Instance;
 }