Skip to content

Commit f9a5eeb

Browse files
committed
events: remove obsolte ItemPickup.WeaponTraceable() (see #119)
1 parent 62754fc commit f9a5eeb

File tree

3 files changed

+11
-80
lines changed

3 files changed

+11
-80
lines changed

pkg/demoinfocs/events/events.go

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -420,42 +420,22 @@ type RankUpdate struct {
420420
// ItemEquip signals an item was equipped.
421421
// This event is not available in all demos.
422422
type ItemEquip struct {
423-
Player *common.Player
424-
Weapon common.Equipment // Value of WeaponPtr, use WeaponPtr instead
425-
WeaponPtr *common.Equipment
423+
Player *common.Player
424+
Weapon *common.Equipment
426425
}
427426

428427
// ItemPickup signals an item was bought or picked up.
429428
// This event is not available in all demos.
430429
type ItemPickup struct {
431430
Player *common.Player
432-
Weapon common.Equipment // UniqueID() of this cannot be used to trace the weapon, use WeaponTraceable() instead
433-
}
434-
435-
// WeaponTraceable attempts to return the original Equipment instance.
436-
// This can be used to trace the same weapon with UniqueID() when it's being dropped to other players.
437-
//
438-
// If the original instance cannot be found, the returned Equipment will still have a different UniqueID().
439-
func (pu ItemPickup) WeaponTraceable() *common.Equipment {
440-
if pu.Player == nil {
441-
return &pu.Weapon
442-
}
443-
444-
for _, wep := range pu.Player.Inventory {
445-
if wep.Type == pu.Weapon.Type {
446-
return wep
447-
}
448-
}
449-
450-
return &pu.Weapon
431+
Weapon *common.Equipment
451432
}
452433

453434
// ItemDrop signals an item was dropped.
454435
// This event is not available in all demos.
455436
type ItemDrop struct {
456-
Player *common.Player
457-
Weapon common.Equipment // Value of WeaponPtr, use WeaponPtr instead
458-
WeaponPtr *common.Equipment
437+
Player *common.Player
438+
Weapon *common.Equipment
459439
}
460440

461441
// DataTablesParsed signals that the datatables were parsed.

pkg/demoinfocs/events/events_test.go

Lines changed: 1 addition & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88

99
common "github.com/markus-wa/demoinfocs-golang/v2/pkg/demoinfocs/common"
1010
st "github.com/markus-wa/demoinfocs-golang/v2/pkg/demoinfocs/sendtables"
11-
stfake "github.com/markus-wa/demoinfocs-golang/v2/pkg/demoinfocs/sendtables/fake"
1211
)
1312

1413
func TestPlayerFlashed_FlashDuration(t *testing.T) {
@@ -44,52 +43,6 @@ func TestBombEvents(t *testing.T) {
4443
}
4544
}
4645

47-
func TestItemPickup_WeaponTraceable_PlayerNil(t *testing.T) {
48-
e := ItemPickup{
49-
Weapon: common.Equipment{Type: common.EqAK47},
50-
Player: nil,
51-
}
52-
53-
assert.Equal(t, e.Weapon, *e.WeaponTraceable())
54-
}
55-
56-
func TestItemPickup_WeaponTraceable_WeaponFound(t *testing.T) {
57-
wep := &common.Equipment{
58-
Entity: entity(),
59-
Type: common.EqAK47,
60-
}
61-
e := ItemPickup{
62-
Weapon: common.Equipment{Type: common.EqAK47},
63-
Player: &common.Player{Inventory: map[int]*common.Equipment{
64-
1: wep,
65-
}},
66-
}
67-
68-
assert.Equal(t, wep, e.WeaponTraceable())
69-
}
70-
71-
func entity() st.Entity {
72-
entity := new(stfake.Entity)
73-
entity.On("ID").Return(1)
74-
75-
return entity
76-
}
77-
78-
func TestItemPickup_WeaponTraceable_WeaponNotFound(t *testing.T) {
79-
wep := &common.Equipment{
80-
Entity: entity(),
81-
Type: common.EqAK47,
82-
}
83-
e := ItemPickup{
84-
Weapon: common.Equipment{Type: common.EqKnife},
85-
Player: &common.Player{Inventory: map[int]*common.Equipment{
86-
1: wep,
87-
}},
88-
}
89-
90-
assert.Equal(t, e.Weapon, *e.WeaponTraceable())
91-
}
92-
9346
type demoInfoProviderMock struct {
9447
}
9548

@@ -101,7 +54,7 @@ func (p demoInfoProviderMock) TickRate() float64 {
10154
return 128
10255
}
10356

104-
func (p demoInfoProviderMock) FindPlayerByHandle(handle int) *common.Player {
57+
func (p demoInfoProviderMock) FindPlayerByHandle(int) *common.Player {
10558
return nil
10659
}
10760
func (p demoInfoProviderMock) PlayerResourceEntity() st.Entity {

pkg/demoinfocs/game_events.go

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -575,26 +575,24 @@ func (geh gameEventHandler) bombBeginDefuse(data map[string]*msg.CSVCMsg_GameEve
575575
func (geh gameEventHandler) itemEquip(data map[string]*msg.CSVCMsg_GameEventKeyT) {
576576
player, weapon := geh.itemEvent(data)
577577
geh.dispatch(events.ItemEquip{
578-
Player: player,
579-
Weapon: *weapon,
580-
WeaponPtr: weapon,
578+
Player: player,
579+
Weapon: weapon,
581580
})
582581
}
583582

584583
func (geh gameEventHandler) itemPickup(data map[string]*msg.CSVCMsg_GameEventKeyT) {
585584
player, weapon := geh.itemEvent(data)
586585
geh.dispatch(events.ItemPickup{
587586
Player: player,
588-
Weapon: *weapon,
587+
Weapon: weapon,
589588
})
590589
}
591590

592591
func (geh gameEventHandler) itemRemove(data map[string]*msg.CSVCMsg_GameEventKeyT) {
593592
player, weapon := geh.itemEvent(data)
594593
geh.dispatch(events.ItemDrop{
595-
Player: player,
596-
Weapon: *weapon,
597-
WeaponPtr: weapon,
594+
Player: player,
595+
Weapon: weapon,
598596
})
599597
}
600598

0 commit comments

Comments
 (0)