Skip to content

Commit 5333c17

Browse files
committed
Refactor the Equipment class
1 parent 53b0f42 commit 5333c17

File tree

1 file changed

+41
-69
lines changed

1 file changed

+41
-69
lines changed

src/SourceEngine.Demo.Parser/Events.cs

Lines changed: 41 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public class HeaderParsedEventArgs : EventArgs
2424

2525
public HeaderParsedEventArgs(DemoHeader header)
2626
{
27-
this.Header = header;
27+
Header = header;
2828
}
2929
}
3030

@@ -192,7 +192,7 @@ public NadeEventArgs()
192192

193193
internal NadeEventArgs(EquipmentElement type)
194194
{
195-
this.NadeType = type;
195+
NadeType = type;
196196
}
197197
}
198198

@@ -471,18 +471,32 @@ public class Equipment
471471
internal int EntityID { get; set; }
472472

473473
public EquipmentElement Weapon { get; set; }
474-
public EquipmentClass Class
475-
{
476-
get
477-
{
478-
return (EquipmentClass)(((int)Weapon / 100) + 1);
479-
}
480-
}
474+
475+
public EquipmentClass Class => (EquipmentClass)((int)Weapon / 100 + 1);
476+
481477
public EquipmentType Type
482478
{
483479
get
484480
{
485-
return GetEquipmentType(Weapon, Class);
481+
return Weapon switch
482+
{
483+
EquipmentElement.M249 => EquipmentType.LMG,
484+
EquipmentElement.Negev => EquipmentType.LMG,
485+
EquipmentElement.Scout => EquipmentType.Sniper,
486+
EquipmentElement.AWP => EquipmentType.Sniper,
487+
EquipmentElement.Zeus => EquipmentType.Zeus,
488+
EquipmentElement.Knife => EquipmentType.Knife,
489+
_ => Class switch
490+
{
491+
EquipmentClass.Heavy => EquipmentType.Shotgun,
492+
EquipmentClass.Rifle => EquipmentType.AssaultRifle,
493+
EquipmentClass.Equipment => EquipmentType.Equipment,
494+
EquipmentClass.Pistol => EquipmentType.Pistol,
495+
EquipmentClass.SMG => EquipmentType.SMG,
496+
EquipmentClass.Grenade => EquipmentType.Grenade,
497+
_ => EquipmentType.Unknown
498+
}
499+
};
486500
}
487501
}
488502

@@ -496,84 +510,42 @@ public EquipmentType Type
496510

497511
public Player Owner { get; set; }
498512

499-
public int ReserveAmmo
500-
{
501-
get
502-
{
503-
return (Owner != null && AmmoType != -1) ? Owner.AmmoLeft[AmmoType] : -1;
504-
}
505-
}
513+
public int ReserveAmmo => (Owner != null && AmmoType != -1) ? Owner.AmmoLeft[AmmoType] : -1;
506514

507515
public Equipment()
508516
{
509-
this.Weapon = EquipmentElement.Unknown;
517+
Weapon = EquipmentElement.Unknown;
510518
}
511519

512520
public Equipment(string originalString)
513521
{
514522
OriginalString = originalString;
515-
516-
this.Weapon = MapEquipment(originalString);
523+
Weapon = MapEquipment(originalString);
517524
}
518525

519526
public Equipment(string originalString, string skin)
520527
{
521528
OriginalString = originalString;
522-
523-
this.Weapon = MapEquipment(originalString);
524-
529+
Weapon = MapEquipment(originalString);
525530
SkinID = skin;
526531
}
527532

528533
public Equipment(Equipment equipment)
529534
{
530535
if (equipment != null)
531536
{
532-
this.EntityID = equipment.EntityID;
533-
this.Weapon = equipment.Weapon;
534-
this.OriginalString = equipment.OriginalString;
535-
this.SkinID = equipment.SkinID;
536-
this.AmmoInMagazine = equipment.AmmoInMagazine;
537-
this.AmmoType = equipment.AmmoType;
538-
this.Owner = new Player(equipment.Owner);
537+
EntityID = equipment.EntityID;
538+
Weapon = equipment.Weapon;
539+
OriginalString = equipment.OriginalString;
540+
SkinID = equipment.SkinID;
541+
AmmoInMagazine = equipment.AmmoInMagazine;
542+
AmmoType = equipment.AmmoType;
543+
Owner = new Player(equipment.Owner);
539544
}
540545
}
541546

542547
const string WEAPON_PREFIX = "weapon_";
543548

544-
private EquipmentType GetEquipmentType(EquipmentElement weapon, EquipmentClass weaponClass)
545-
{
546-
switch (weaponClass)
547-
{
548-
case EquipmentClass.Heavy:
549-
if (weapon == EquipmentElement.M249 || weapon == EquipmentElement.Negev)
550-
return EquipmentType.LMG;
551-
else
552-
return EquipmentType.Shotgun;
553-
case EquipmentClass.Rifle:
554-
if (weapon == EquipmentElement.Scout || weapon == EquipmentElement.AWP)
555-
return EquipmentType.Sniper;
556-
else
557-
return EquipmentType.AssaultRifle;
558-
case EquipmentClass.Equipment:
559-
if (weapon == EquipmentElement.Zeus)
560-
return EquipmentType.Zeus;
561-
else if (weapon == EquipmentElement.Knife)
562-
return EquipmentType.Knife;
563-
else
564-
return EquipmentType.Equipment;
565-
case EquipmentClass.Pistol:
566-
return EquipmentType.Pistol;
567-
case EquipmentClass.SMG:
568-
return EquipmentType.SMG;
569-
case EquipmentClass.Grenade:
570-
return EquipmentType.Grenade;
571-
default:
572-
return EquipmentType.Unknown;
573-
574-
}
575-
}
576-
577549
public static EquipmentElement MapEquipment(string name)
578550
{
579551
name = name.ToLower();
@@ -710,7 +682,7 @@ public enum EquipmentElement
710682
{
711683
Unknown = -100,
712684

713-
//Pistols
685+
// Pistols
714686
P2000 = 1,
715687
Glock = 2,
716688
P250 = 3,
@@ -722,7 +694,7 @@ public enum EquipmentElement
722694
USP = 9,
723695
Revolver = 10,
724696

725-
//SMGs
697+
// SMGs
726698
MP7 = 101,
727699
MP9 = 102,
728700
Bizon = 103,
@@ -731,15 +703,15 @@ public enum EquipmentElement
731703
P90 = 106,
732704
MP5SD = 107,
733705

734-
//Heavy
706+
// Heavy
735707
SawedOff = 201,
736708
Nova = 202,
737709
Swag7 = 203,
738710
XM1014 = 204,
739711
M249 = 205,
740712
Negev = 206,
741713

742-
//Rifle
714+
// Rifle
743715
Gallil = 301,
744716
Famas = 302,
745717
AK47 = 303,
@@ -752,7 +724,7 @@ public enum EquipmentElement
752724
Scar20 = 310,
753725
G3SG1 = 311,
754726

755-
//Equipment
727+
// Equipment
756728
Zeus = 401,
757729
Kevlar = 402,
758730
Helmet = 403,
@@ -762,7 +734,7 @@ public enum EquipmentElement
762734
World = 407,
763735
HealthShot = 408,
764736

765-
//Grenades
737+
// Grenades
766738
Decoy = 501,
767739
Molotov = 502,
768740
Incendiary = 503,

0 commit comments

Comments
 (0)