Exemplo n.º 1
0
        /// <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();
        }