-
Notifications
You must be signed in to change notification settings - Fork 83
Expand file tree
/
Copy pathGameClient.cs
More file actions
62 lines (53 loc) · 2.42 KB
/
Copy pathGameClient.cs
File metadata and controls
62 lines (53 loc) · 2.42 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
using Arrowgene.Ddon.Database.Model;
using Arrowgene.Ddon.GameServer.GatheringItems;
using Arrowgene.Ddon.GameServer.Party;
using Arrowgene.Ddon.GameServer.Shop;
using Arrowgene.Ddon.Server.Network;
using Arrowgene.Ddon.Shared;
using Arrowgene.Ddon.Shared.Model;
using Arrowgene.Networking.Tcp;
using System;
namespace Arrowgene.Ddon.GameServer
{
public class GameClient : Client
{
public GameClient(ITcpSocket socket, PacketFactory packetFactory, ShopManager shopManager, AssetRepository assetRepository) : base(socket, packetFactory)
{
UpdateIdentity();
InstanceGatheringItemManager = new InstanceGatheringItemManager(assetRepository);
InstanceDropItemManager = new InstanceDropItemManager(this);
InstanceShopManager = new InstanceShopManager(shopManager);
InstanceBbmItemManager = new InstanceBitterblackGatheringItemManager();
InstanceQuestDropManager = new InstanceQuestDropManager();
InstanceEventDropItemManager = new InstanceEventDropItemManager(assetRepository);
GameMode = GameMode.Normal;
}
public void UpdateIdentity()
{
string newIdentity = $"[GameClient@{Socket.Identity}]";
if (Account != null)
{
newIdentity += $"[Acc:({Account.Id}){Account.NormalName}]";
}
if (Character != null)
{
newIdentity += $"[Cha:({Character.CharacterId}){Character.FirstName} {Character.LastName}]";
}
Identity = newIdentity;
}
public Account Account { get; set; }
public Character Character { get; set; }
public PartyGroup Party { get; set; }
public InstanceShopManager InstanceShopManager { get; }
public InstanceGatheringItemManager InstanceGatheringItemManager { get; }
public InstanceDropItemManager InstanceDropItemManager { get; }
public InstanceBitterblackGatheringItemManager InstanceBbmItemManager { get; }
public InstanceQuestDropManager InstanceQuestDropManager { get; }
public InstanceEventDropItemManager InstanceEventDropItemManager { get; }
public GameMode GameMode { get; set; }
public uint EquipPresetIndex { get; set; }
// TODO: Place somewhere else more sensible
public uint LastWarpPointId { get; set; }
public DateTime LastWarpDateTime { get; set; }
}
}