1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-31 17:53:32 +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 PlayerState State { get; set; }
public Inventory Inventory { get; set; } public Inventory Inventory { get; set; }
public Weapon Weapon { get; set; } public Weapon Weapon { get; set; }
[DefaultValue("None")] [DefaultValue("None")]
public KillState KillState { get; set; } public KillState KillState { get; set; }
} }
public enum KillState public enum KillState
{ {
None, None = 0,
Kill, Kill = 1,
DoubleKill, DoubleKill = 2,
MultiKill, MultiKill = 3,
MegaKill, UltraKill = 4,
UltraKill, MonsterKill = 5
MonsterKill
} }
public class PlayerState public class PlayerState
@ -115,11 +115,11 @@ namespace Artemis.Modules.Games.UnrealTournament
public bool bCasterControl { get; set; } public bool bCasterControl { get; set; }
public bool bForcedBalance { get; set; } public bool bForcedBalance { get; set; }
public bool bPlayPlayerIntro { get; set; } public bool bPlayPlayerIntro { get; set; }
public int TimeLimit { get; set; } public float TimeLimit { get; set; }
public int SpawnProtectionTime { get; set; } public float SpawnProtectionTime { get; set; }
public int RemainingTime { get; set; } public float RemainingTime { get; set; }
public int ElapsedTime { get; set; } public float ElapsedTime { get; set; }
public int RespawnWaitTime { get; set; } public float RespawnWaitTime { get; set; }
public int ForceRespawnTime { get; set; } public float ForceRespawnTime { get; set; }
} }
} }

View File

@ -23,7 +23,7 @@ namespace Artemis.Modules.Games.UnrealTournament
Enabled = Settings.Enabled; Enabled = Settings.Enabled;
Initialized = false; Initialized = false;
_killTimer = new Timer(4000); _killTimer = new Timer(3500);
_killTimer.Elapsed += KillTimerOnElapsed; _killTimer.Elapsed += KillTimerOnElapsed;
} }
@ -70,43 +70,20 @@ namespace Artemis.Modules.Games.UnrealTournament
// Reset the timer // Reset the timer
_killTimer.Stop(); _killTimer.Stop();
_killTimer.Start(); _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: var recentKills = utDataModel.Player.State.Score - _lastScore;
utDataModel.Player.KillState = KillState.Kill; utDataModel.Player.KillState = (KillState) ((int) utDataModel.Player.KillState + recentKills);
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();
} }
_lastScore = utDataModel.Player.State.Score;
if (utDataModel.Player.State != null)
_lastScore = utDataModel.Player.State.Score;
} }
else else
{ {
_lastScore = 0; _lastScore = 0;
} }
} }
private void KillTimerOnElapsed(object sender, ElapsedEventArgs elapsedEventArgs) 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) public void Update(LayerModel layerModel, bool updateAnimations)
{ {
// Reset animation progress if layer wasn't drawn for 100ms // 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; layerModel.Properties.AnimationProgress = 0;
var progress = layerModel.Properties.AnimationProgress; var progress = layerModel.Properties.AnimationProgress;

View File

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