-
Notifications
You must be signed in to change notification settings - Fork 16
/
Character.cs
52 lines (35 loc) · 1.33 KB
/
Character.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using Amadevus.RecordGenerator;
using EOLib.Domain.Extensions;
using EOLib.Domain.Spells;
namespace EOLib.Domain.Character
{
[Record]
public sealed partial class Character : ISpellTargetable
{
private static readonly Character _default = new Builder
{
Stats = new CharacterStats(),
RenderProperties = new CharacterRenderProperties.Builder().ToImmutable()
}.ToImmutable();
public static Character Default => _default;
public int ID { get; }
public int Index => ID;
public int X => RenderProperties.IsActing(CharacterActionState.Walking)
? RenderProperties.GetDestinationX()
: RenderProperties.MapX;
public int Y => RenderProperties.IsActing(CharacterActionState.Walking)
? RenderProperties.GetDestinationY()
: RenderProperties.MapY;
public string Name { get; }
public string Title { get; }
public string GuildName { get; }
public string GuildRank { get; }
public string GuildTag { get; }
public int ClassID { get; }
public AdminLevel AdminLevel { get; }
public CharacterRenderProperties RenderProperties { get; }
public CharacterStats Stats { get; }
public int MapID { get; }
public bool NoWall { get; }
}
}