private void OnBreakdown(Asteroid asteroid)
 {
     Scored?.Invoke((4 - asteroid.BreakdownsRemaining) * 100);
     if (asteroid.BreakdownsRemaining > 0)
     {
         CreateBreakdownAsteroids(asteroid);
     }
     _asteroids.Remove(asteroid);
 }
Exemple #2
0
    void onTeam1Score(Godot.Object body)
    {
        if (body != ball)
        {
            return;
        }

        Scored?.Invoke(Data.Team.TEAM_1);
    }
Exemple #3
0
    void OnTriggerStay2D(Collider2D other)
    {
        if (this.shooter == null)
        {
            return;
        }
        Damageable        damageable         = other.gameObject.GetComponent <Damageable>();
        Rock              rock               = other.gameObject.GetComponent <Rock>();
        UFO               ufo                = other.gameObject.GetComponent <UFO>();
        Nebula            nebula             = other.gameObject.GetComponent <Nebula>();
        ControlledShooter controlled_shooter = this.shooter.gameObject.GetComponent <ControlledShooter>();

        /// The projectile collided with something!
        if (damageable != null)
        {
            damageable.Damage(this.damage);
            if (rock != null)
            {
                if (controlled_shooter != null && controlled_shooter.GetComponent <Scored>() != null)
                {
                    uint value = 0;
                    switch (rock.rock_type)
                    {
                    case Rock.RockType.LARGE:
                        value = controlled_shooter.score_per_large_asteroid_kill;
                        break;

                    case Rock.RockType.MEDIUM:
                        value = controlled_shooter.score_per_medium_asteroid_kill;
                        break;

                    case Rock.RockType.SMALL:
                        value = controlled_shooter.score_per_small_asteroid_kill;
                        break;
                    }
                    controlled_shooter.GetComponent <Scored>().score += value;
                }
            }
            else if (ufo != null && controlled_shooter != null)
            {
                Scored scored = controlled_shooter.GetComponent <Scored>();
                if (scored != null)
                {
                    scored.score += ufo.score_on_hit;
                    if (!ufo.damageable.IsAlive())
                    {
                        controlled_shooter.GetComponent <Scored>().score += ufo.score_on_kill;
                    }
                }
            }
            if (nebula == null)
            {
                Destroy(this.gameObject);
            }
        }
    }
 public void Score()
 {
     while (true)
     {
         Thread.Sleep(50);
         Random random            = new Random();
         int    position          = random.Next(0, 2);
         var    positionEventArgs = new PositionEventArgs((PlayerPosition)position);
         Scored?.Invoke(this, positionEventArgs);
     }
 }
Exemple #5
0
 public void Start()
 {
     if (isPear)
     {
         scoreTrackerPear = GetComponent <ScoredPear>();
     }
     else
     {
         scoreTrackerApple = GetComponent <Scored>();
     }
 }
        private void AddControlScore()
        {
            sc = new Scored();
            Grid.SetRow(sc, 2);
            sc.Margin = new Thickness(0, 0, 0, -7);


            mainGrid.Children.Add(sc);
            sc.ChamDiem(_playerID);


            sc.mediaVotay.MediaEnded += new RoutedEventHandler(EndVotay);


            // mainGrid.Children.Remove(sc);
        }
Exemple #7
0
    /// <summary>
    /// Al llamar al evento de anotar <see cref="Score"/> y destruir el objeto, se simula que la roca entra en la meta.
    /// </summary>
    /// <returns></returns>
    private IEnumerator Score()
    {
        var     wait       = new WaitForFixedUpdate();
        Vector2 localScale = transform.localScale;
        Vector2 size       = renderer.size * localScale;

        while (size.y > 0f)
        {
            size.y       += velocity.y * fixedDeltaTime;
            renderer.size = size / localScale;

            yield return(wait);
        }

        Scored?.Invoke();
        Destroy(gameObject);
    }
Exemple #8
0
        public int CompareTo(LeagueTableItemViewModel other)
        {
            if (Points != other.Points)
            {
                return(-Points.CompareTo(other.Points));
            }

            if (GoalDifference != other.GoalDifference)
            {
                return(-GoalDifference.CompareTo(other.GoalDifference));
            }

            if (Scored != other.Scored)
            {
                return(-Scored.CompareTo(other.Scored));
            }

            return(TeamViewModel.ToString().CompareTo(other.TeamViewModel.ToString()));
        }
        private void EndVotay(object sender, RoutedEventArgs e)
        {
            mainGrid.Children.Remove(sc);
            sc = null;

            ////cập nhật lại điểm và level


            AppearInfo();
            UpdateInfo(null, null);
            try
            {
                sc.mediaVotay.MediaEnded -= EndVotay;
            }
            catch
            {
            }

            videoplayer.mediaElement.Close();

            NextInQueue(null, null);
        }
Exemple #10
0
 private void OnScored()
 {
     Scored?.Invoke(this, new ScoredEventArgs(_model.Score));
 }