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;
        }
Exemple #2
0
#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();
        }
Exemple #4
0
#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);
            };
        }