public override void Init() { #if DEBUG GodotResourceCopy.DoDirCopy("../../Resources", "Content"); #endif var factory = IoCManager.Resolve <IComponentFactory>(); var prototypes = IoCManager.Resolve <IPrototypeManager>(); factory.RegisterIgnore("Interactable"); factory.RegisterIgnore("Destructible"); factory.RegisterIgnore("Temperature"); factory.RegisterIgnore("PowerTransfer"); factory.RegisterIgnore("PowerNode"); factory.RegisterIgnore("PowerProvider"); factory.RegisterIgnore("PowerDevice"); factory.RegisterIgnore("PowerStorage"); factory.RegisterIgnore("PowerGenerator"); factory.RegisterIgnore("Wirecutter"); factory.RegisterIgnore("Screwdriver"); factory.RegisterIgnore("Multitool"); factory.RegisterIgnore("Welder"); factory.RegisterIgnore("Wrench"); factory.RegisterIgnore("Crowbar"); factory.Register <ClientRangedWeaponComponent>(); factory.RegisterIgnore("HitscanWeapon"); factory.RegisterIgnore("ProjectileWeapon"); factory.RegisterIgnore("Projectile"); factory.RegisterIgnore("MeleeWeapon"); factory.RegisterIgnore("Storeable"); factory.RegisterIgnore("Material"); factory.RegisterIgnore("Stack"); factory.Register <HandsComponent>(); factory.RegisterReference <HandsComponent, IHandsComponent>(); factory.Register <ClientStorageComponent>(); factory.Register <ClientInventoryComponent>(); factory.Register <PowerDebugTool>(); factory.Register <ConstructorComponent>(); factory.Register <ConstructionGhostComponent>(); factory.Register <IconSmoothComponent>(); factory.Register <DamageableComponent>(); factory.Register <ClothingComponent>(); factory.Register <ItemComponent>(); factory.Register <SoundComponent>(); factory.RegisterReference <ClothingComponent, ItemComponent>(); factory.Register <SpeciesUI>(); factory.Register <CharacterInterface>(); factory.RegisterIgnore("Construction"); factory.RegisterIgnore("Apc"); factory.RegisterIgnore("Door"); factory.RegisterIgnore("PoweredLight"); factory.RegisterIgnore("Smes"); factory.RegisterIgnore("Powercell"); factory.RegisterIgnore("HandheldLight"); prototypes.RegisterIgnore("material"); factory.RegisterIgnore("PowerCell"); factory.Register <SharedSpawnPointComponent>(); factory.Register <CameraRecoilComponent>(); factory.RegisterReference <CameraRecoilComponent, SharedCameraRecoilComponent>(); IoCManager.Register <IClientNotifyManager, ClientNotifyManager>(); IoCManager.Register <ISharedNotifyManager, ClientNotifyManager>(); IoCManager.Register <IClientGameTicker, ClientGameTicker>(); IoCManager.Register <IParallaxManager, ParallaxManager>(); IoCManager.BuildGraph(); IoCManager.Resolve <IParallaxManager>().LoadParallax(); IoCManager.Resolve <IBaseClient>().PlayerJoinedServer += SubscribePlayerAttachmentEvents; var stylesheet = new NanoStyle(); IoCManager.Resolve <IUserInterfaceManager>().Stylesheet = stylesheet.Stylesheet; }
#pragma warning restore 649 public override void Init() { var factory = IoCManager.Resolve <IComponentFactory>(); var prototypes = IoCManager.Resolve <IPrototypeManager>(); factory.DoAutoRegistrations(); var registerIgnore = new[] { "AmmoBox", "Breakable", "Pickaxe", "Interactable", "Destructible", "Temperature", "PowerTransfer", "PowerNode", "PowerProvider", "PowerDevice", "PowerStorage", "PowerGenerator", "Explosive", "OnUseTimerTrigger", "ToolboxElectricalFill", "ToolLockerFill", "EmitSoundOnUse", "FootstepModifier", "HeatResistance", "Teleportable", "ItemTeleporter", "Portal", "EntityStorage", "PlaceableSurface", "Wirecutter", "Screwdriver", "Multitool", "Welder", "Wrench", "Crowbar", "HitscanWeapon", "ProjectileWeapon", "Projectile", "MeleeWeapon", "Storeable", "Stack", "Dice", "Construction", "Apc", "Door", "PoweredLight", "Smes", "Powercell", "HandheldLight", "LightBulb", "Healing", "Catwalk", "BallisticMagazine", "BallisticMagazineWeapon", "BallisticBullet", "HitscanWeaponCapacitor", "PowerCell", "AiController", "PlayerInputMover", "Computer", "AsteroidRock", "ResearchServer", "ResearchPointSource", "ResearchClient", "IdCard", "Access", "AccessReader", "IdCardConsole", "Airlock", "MedicalScanner", "WirePlacer", }; foreach (var ignoreName in registerIgnore) { factory.RegisterIgnore(ignoreName); } factory.Register <SharedResearchConsoleComponent>(); factory.Register <SharedLatheComponent>(); factory.Register <SharedSpawnPointComponent>(); factory.Register <SolutionComponent>(); factory.Register <SharedVendingMachineComponent>(); factory.Register <SharedWiresComponent>(); factory.Register <SharedReagentDispenserComponent>(); prototypes.RegisterIgnore("material"); IoCManager.Register <IGameHud, GameHud>(); IoCManager.Register <IClientNotifyManager, ClientNotifyManager>(); IoCManager.Register <ISharedNotifyManager, ClientNotifyManager>(); IoCManager.Register <IClientGameTicker, ClientGameTicker>(); IoCManager.Register <IParallaxManager, ParallaxManager>(); IoCManager.Register <IChatManager, ChatManager>(); IoCManager.Register <IEscapeMenuOwner, EscapeMenuOwner>(); IoCManager.Register <ISandboxManager, SandboxManager>(); if (TestingCallbacks != null) { var cast = (ClientModuleTestingCallbacks)TestingCallbacks; cast.ClientBeforeIoC?.Invoke(); } IoCManager.BuildGraph(); IoCManager.Resolve <IParallaxManager>().LoadParallax(); IoCManager.Resolve <IBaseClient>().PlayerJoinedServer += SubscribePlayerAttachmentEvents; var stylesheet = new NanoStyle(); IoCManager.Resolve <IUserInterfaceManager>().Stylesheet = stylesheet.Stylesheet; IoCManager.Resolve <IUserInterfaceManager>().Stylesheet = stylesheet.Stylesheet; IoCManager.InjectDependencies(this); _escapeMenuOwner.Initialize(); }
#pragma warning restore 649 public override void Init() { var factory = IoCManager.Resolve <IComponentFactory>(); var prototypes = IoCManager.Resolve <IPrototypeManager>(); factory.RegisterIgnore("Interactable"); factory.RegisterIgnore("Destructible"); factory.RegisterIgnore("Temperature"); factory.RegisterIgnore("PowerTransfer"); factory.RegisterIgnore("PowerNode"); factory.RegisterIgnore("PowerProvider"); factory.RegisterIgnore("PowerDevice"); factory.RegisterIgnore("PowerStorage"); factory.RegisterIgnore("PowerGenerator"); factory.RegisterIgnore("Wirecutter"); factory.RegisterIgnore("Screwdriver"); factory.RegisterIgnore("Multitool"); factory.RegisterIgnore("Welder"); factory.RegisterIgnore("Wrench"); factory.RegisterIgnore("Crowbar"); factory.Register <ClientRangedWeaponComponent>(); factory.RegisterIgnore("HitscanWeapon"); factory.RegisterIgnore("ProjectileWeapon"); factory.RegisterIgnore("Projectile"); factory.RegisterIgnore("MeleeWeapon"); factory.RegisterIgnore("Storeable"); factory.RegisterIgnore("Stack"); factory.Register <HandsComponent>(); factory.RegisterReference <HandsComponent, IHandsComponent>(); factory.Register <ClientStorageComponent>(); factory.Register <ClientInventoryComponent>(); factory.Register <PowerDebugTool>(); factory.Register <ConstructorComponent>(); factory.Register <ConstructionGhostComponent>(); factory.Register <IconSmoothComponent>(); factory.Register <DamageableComponent>(); factory.Register <ClothingComponent>(); factory.Register <ItemComponent>(); factory.Register <MaterialComponent>(); factory.Register <SoundComponent>(); factory.Register <MaterialStorageComponent>(); factory.RegisterReference <MaterialStorageComponent, SharedMaterialStorageComponent>(); factory.RegisterReference <ClothingComponent, ItemComponent>(); factory.Register <SpeciesUI>(); factory.Register <CharacterInterface>(); factory.RegisterIgnore("Construction"); factory.RegisterIgnore("Apc"); factory.RegisterIgnore("Door"); factory.RegisterIgnore("PoweredLight"); factory.RegisterIgnore("Smes"); factory.RegisterIgnore("Powercell"); factory.RegisterIgnore("HandheldLight"); factory.RegisterIgnore("LightBulb"); factory.RegisterIgnore("Healing"); factory.RegisterIgnore("Catwalk"); factory.RegisterIgnore("BallisticMagazine"); factory.RegisterIgnore("BallisticMagazineWeapon"); factory.RegisterIgnore("BallisticBullet"); factory.RegisterIgnore("HitscanWeaponCapacitor"); prototypes.RegisterIgnore("material"); factory.RegisterIgnore("PowerCell"); factory.Register <SharedSpawnPointComponent>(); factory.Register <SharedLatheComponent>(); factory.Register <LatheDatabaseComponent>(); factory.RegisterReference <LatheDatabaseComponent, SharedLatheDatabaseComponent>(); factory.Register <CameraRecoilComponent>(); factory.RegisterReference <CameraRecoilComponent, SharedCameraRecoilComponent>(); factory.Register <SubFloorHideComponent>(); factory.RegisterIgnore("AiController"); factory.RegisterIgnore("PlayerInputMover"); IoCManager.Register <IClientNotifyManager, ClientNotifyManager>(); IoCManager.Register <ISharedNotifyManager, ClientNotifyManager>(); IoCManager.Register <IClientGameTicker, ClientGameTicker>(); IoCManager.Register <IParallaxManager, ParallaxManager>(); IoCManager.Register <IChatManager, ChatManager>(); IoCManager.Register <IEscapeMenuOwner, EscapeMenuOwner>(); IoCManager.BuildGraph(); IoCManager.Resolve <IParallaxManager>().LoadParallax(); IoCManager.Resolve <IBaseClient>().PlayerJoinedServer += SubscribePlayerAttachmentEvents; var stylesheet = new NanoStyle(); IoCManager.Resolve <IUserInterfaceManager>().Stylesheet = stylesheet.Stylesheet; IoCManager.Resolve <IUserInterfaceManager>().Stylesheet = stylesheet.Stylesheet; IoCManager.InjectDependencies(this); _escapeMenuOwner.Initialize(); }
#pragma warning restore 649 public override void Init() { var factory = IoCManager.Resolve <IComponentFactory>(); var prototypes = IoCManager.Resolve <IPrototypeManager>(); factory.DoAutoRegistrations(); var registerIgnore = new[] { "Wrenchable", "AmmoBox", "Breakable", "Pickaxe", "Interactable", "Destructible", "Temperature", "PowerTransfer", "PowerNode", "PowerProvider", "PowerDevice", "PowerStorage", "PowerGenerator", "Explosive", "OnUseTimerTrigger", "ToolboxElectricalFill", "ToolLockerFill", "EmitSoundOnUse", "FootstepModifier", "HeatResistance", "Teleportable", "ItemTeleporter", "Portal", "EntityStorage", "PlaceableSurface", "Wirecutter", "Screwdriver", "Multitool", "Wrench", "Crowbar", "HitscanWeapon", "ProjectileWeapon", "Projectile", "MeleeWeapon", "Storeable", "Dice", "Construction", "Apc", "Door", "PoweredLight", "Smes", "Powercell", "LightBulb", "Healing", "Catwalk", "BallisticMagazine", "BallisticBullet", "HitscanWeaponCapacitor", "PowerCell", "WeaponCapacitorCharger", "PowerCellCharger", "AiController", "PlayerInputMover", "Computer", "AsteroidRock", "ResearchServer", "ResearchPointSource", "ResearchClient", "IdCard", "Access", "AccessReader", "IdCardConsole", "Airlock", "MedicalScanner", "WirePlacer", "Species", "Drink", "Food", "DrinkFoodContainer", "Stomach", "Hunger", "Thirst", "Rotatable", "MagicMirror", "MedkitFill", "FloorTile", "FootstepSound", "UtilityBeltClothingFill", "ShuttleController", "HumanInventoryController", "UseDelay", "Pourable" }; foreach (var ignoreName in registerIgnore) { factory.RegisterIgnore(ignoreName); } factory.Register <SharedResearchConsoleComponent>(); factory.Register <SharedLatheComponent>(); factory.Register <SharedSpawnPointComponent>(); factory.Register <SolutionComponent>(); factory.Register <SharedVendingMachineComponent>(); factory.Register <SharedWiresComponent>(); factory.Register <SharedCargoConsoleComponent>(); factory.Register <SharedReagentDispenserComponent>(); prototypes.RegisterIgnore("material"); prototypes.RegisterIgnore("reaction"); //Chemical reactions only needed by server. Reactions checks are server-side. ClientContentIoC.Register(); if (TestingCallbacks != null) { var cast = (ClientModuleTestingCallbacks)TestingCallbacks; cast.ClientBeforeIoC?.Invoke(); } IoCManager.BuildGraph(); IoCManager.Resolve <IParallaxManager>().LoadParallax(); IoCManager.Resolve <IBaseClient>().PlayerJoinedServer += SubscribePlayerAttachmentEvents; var stylesheet = new NanoStyle(); IoCManager.Resolve <IUserInterfaceManager>().Stylesheet = stylesheet.Stylesheet; IoCManager.InjectDependencies(this); _escapeMenuOwner.Initialize(); _baseClient.PlayerJoinedGame += (sender, args) => { _stateManager.RequestStateChange <GameScreen>(); }; _baseClient.PlayerJoinedServer += (sender, args) => { IoCManager.Resolve <IMapManager>().CreateNewMapEntity(MapId.Nullspace); }; }