コード例 #1
0
    private void ProcessStrikes()
    {
        _currentAttacRange = IsHasSword ? _swordAttackRange : _kickAttackRange;
        _currentDamage     = IsHasSword ? _swordDamage : _noWeaponDamage;

        if (input.Strike && _nextSwordAttackTime >= _meeleAttackRate)
        {
            _nextSwordAttackTime = 0;

            if (IsHasSword)
            {
                AudioManager.Instance.PlaySFX(SoundsFx.SwordStrike);
            }
            else
            {
                AudioManager.Instance.PlaySFX(SoundsFx.Kick);
            }

            OnStrike?.Invoke();
        }
    }
コード例 #2
0
 public void BallBowled(string outcome, int runs, string methodOut)
 {
     if (outcome != "No Ball" || outcome != "Wide")
     {
         OnStrike.FaceBall();
         Bowler.BallBowled();
         Overs += 0.1;
         OversConverter();
     }
     if (outcome == "Runs")
     {
         Runs(runs);
     }
     if (outcome == "Byes")
     {
         Batting.AddByes(runs);
         if (runs % 2 != 0)
         {
             BatsmenSwap();
         }
     }
     if (outcome == "Leg Byes")
     {
         Batting.AddLegByes(runs);
         if (runs % 2 != 0)
         {
             BatsmenSwap();
         }
     }
     if (outcome == "Wide")
     {
         Batting.AddWides(runs);
         if (runs - 1 % 2 != 0)
         {
             BatsmenSwap();
         }
         Bowler.ConcedeRuns(runs);
     }
     if (outcome == "No Ball")
     {
         if (runs > 1)
         {
             int batRuns = runs - 1;
             Batting.AddNoBalls(1);
             OnStrike.ScoreRuns(batRuns);
             if (batRuns % 2 != 0)
             {
                 BatsmenSwap();
             }
         }
         else
         {
             Batting.AddNoBalls(runs);
         }
         Bowler.ConcedeRuns(runs);
     }
     Wicket(methodOut);
     Batting.CalcRuns();
     EndOfOverCheck();
     InEndCheck();
 }