private void UpdateTiming() { if (armyWavesListView.InvokeRequired) { UpdateTimingCallback updateTimingCallback = new UpdateTimingCallback(UpdateTiming); this.Invoke(updateTimingCallback); } else { long targetTimeTicks = targetTime.Value.Ticks - DateTime.Now.Ticks; armyWavesListView.BeginUpdate(); foreach (ListViewItem armyWavesListViewItem in armyWavesListView.Items) { ArmyWave armyWave = (ArmyWave)armyWavesListViewItem.Tag; TimeSpan timeLeft = new TimeSpan(targetTimeTicks - (armyWave.GetTravelTime() * 10000) / armyWave.GetMultiplier()); armyWavesListViewItem.SubItems[4].Text = timeLeft.ToString(); if (Math.Abs(timeLeft.Ticks) <= 100000000) { armyWavesListViewItem.BackColor = Color.Green; } else if (timeLeft.Ticks < 0) { armyWavesListViewItem.BackColor = Color.LightSalmon; } else { armyWavesListViewItem.BackColor = Color.LightGreen; } } armyWavesListView.EndUpdate(); } }
public ArmyWaveControl(ArmyWave armyWave) { InitializeComponent(); this.ArmyWave = armyWave; this.travelTime.DataBindings.Add("Text", ArmyWave, "TravelTime"); this.multiplier.DataBindings.Add("Value", ArmyWave, "Multiplier"); this.name.DataBindings.Add("Text", ArmyWave, "Name"); }
private void UpdateTiming() { long targetTimeTicks = targetTime.Value.Ticks - DateTime.Now.Ticks; foreach (ArmyWaveControl armyWaveControl in armyWavesFlowLayoutPanel.Controls) { ArmyWave armyWave = armyWaveControl.ArmyWave; TimeSpan timeLeft = new TimeSpan(targetTimeTicks - (armyWave.GetTravelTime() * 10000) / armyWave.GetMultiplier()); armyWaveControl.SetTimeLeft(timeLeft.Ticks); } }
public void SetArmyWave(int number, ArmyWave item) { armyWaves.RemoveAt(number); armyWaves.Insert(number, item); }
public void AddOne(ArmyWave armyWave) { armyWaves.Add(armyWave); }