@@ -21,32 +21,68 @@ public void SelectWeapon(CBasePlayerWeapon weapon) {
2121 GameFunctions . CCSPlayer_WeaponServices_SelectWeapon ( Address , weapon . Address ) ;
2222 }
2323
24- public void DropWeaponByClass < T > ( ) where T : CBasePlayerWeapon {
25- var name = EntitySystemService . TypeToDesignerName [ typeof ( T ) ] ;
24+ public void DropWeaponBySlot ( gear_slot_t slot ) {
2625 MyWeapons . ToList ( ) . ForEach ( weapon => {
27- if ( weapon . Value ? . Entity ? . DesignerName == name ) {
26+ if ( weapon . Value ? . As < CCSWeaponBase > ( ) . WeaponBaseVData . GearSlot == slot ) {
2827 DropWeapon ( weapon . Value ) ;
2928 }
3029 } ) ;
3130 }
3231
33- public void RemoveWeaponByClass < T > ( ) where T : CBasePlayerWeapon {
34- var name = EntitySystemService . TypeToDesignerName [ typeof ( T ) ] ;
32+ public void RemoveWeaponBySlot ( gear_slot_t slot ) {
3533 MyWeapons . ToList ( ) . ForEach ( weapon => {
36- if ( weapon . Value ? . Entity ? . DesignerName == name ) {
34+ if ( weapon . Value ? . As < CCSWeaponBase > ( ) . WeaponBaseVData . GearSlot == slot ) {
3735 RemoveWeapon ( weapon . Value ) ;
3836 }
3937 } ) ;
4038 }
4139
42- public void SelectWeaponByClass < T > ( ) where T : CBasePlayerWeapon {
43- var name = EntitySystemService . TypeToDesignerName [ typeof ( T ) ] ;
40+ public void SelectWeaponBySlot ( gear_slot_t slot ) {
4441 MyWeapons . ToList ( ) . ForEach ( weapon => {
45- if ( weapon . Value ? . Entity ? . DesignerName == name ) {
42+ if ( weapon . Value ? . As < CCSWeaponBase > ( ) . WeaponBaseVData . GearSlot == slot ) {
4643 SelectWeapon ( weapon . Value ) ;
4744 return ;
4845 }
4946 } ) ;
5047 }
5148
49+ public void DropWeaponByDesignerName ( string designerName ) {
50+ MyWeapons . ToList ( ) . ForEach ( weapon => {
51+ if ( weapon . Value ? . Entity ? . DesignerName == designerName ) {
52+ DropWeapon ( weapon . Value ) ;
53+ }
54+ } ) ;
55+ }
56+
57+ public void RemoveWeaponByDesignerName ( string designerName ) {
58+ MyWeapons . ToList ( ) . ForEach ( weapon => {
59+ if ( weapon . Value ? . Entity ? . DesignerName == designerName ) {
60+ RemoveWeapon ( weapon . Value ) ;
61+ }
62+ } ) ;
63+ }
64+
65+ public void SelectWeaponByDesignerName ( string designerName ) {
66+ MyWeapons . ToList ( ) . ForEach ( weapon => {
67+ if ( weapon . Value ? . Entity ? . DesignerName == designerName ) {
68+ SelectWeapon ( weapon . Value ) ;
69+ }
70+ } ) ;
71+ }
72+
73+ public void DropWeaponByClass < T > ( ) where T : CBasePlayerWeapon {
74+ var name = EntitySystemService . TypeToDesignerName [ typeof ( T ) ] ;
75+ DropWeaponByDesignerName ( name ) ;
76+ }
77+
78+ public void RemoveWeaponByClass < T > ( ) where T : CBasePlayerWeapon {
79+ var name = EntitySystemService . TypeToDesignerName [ typeof ( T ) ] ;
80+ RemoveWeaponByDesignerName ( name ) ;
81+ }
82+
83+ public void SelectWeaponByClass < T > ( ) where T : CBasePlayerWeapon {
84+ var name = EntitySystemService . TypeToDesignerName [ typeof ( T ) ] ;
85+ SelectWeaponByDesignerName ( name ) ;
86+ }
87+
5288}
0 commit comments