-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGameExcepiton.cs
More file actions
112 lines (111 loc) · 4.23 KB
/
GameExcepiton.cs
File metadata and controls
112 lines (111 loc) · 4.23 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
namespace TextGame
{
public class GameException : Exception
{
public string Code { get; }
protected GameException(string code, string message) : base(message)
{
Code = code;
}
protected GameException(string code, string message, Exception innerException) : base(message, innerException)
{
Code = code;
}
}
public class InvalidIdException : GameException
{
public InvalidIdException(string code, string message) : base(code, message) { }
}
public class NullItemIdException : GameException
{
public NullItemIdException() : base("ITEM_NOT_FOUND", "Предмет не найден.") { }
}
public class NullEnemyIdException : GameException
{
public NullEnemyIdException() : base("ENEMY_NOT_FOUND", "Противник не найден.") { }
}
public class NullRoomIdException : GameException
{
public NullRoomIdException() : base("ROOM_NOT_FOUND", "Комната не найдена.") { }
}
public class UnstartedGameException : GameException
{
public UnstartedGameException() : base("NOT_STARTED", "Игра ещё не начата!") { }
}
public class UnsearchedRoomException : GameException
{
public UnsearchedRoomException() : base("ROOM_NOT_SEARCHED", "Комната ещё не обыскана!") { }
}
public class UndiscoveredRoomException : GameException
{
public UndiscoveredRoomException() : base("UNDISCOVERED_ROOM_ERROR", "Комната ещё не открыта.") { }
}
public class EmptyException : GameException
{
public EmptyException() : base("EMPTY_ERROR", "Тут ничего нет!") { }
}
public class UncarryableException : GameException
{
public UncarryableException() : base("UNCARRYABLE_ERROR", "Невозможно поднять этот предмет!") { }
}
public class UnsellableItemException : GameException
{
public UnsellableItemException() : base("UNSELLABLE_ERROR", "Невозможно продать этот предмет!") { }
}
public class LockedException : GameException
{
public LockedException() : base("LOCKED", "Сундук заперт!") { }
}
public class NoKeyException : GameException
{
public NoKeyException() : base("NO_KEY_ERROR", "Нет ключа!") { }
}
public class NoMapException : GameException
{
public NoMapException() : base("NO_MAP_ERROR", "Нет карты!") { }
}
public class ClosedException : GameException
{
public ClosedException() : base("CLOSED", "Сундук закрыт!") { }
}
public class NotShopException : GameException
{
public NotShopException() : base("NOT_IN_SHOP", "Невозможно вне магазина!") { }
}
public class NoMoneyException : GameException
{
public NoMoneyException() : base("NO_MONEY", "Недостаточно средств!") { }
}
public class ImpossibleStealException : GameException
{
public ImpossibleStealException() : base("CAN_NOT_STEAL", "Невозможно украсть. За Вами следят.") { }
}
public class InBattleException : GameException
{
public InBattleException() : base("IN_BATTLE", "В бою!") { }
}
public class BattleWinException : GameException
{
public BattleLog BattleLog { get; }
public BattleWinException(string message, BattleLog battleLog) : base("YOU_WIN_IN_BATTLE", message)
{
BattleLog = battleLog;
}
}
public class EndExeption : GameException
{
public GameInfoDTO GameInfo { get; }
public EndExeption(string code, string message, GameInfoDTO gameInfo) : base(code, message)
{
GameInfo = gameInfo;
}
}
public class DefeatException : EndExeption
{
public DefeatException(string message, GameInfoDTO gameInfo) : base("DEFEAT", message, gameInfo) { }
}
public class WinException : EndExeption
{
public WinException(GameInfoDTO gameInfo) : base("WIN", "Вы нашли выход и выбрались наружу.", gameInfo) { }
}
}