-
Notifications
You must be signed in to change notification settings - Fork 16
/
INPCActionNotifier.cs
37 lines (25 loc) · 1.2 KB
/
INPCActionNotifier.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using AutomaticTypeMapper;
using EOLib.Domain.Map;
using Optional;
namespace EOLib.Domain.Notifiers
{
public interface INPCActionNotifier
{
void StartNPCWalkAnimation(int npcIndex);
void StartNPCAttackAnimation(int npcIndex);
void RemoveNPCFromView(int npcIndex, int playerId, Option<short> spellId, Option<int> damage, bool showDeathAnimation);
void ShowNPCSpeechBubble(int npcIndex, string message);
void NPCTakeDamage(short npcIndex, int fromPlayerId, int damageToNpc, short npcPctHealth, Option<int> spellId);
void NPCDropItem(MapItem item);
}
[AutoMappedType]
public class NoOpNPCActionNotifier : INPCActionNotifier
{
public void StartNPCWalkAnimation(int npcIndex) { }
public void StartNPCAttackAnimation(int npcIndex) { }
public void RemoveNPCFromView(int npcIndex, int playerId, Option<short> spellId, Option<int> damage, bool showDeathAnimation) { }
public void ShowNPCSpeechBubble(int npcIndex, string message) { }
public void NPCTakeDamage(short npcIndex, int fromPlayerId, int damageToNpc, short npcPctHealth, Option<int> spellId) { }
public void NPCDropItem(MapItem item) { }
}
}