public void BurnMetals(IConsumableMetal metal, IPlayer player, decimal unitsConsumed) { Metal = metal; Player = player; UnitsConsumed = unitsConsumed; timer.Elapsed += _timer_Elapsed; if (Player.IsFlaring) { UnitsConsumed -= Metal.FlareCost; } Console.WriteLine(Metal.ToString() + " Units Remaining: " + UnitsConsumed); }
private void BtnBurnStart_Click(object sender, EventArgs e) { string metalnamespace = "Mistborn.Models.Metals.Basic."; Type type = Type.GetType(metalnamespace + comboBox1.Text); IConsumableMetal metal = (IConsumableMetal)Activator.CreateInstance(type); IPlayer Player = new Player { IsFlaring = true }; double burnRate = PropertyValue <double>(metal, "BurnRateInMilliseconds"); var timer = new System.Timers.Timer(); allomanticActions.timer = timer; allomanticActions.timer.Interval = burnRate; allomanticActions.timer.Enabled = true; allomanticActions.BurnMetals(metal, Player, Decimal.Parse(txtUnitsConsumed.Text.Trim())); }