/// <inheritdoc /> public override void Init() { base.Init(); var factory = IoCManager.Resolve <IComponentFactory>(); factory.Register <HandsComponent>(); factory.RegisterReference <HandsComponent, IHandsComponent>(); factory.Register <InventoryComponent>(); factory.Register <StoreableComponent>(); factory.Register <ItemComponent>(); factory.RegisterReference <ItemComponent, StoreableComponent>(); factory.Register <ClothingComponent>(); factory.RegisterReference <ClothingComponent, ItemComponent>(); factory.RegisterReference <ClothingComponent, StoreableComponent>(); factory.Register <PlaceableSurfaceComponent>(); factory.Register <DamageableComponent>(); factory.Register <DestructibleComponent>(); factory.Register <TemperatureComponent>(); factory.Register <ServerDoorComponent>(); //Power Components factory.Register <PowerTransferComponent>(); factory.Register <PowerProviderComponent>(); factory.RegisterReference <PowerProviderComponent, PowerDeviceComponent>(); factory.Register <PowerNodeComponent>(); factory.Register <PowerStorageNetComponent>(); factory.RegisterReference <PowerStorageNetComponent, PowerStorageComponent>(); factory.Register <PowerCellComponent>(); factory.RegisterReference <PowerCellComponent, PowerStorageComponent>(); factory.Register <PowerDeviceComponent>(); factory.Register <PowerGeneratorComponent>(); factory.Register <LightBulbComponent>(); //Tools factory.Register <MultitoolComponent>(); factory.Register <WirecutterComponent>(); factory.Register <WrenchComponent>(); factory.Register <WelderComponent>(); factory.Register <ScrewdriverComponent>(); factory.Register <CrowbarComponent>(); factory.Register <HitscanWeaponComponent>(); factory.Register <RangedWeaponComponent>(); factory.Register <BallisticMagazineWeaponComponent>(); factory.Register <ProjectileComponent>(); factory.Register <ThrownItemComponent>(); factory.Register <MeleeWeaponComponent>(); factory.Register <HealingComponent>(); factory.Register <SoundComponent>(); factory.Register <HandheldLightComponent>(); factory.Register <ServerStorageComponent>(); factory.RegisterReference <ServerStorageComponent, IActivate>(); factory.Register <EntityStorageComponent>(); factory.Register <PowerDebugTool>(); factory.Register <PoweredLightComponent>(); factory.Register <SmesComponent>(); factory.Register <ApcComponent>(); factory.Register <MaterialComponent>(); factory.Register <StackComponent>(); factory.Register <MaterialStorageComponent>(); factory.RegisterReference <MaterialStorageComponent, SharedMaterialStorageComponent>(); factory.Register <ConstructionComponent>(); factory.Register <ConstructorComponent>(); factory.RegisterIgnore("ConstructionGhost"); factory.Register <MindComponent>(); factory.Register <SpeciesComponent>(); factory.Register <HeatResistanceComponent>(); factory.Register <SpawnPointComponent>(); factory.RegisterReference <SpawnPointComponent, SharedSpawnPointComponent>(); factory.Register <LatheComponent>(); factory.Register <LatheDatabaseComponent>(); factory.RegisterReference <LatheDatabaseComponent, SharedLatheDatabaseComponent>(); factory.Register <BallisticBulletComponent>(); factory.Register <BallisticMagazineComponent>(); factory.Register <HitscanWeaponCapacitorComponent>(); factory.Register <CameraRecoilComponent>(); factory.RegisterReference <CameraRecoilComponent, SharedCameraRecoilComponent>(); factory.RegisterIgnore("IconSmooth"); factory.RegisterIgnore("SubFloorHide"); factory.Register <PlayerInputMoverComponent>(); factory.RegisterReference <PlayerInputMoverComponent, IMoverComponent>(); factory.Register <AiControllerComponent>(); factory.Register <CatwalkComponent>(); IoCManager.Register <ISharedNotifyManager, ServerNotifyManager>(); IoCManager.Register <IServerNotifyManager, ServerNotifyManager>(); IoCManager.Register <IGameTicker, GameTicker>(); IoCManager.Register <IChatManager, ChatManager>(); IoCManager.Register <IMoMMILink, MoMMILink>(); IoCManager.BuildGraph(); _gameTicker = IoCManager.Resolve <IGameTicker>(); IoCManager.Resolve <IServerNotifyManager>().Initialize(); IoCManager.Resolve <IChatManager>().Initialize(); _mommiLink = IoCManager.Resolve <IMoMMILink>(); var playerManager = IoCManager.Resolve <IPlayerManager>(); _statusShell = new StatusShell(); }