6
6
using NitroxClient . Communication . MultiplayerSession ;
7
7
using NitroxClient . Communication . NetworkingLayer . LiteNetLib ;
8
8
using NitroxClient . Communication . Packets . Processors . Abstract ;
9
+ using NitroxClient . Debuggers ;
9
10
using NitroxClient . GameLogic ;
10
11
using NitroxClient . GameLogic . Bases ;
11
12
using NitroxClient . GameLogic . ChatUI ;
@@ -24,6 +25,7 @@ namespace NitroxClient
24
25
{
25
26
public class ClientAutoFacRegistrar : IAutoFacRegistrar
26
27
{
28
+ private static readonly Assembly currentAssembly = Assembly . GetExecutingAssembly ( ) ;
27
29
private readonly IModule [ ] modules ;
28
30
29
31
public ClientAutoFacRegistrar ( params IModule [ ] modules )
@@ -46,31 +48,37 @@ public void RegisterDependencies(ContainerBuilder containerBuilder)
46
48
47
49
private static void RegisterCoreDependencies ( ContainerBuilder containerBuilder )
48
50
{
49
- containerBuilder . Register ( c => new NitroxProtobufSerializer ( "NitroxModel.dll" ) ) ;
51
+ containerBuilder . RegisterAssemblyTypes ( currentAssembly )
52
+ . AssignableTo < BaseDebugger > ( )
53
+ . As < BaseDebugger > ( )
54
+ . AsSelf ( )
55
+ . SingleInstance ( ) ;
50
56
57
+ containerBuilder . Register ( c => new NitroxProtobufSerializer ( $ "{ nameof ( NitroxModel ) } .dll") ) ;
58
+
51
59
containerBuilder . RegisterType < UnityPreferenceStateProvider > ( )
52
- . As < IPreferenceStateProvider > ( )
53
- . SingleInstance ( ) ;
60
+ . As < IPreferenceStateProvider > ( )
61
+ . SingleInstance ( ) ;
54
62
55
63
containerBuilder . RegisterType < PlayerPreferenceManager > ( ) . SingleInstance ( ) ;
56
64
57
65
containerBuilder . RegisterType < MultiplayerSessionManager > ( )
58
- . As < IMultiplayerSession > ( )
59
- . As < IPacketSender > ( )
60
- . InstancePerLifetimeScope ( ) ;
66
+ . As < IMultiplayerSession > ( )
67
+ . As < IPacketSender > ( )
68
+ . InstancePerLifetimeScope ( ) ;
61
69
62
70
containerBuilder . RegisterType < LiteNetLibClient > ( )
63
- . As < IClient > ( )
64
- . InstancePerLifetimeScope ( ) ;
71
+ . As < IClient > ( )
72
+ . InstancePerLifetimeScope ( ) ;
65
73
66
74
containerBuilder . RegisterType < LocalPlayer > ( )
67
- . AsSelf ( ) //Would like to deprecate this registration at some point and just work through an abstraction.
68
- . As < ILocalNitroxPlayer > ( )
69
- . InstancePerLifetimeScope ( ) ;
75
+ . AsSelf ( ) //Would like to deprecate this registration at some point and just work through an abstraction.
76
+ . As < ILocalNitroxPlayer > ( )
77
+ . InstancePerLifetimeScope ( ) ;
70
78
71
79
containerBuilder . RegisterType < SubnauticaRotationMetadataFactory > ( )
72
- . As < RotationMetadataFactory > ( )
73
- . InstancePerLifetimeScope ( ) ;
80
+ . As < RotationMetadataFactory > ( )
81
+ . InstancePerLifetimeScope ( ) ;
74
82
75
83
containerBuilder . RegisterType < PlayerManager > ( ) . InstancePerLifetimeScope ( ) ;
76
84
containerBuilder . RegisterType < PlayerModelManager > ( ) . InstancePerLifetimeScope ( ) ;
@@ -109,15 +117,15 @@ private static void RegisterCoreDependencies(ContainerBuilder containerBuilder)
109
117
private void RegisterPacketProcessors ( ContainerBuilder containerBuilder )
110
118
{
111
119
containerBuilder
112
- . RegisterAssemblyTypes ( Assembly . GetAssembly ( GetType ( ) ) )
120
+ . RegisterAssemblyTypes ( currentAssembly )
113
121
. AsClosedTypesOf ( typeof ( ClientPacketProcessor < > ) )
114
122
. InstancePerLifetimeScope ( ) ;
115
123
}
116
124
117
125
private void RegisterColorSwapManagers ( ContainerBuilder containerBuilder )
118
126
{
119
127
containerBuilder
120
- . RegisterAssemblyTypes ( Assembly . GetAssembly ( GetType ( ) ) )
128
+ . RegisterAssemblyTypes ( currentAssembly )
121
129
. AssignableTo < IColorSwapManager > ( )
122
130
. As < IColorSwapManager > ( )
123
131
. InstancePerLifetimeScope ( ) ;
@@ -126,7 +134,7 @@ private void RegisterColorSwapManagers(ContainerBuilder containerBuilder)
126
134
private void RegisterInitialSyncProcessors ( ContainerBuilder containerBuilder )
127
135
{
128
136
containerBuilder
129
- . RegisterAssemblyTypes ( Assembly . GetAssembly ( GetType ( ) ) )
137
+ . RegisterAssemblyTypes ( currentAssembly )
130
138
. AssignableTo < InitialSyncProcessor > ( )
131
139
. As < InitialSyncProcessor > ( )
132
140
. InstancePerLifetimeScope ( ) ;
0 commit comments