1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-13 05:48:35 +00:00

Added kill state to UT datamodel

This commit is contained in:
SpoinkyNL 2016-09-01 14:10:41 +02:00
parent 11871d94fe
commit 9dd9b6dd9a
4 changed files with 23 additions and 46 deletions

View File

@ -26,19 +26,19 @@ namespace Artemis.Modules.Games.UnrealTournament
public PlayerState State { get; set; }
public Inventory Inventory { get; set; }
public Weapon Weapon { get; set; }
[DefaultValue("None")]
public KillState KillState { get; set; }
}
public enum KillState
{
None,
Kill,
DoubleKill,
MultiKill,
MegaKill,
UltraKill,
MonsterKill
None = 0,
Kill = 1,
DoubleKill = 2,
MultiKill = 3,
UltraKill = 4,
MonsterKill = 5
}
public class PlayerState
@ -115,11 +115,11 @@ namespace Artemis.Modules.Games.UnrealTournament
public bool bCasterControl { get; set; }
public bool bForcedBalance { get; set; }
public bool bPlayPlayerIntro { get; set; }
public int TimeLimit { get; set; }
public int SpawnProtectionTime { get; set; }
public int RemainingTime { get; set; }
public int ElapsedTime { get; set; }
public int RespawnWaitTime { get; set; }
public int ForceRespawnTime { get; set; }
public float TimeLimit { get; set; }
public float SpawnProtectionTime { get; set; }
public float RemainingTime { get; set; }
public float ElapsedTime { get; set; }
public float RespawnWaitTime { get; set; }
public float ForceRespawnTime { get; set; }
}
}

View File

@ -23,7 +23,7 @@ namespace Artemis.Modules.Games.UnrealTournament
Enabled = Settings.Enabled;
Initialized = false;
_killTimer = new Timer(4000);
_killTimer = new Timer(3500);
_killTimer.Elapsed += KillTimerOnElapsed;
}
@ -70,43 +70,20 @@ namespace Artemis.Modules.Games.UnrealTournament
// Reset the timer
_killTimer.Stop();
_killTimer.Start();
if (utDataModel.Player != null)
if (utDataModel.Player?.State != null)
{
switch (utDataModel.Player.KillState)
// Can't go past MonsterKill in the current version of UT
if (utDataModel.Player.KillState != KillState.MonsterKill)
{
case KillState.None:
utDataModel.Player.KillState = KillState.Kill;
break;
case KillState.Kill:
utDataModel.Player.KillState = KillState.DoubleKill;
break;
case KillState.DoubleKill:
utDataModel.Player.KillState = KillState.MultiKill;
break;
case KillState.MultiKill:
utDataModel.Player.KillState = KillState.MegaKill;
break;
case KillState.MegaKill:
utDataModel.Player.KillState = KillState.UltraKill;
break;
case KillState.UltraKill:
utDataModel.Player.KillState = KillState.MonsterKill;
break;
case KillState.MonsterKill:
utDataModel.Player.KillState = KillState.MonsterKill;
break;
default:
throw new ArgumentOutOfRangeException();
var recentKills = utDataModel.Player.State.Score - _lastScore;
utDataModel.Player.KillState = (KillState) ((int) utDataModel.Player.KillState + recentKills);
}
if (utDataModel.Player.State != null)
_lastScore = utDataModel.Player.State.Score;
_lastScore = utDataModel.Player.State.Score;
}
else
{
_lastScore = 0;
}
}
private void KillTimerOnElapsed(object sender, ElapsedEventArgs elapsedEventArgs)

View File

@ -13,7 +13,7 @@ namespace Artemis.Profiles.Layers.Animations
public void Update(LayerModel layerModel, bool updateAnimations)
{
// Reset animation progress if layer wasn't drawn for 100ms
if (new TimeSpan(0, 0, 0, 0, 100) > DateTime.Now - layerModel.LastRender)
if (new TimeSpan(0, 0, 0, 0, 100) < DateTime.Now - layerModel.LastRender)
layerModel.Properties.AnimationProgress = 0;
var progress = layerModel.Properties.AnimationProgress;

View File

@ -52,5 +52,5 @@ using System.Windows;
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.3.1.0")]
[assembly: AssemblyFileVersion("1.3.1.0")]
[assembly: AssemblyVersion("1.3.2.0")]
[assembly: AssemblyFileVersion("1.3.2.0")]