コード例 #1
0
        private void DoUpdateTick()
        {
            lastUpdateTime += updateClock;

            foreach (var player in Players)
            {
                player.UpdateTick();
            }
            TickSpecialPlayers();

            foreach (var player in Players)
            {
                player.RecalculateDPS(lastUpdateTime);
            }

            TotalFriendlyDamage = Players.Select(p => p.FilteredDamage.TotalDamage).Sum();
            TotalFriendlyDPS    = Players.Select(p => p.FilteredDamage.TotalDPS).Sum();
            HighestDpsPlayer    = Players.OrderByDescending(p => p.FilteredDamage.TotalDamage).FirstOrDefault();

            foreach (var player in Players)
            {
                player.UpdateRelativeDps(TotalFriendlyDamage);
            }
            UpdateSpecialPlayers();

            UpdateTick?.Invoke(this, new UpdateTickEventArgs(lastUpdateTime));
            timeLastUpdateInvoked = DateTime.Now;
            damageInstancesQueued = 0;
        }
コード例 #2
0
 public static void InvokeUpdateTick()
 {
     try
     {
         UpdateTick.Invoke();
     }
     catch (Exception ex)
     {
         Program.LogError("An exception occured in XNA UpdateTick: " + ex.ToString());
     }
 }
コード例 #3
0
ファイル: Game.cs プロジェクト: yeungchenhe/SMAPI
 internal static void InvokeUpdateTick()
 {
     try
     {
         UpdateTick.Invoke(null, EventArgs.Empty);
     }
     catch (Exception ex)
     {
         Log.AsyncR("An exception occured in XNA UpdateTick: " + ex);
     }
 }