public override void Update()
{
if (DataModel == null)
return;
var dm = (CounterStrikeDataModel) DataModel;
if (dm.player != null)
{
// Detect active weapon
if (dm.player.weapons.weapon_0?.state == "active")
dm.player.weapons.active_weapon = dm.player.weapons.weapon_0;
else if (dm.player.weapons.weapon_1?.state == "active")
dm.player.weapons.active_weapon = dm.player.weapons.weapon_1;
else if (dm.player.weapons.weapon_2?.state == "active")
dm.player.weapons.active_weapon = dm.player.weapons.weapon_2;
// Detect a kill
if (dm.player.state.round_kills > _lastKills)
{
dm.player.state.made_kill = true;
_lastKill = DateTime.Now;
}
else if (dm.player.state.made_kill && (DateTime.Now - _lastKill > TimeSpan.FromMilliseconds(500)))
dm.player.state.made_kill = false;
_lastKills = dm.player.state.round_kills;
// Detect a headshot
if (dm.player.state.round_killhs > _lastHeadshots)
{
dm.player.state.made_headshot = true;
_lastHeadshot = DateTime.Now;
}
else if (dm.player.state.made_headshot && (DateTime.Now - _lastHeadshot > TimeSpan.FromMilliseconds(500)))
dm.player.state.made_headshot = false;
_lastHeadshots = dm.player.state.round_killhs;
// Detect a round win
// Detect a round loss
}
DataModel = dm;
}