Beispiel #1
0
 private static void Prefix()
 {
     Strings.Add(NAME.key.String, NAME.text);
     Strings.Add(DESC.key.String, DESC.text);
     Strings.Add(EFFECT.key.String, EFFECT.text);
     ModUtil.AddBuildingToPlanScreen("Rocketry", UltraLightConfig.ID);
 }
Beispiel #2
0
        // Token: 0x06000003 RID: 3 RVA: 0x000020DC File Offset: 0x000002DC
        public static void Prefix()
        {
            string str = "NEON_EDEN";

            Strings.Add("STRINGS.WORLDS." + str + ".NAME", "Neon Eden");
            Strings.Add("STRINGS.WORLDS." + str + ".DESCRIPTION", "A huge target location with an abundance of resources.\n\n<smallcaps>Neon Eden will pose almost no challenges and the abundance of resources and space will enable you to support a large colony. </smallcaps>\n\n");
            Strings.Add("STRINGS.CLUSTER_NAMES." + str + ".NAME", "Neon Eden");
            Strings.Add("STRINGS.CLUSTER_NAMES." + str + ".DESCRIPTION", "A huge target location with an abundance of resources.\n\n<smallcaps>Neon Eden will pose almost no challenges and the abundance of resources and space will enable you to support a large colony. </smallcaps>\n\n");
            Strings.Add("STRINGS.SUBWORLDS.NEONEDEN.NAME", "Neon Eden");
            Strings.Add("STRINGS.SUBWORLDS.NEONEDEN.DESC", "A huge target location with an abundance of resources.\n\n<smallcaps>Neon Eden will pose almost no challenges and the abundance of resources and space will enable you to support a large colony. </smallcaps>\n\n");
            Strings.Add("STRINGS.SUBWORLDS.NEONEDEN.UTILITY", "Neon Eden UTILITY");
            string text = "Asteroid_NeonEden";

            ModUtil.RegisterForTranslation(typeof(NeonEdenPatch));

            var sprite = Assembly.GetExecutingAssembly().GetManifestResourceStream("NeonEden." + text + ".dds");

            Debug.Log(sprite == null ? "sprite is null" : "sprite is not null");
            Sprite value = Sprites.CreateSpriteDXT5(sprite, 512, 512);

            Assets.Sprites.Add(text, value);

            var textureBiom = Assembly.GetExecutingAssembly().GetManifestResourceStream("NeonEden.NeonEdenBiom.png");

            Debug.Log(textureBiom == null ? "textureBiom is null" : "textureBiom is not null");
            Sprite spriteBiom = Sprites.CreateSpriteFromPng(textureBiom, 512, 512);

            Assets.Sprites.Add("biomeIconNeoneden", spriteBiom);
        }
Beispiel #3
0
 private static void Prefix()
 {
     Strings.Add(NAME.key.String, NAME.text);
     Strings.Add(DESC.key.String, DESC.text);
     Strings.Add(EFFECT.key.String, EFFECT.text);
     ModUtil.AddBuildingToPlanScreen("Refining", HeliumExtractorConfig.ID);
 }
        // Token: 0x0600002C RID: 44 RVA: 0x000024B8 File Offset: 0x000006B8
        public static void Prefix()
        {
            Debug.Log("HeavyBatteries - Prefix: ");

            Strings.Add("STRINGS.BUILDINGS.PREFABS.HEAVYBATTERY.NAME", "Heavy Battery");
            Strings.Add("STRINGS.BUILDINGS.PREFABS.HEAVYBATTERY.DESC", "Heavy batteries hold lots of power and keep systems running longer before recharging.");
            Strings.Add("STRINGS.BUILDINGS.PREFABS.HEAVYBATTERY.EFFECT", "Stores most runoff " + UI.FormatAsLink("Power", "POWER") + " from generators, but loses charge over time.");
            Strings.Add("STRINGS.BUILDINGS.PREFABS.HEAVYSMARTBATTERY.NAME", "Heavy Smart Battery");
            Strings.Add("STRINGS.BUILDINGS.PREFABS.HEAVYSMARTBATTERY.DESC", "Heavy smart batteries can send an automation signal while they require charging.");
            Strings.Add("STRINGS.BUILDINGS.PREFABS.HEAVYSMARTBATTERY.EFFECT", string.Concat("Stores most runoff ", UI.FormatAsLink("Power", "POWER"), " from generators, but loses charge over time.\n\nSends an ", UI.FormatAsLink("Active", "LOGIC"), " or ", UI.FormatAsLink("Standby", "LOGIC"), " signal based on the configuration of the Logic Activation Parameters."));
            Strings.Add("STRINGS.BUILDINGS.PREFABS.HEAVYTRANSFORMER.NAME", "Heavy Transformer");
            Strings.Add("STRINGS.BUILDINGS.PREFABS.HEAVYTRANSFORMER.DESC", "DO NOT TOUCH! SERIOUSLY!!!");
            Strings.Add("STRINGS.BUILDINGS.PREFABS.HEAVYTRANSFORMER.EFFECT", string.Concat("Protects circuits from overloading by increasing or decreasing ", UI.FormatAsLink("Power", "POWER"), " flow.\n\nStores a great deal of ", UI.FormatAsLink("Power", "POWER"), "."));

            bool emergencyBatteryEnabled = ConfigFile.config.emergencyBatteryEnabled;

            if (emergencyBatteryEnabled)
            {
                Strings.Add("STRINGS.BUILDINGS.PREFABS.EMERGENCYBATTERY.NAME", "Emergency Battery");
                Strings.Add("STRINGS.BUILDINGS.PREFABS.EMERGENCYBATTERY.DESC", "Emergency batteries can send an automation signal while they require charging.");
                Strings.Add("STRINGS.BUILDINGS.PREFABS.EMERGENCYBATTERY.EFFECT", string.Concat("Stores half of runoff ", UI.FormatAsLink("Power", "POWER"), " from generators, but never loses charge.\n\nSends an ", UI.FormatAsLink("Active", "LOGIC"), " or ", UI.FormatAsLink("Standby", "LOGIC"), " signal based on the configuration of the Logic Activation Parameters."));
                ModUtil.AddBuildingToPlanScreen("Power", "EmergencyBattery");
            }

            ModUtil.AddBuildingToPlanScreen("Power", "HeavyBattery");
            ModUtil.AddBuildingToPlanScreen("Power", "HeavySmartBattery");
            ModUtil.AddBuildingToPlanScreen("Power", "HeavyTransformer");
        }
			/// <summary>
			/// Applied before Initialize runs.
			/// </summary>
			internal static void Prefix() {
#if DEBUG
				ModUtil.RegisterForTranslation(typeof(SweepByTypeStrings));
#else
				Localization.RegisterForTranslation(typeof(SweepByTypeStrings));
#endif
			}
Beispiel #6
0
 private static void Prefix()
 {
     Strings.Add(NAME.key.String, NAME.text);
     Strings.Add(DESC.key.String, DESC.text);
     Strings.Add(EFFECT.key.String, EFFECT.text);
     ModUtil.AddBuildingToPlanScreen("Oxygen", CoalScrubberPipedConfig.ID);
 }
Beispiel #7
0
        /// <summary>
        /// Add strings and icon for a world
        /// Don't call this method OnLoad !
        /// To call at Db.Initialize
        /// </summary>
        /// <param name="NAME"> Name of the world </param>
        /// <param name="DESCRIPTION"> Description of the world </param>
        /// <param name="iconName"> DDS icon name (incorporated ressources only) </param>
        /// <param name="className"> Class containing the locstrings </param>
        public static void AddWorldYaml(string NAME, string DESCRIPTION, string iconName, Type className)
        {
            // Add strings used in ****.yaml
            Strings.Add($"STRINGS.WORLDS." + NAME.ToUpper() + ".NAME", NAME);
            Strings.Add($"STRINGS.WORLDS." + NAME.ToUpper() + ".DESCRIPTION", DESCRIPTION);

            // Generate a translation .pot
            if (!alreadyLoaded.Contains(className))
            {
                ModUtil.RegisterForTranslation(className);
                alreadyLoaded.Add(className);
            }

            if (!iconName.IsNullOrWhiteSpace())
            {
                //Load the sprite from Asteroid_****.dds (converted online from png) and add it to the project and set build action to embedded resource
                string resourceName = Assembly.GetExecutingAssembly().GetManifestResourceNames().Single(str => str.EndsWith(iconName + ".dds"));
                Stream stream       = Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName);
                if (stream == null)
                {
                    throw new ArgumentException($"Could not load the sprite at {resourceName}.");
                }
                Sprite sprite = CreateSpriteDXT5(stream, 512, 512);
                Assets.Sprites.Add(iconName, sprite);
            }
        }
 static void Prefix()
 {
     Strings.Add(NAME.key.String, NAME.text);
     Strings.Add(DESC.key.String, DESC.text);
     Strings.Add(EFFECT.key.String, EFFECT.text);
     ModUtil.AddBuildingToPlanScreen("Refining", BleachStoneRefineryConfig.ID);
 }
 static void Prefix()
 {
     Strings.Add(NAME.key.String, NAME.text);
     Strings.Add(DESC.key.String, DESC.text);
     Strings.Add(EFFECT.key.String, EFFECT.text);
     ModUtil.AddBuildingToPlanScreen("Oxygen", PollutedElectrolyserConfig.ID);
 }
Beispiel #10
0
 public static void Prefix()
 {
     Strings.Add("STRINGS.BUILDINGS.PREFABS.BUFFERSTORAGELOCKER.NAME", "Storage Buffer");
     Strings.Add("STRINGS.BUILDINGS.PREFABS.BUFFERSTORAGELOCKER.DESC", "Stores large amounts of materials. Will stop delivering when nearly full");
     Strings.Add("STRINGS.BUILDINGS.PREFABS.BUFFERSTORAGELOCKER.EFFECT", "Will stop delivering when nearly full");
     ModUtil.AddBuildingToPlanScreen("Base", "BufferStorageLocker");
 }
            private static void Prefix()
            {
                Strings.Add($"STRINGS.BUILDINGS.PREFABS.{InfiniteLiquidSinkConfig.Id.ToUpperInvariant()}.NAME", InfiniteLiquidSinkConfig.DisplayName);
                Strings.Add($"STRINGS.BUILDINGS.PREFABS.{InfiniteLiquidSinkConfig.Id.ToUpperInvariant()}.DESC", InfiniteLiquidSinkConfig.Description);
                Strings.Add($"STRINGS.BUILDINGS.PREFABS.{InfiniteLiquidSinkConfig.Id.ToUpperInvariant()}.EFFECT", InfiniteLiquidSinkConfig.Effect);
                Strings.Add($"STRINGS.BUILDINGS.PREFABS.{InfiniteLiquidSourceConfig.Id.ToUpperInvariant()}.NAME", InfiniteLiquidSourceConfig.DisplayName);
                Strings.Add($"STRINGS.BUILDINGS.PREFABS.{InfiniteLiquidSourceConfig.Id.ToUpperInvariant()}.DESC", InfiniteLiquidSourceConfig.Description);
                Strings.Add($"STRINGS.BUILDINGS.PREFABS.{InfiniteLiquidSourceConfig.Id.ToUpperInvariant()}.EFFECT", InfiniteLiquidSourceConfig.Effect);

                Strings.Add($"STRINGS.UI.UISIDESCREENS.{InfiniteLiquidSourceConfig.Id.ToUpperInvariant()}.TITLE", InfiniteLiquidSourceConfig.TemperatureSliderTitle);
                Strings.Add($"STRINGS.UI.UISIDESCREENS.{InfiniteLiquidSourceConfig.Id.ToUpperInvariant()}.TOOLTIP", InfiniteLiquidSourceConfig.TemperatureSliderTooltip);

                Strings.Add($"STRINGS.BUILDINGS.PREFABS.{InfiniteGasSinkConfig.Id.ToUpperInvariant()}.NAME", InfiniteGasSinkConfig.DisplayName);
                Strings.Add($"STRINGS.BUILDINGS.PREFABS.{InfiniteGasSinkConfig.Id.ToUpperInvariant()}.DESC", InfiniteGasSinkConfig.Description);
                Strings.Add($"STRINGS.BUILDINGS.PREFABS.{InfiniteGasSinkConfig.Id.ToUpperInvariant()}.EFFECT", InfiniteGasSinkConfig.Effect);
                Strings.Add($"STRINGS.BUILDINGS.PREFABS.{InfiniteGasSourceConfig.Id.ToUpperInvariant()}.NAME", InfiniteGasSourceConfig.DisplayName);
                Strings.Add($"STRINGS.BUILDINGS.PREFABS.{InfiniteGasSourceConfig.Id.ToUpperInvariant()}.DESC", InfiniteGasSourceConfig.Description);
                Strings.Add($"STRINGS.BUILDINGS.PREFABS.{InfiniteGasSourceConfig.Id.ToUpperInvariant()}.EFFECT", InfiniteGasSourceConfig.Effect);

                Strings.Add($"STRINGS.UI.UISIDESCREENS.{InfiniteGasSourceConfig.Id.ToUpperInvariant()}.TITLE", InfiniteGasSourceConfig.TemperatureSliderTitle);
                Strings.Add($"STRINGS.UI.UISIDESCREENS.{InfiniteGasSourceConfig.Id.ToUpperInvariant()}.TOOLTIP", InfiniteGasSourceConfig.TemperatureSliderTooltip);


                Strings.Add($"STRINGS.UI.UISIDESCREENS.INFINITESOURCE.FLOW.TITLE", InfiniteSourceFlowControl.FlowTitle);
                Strings.Add($"STRINGS.UI.UISIDESCREENS.INFINITESOURCE.FLOW.TOOLTIP", InfiniteSourceFlowControl.FlowTooltip);

                ModUtil.AddBuildingToPlanScreen("Plumbing", InfiniteLiquidSinkConfig.Id);
                ModUtil.AddBuildingToPlanScreen("Plumbing", InfiniteLiquidSourceConfig.Id);
                ModUtil.AddBuildingToPlanScreen("HVAC", InfiniteGasSinkConfig.Id);
                ModUtil.AddBuildingToPlanScreen("HVAC", InfiniteGasSourceConfig.Id);
            }
Beispiel #12
0
            public static void Prefix()
            {
                string str = "STRINGS.BUILDINGS.PREFABS.";

                LogicGateDiodeBuildingPatch.SetString(str + LogicGateDiodeBuildingPatch.ID_UPPER, LogicGateDiodeBuildingPatch.NAME, LogicGateDiodeBuildingPatch.DESC, LogicGateDiodeBuildingPatch.EFFC);
                ModUtil.AddBuildingToPlanScreen("Automation", "LogicDiodeGate");
            }
Beispiel #13
0
        private static void Prefix()
        {
            Debug.Log(" === GeneratedBuildings Prefix === " + InverseElectrolyzerConfig.ID);

            Strings.Add("STRINGS.BUILDINGS.PREFABS.INVERSEELECTROLYZER.NAME", "Burner 1IN");
            Strings.Add("STRINGS.BUILDINGS.PREFABS.INVERSEELECTROLYZER.DESC", "Hydrogen and oxygen goes in, water comes out");
            Strings.Add("STRINGS.BUILDINGS.PREFABS.INVERSEELECTROLYZER.EFFECT", "Converts " + STRINGS.UI.FormatAsLink("Oxygen", "OXYGEN") + " and " + STRINGS.UI.FormatAsLink("Hydrogen", "HYDROGEN") + " into " + STRINGS.UI.FormatAsLink("Water", "WATER") + ".\n\nGets oxygen from the environment.");

            ModUtil.AddBuildingToPlanScreen("Utilities", InverseElectrolyzerConfig.ID);


            Debug.Log(" === GeneratedBuildings Prefix === " + InverseElectrolyzerAltConfig.ID);

            Strings.Add("STRINGS.BUILDINGS.PREFABS.INVERSEELECTROLYZERALT.NAME", "Burner 2IN");
            Strings.Add("STRINGS.BUILDINGS.PREFABS.INVERSEELECTROLYZERALT.DESC", "Hydrogen and oxygen goes in, water comes out");
            Strings.Add("STRINGS.BUILDINGS.PREFABS.INVERSEELECTROLYZERALT.EFFECT", "Converts " + STRINGS.UI.FormatAsLink("Oxygen", "OXYGEN") + " and " + STRINGS.UI.FormatAsLink("Hydrogen", "HYDROGEN") + " into " + STRINGS.UI.FormatAsLink("Water", "WATER") + ".\n\nGets oxygen from an input.");

            ModUtil.AddBuildingToPlanScreen("Utilities", InverseElectrolyzerAltConfig.ID);

            /*
             * List<string> ls = new List<string>((string[])TUNING.BUILDINGS.PLANORDER[10].data);
             * ls.Add(InverseElectrolyzerConfig.ID);
             * TUNING.BUILDINGS.PLANORDER[10].data = (string[]) ls.ToArray();
             *
             * TUNING.BUILDINGS.COMPONENT_DESCRIPTION_ORDER.Add(InverseElectrolyzerConfig.ID);
             */
            /*
             * List<string> category = (List<string>)TUNING.BUILDINGS.PLANORDER.First(po => po.category == (HashedString) "Utilities").data;
             * category.Add(InverseElectrolyzerConfig.ID);
             */
        }
Beispiel #14
0
 static void Prefix()
 {
     Strings.Add(NAME.key.String, NAME.text);
     Strings.Add(DESC.key.String, DESC.text);
     Strings.Add(EFFECT.key.String, EFFECT.text);
     ModUtil.AddBuildingToPlanScreen("Conveyance", AdvancedSolidConduitElementSensorConfig.ID);
 }
Beispiel #15
0
 static void Prefix()
 {
     Strings.Add(NAME.key.String, NAME.text);
     Strings.Add(DESC.key.String, DESC.text);
     Strings.Add(EFFECT.key.String, EFFECT.text);
     ModUtil.AddBuildingToPlanScreen("Base", SmartGasReservoirConfig.ID);
 }
Beispiel #16
0
            private static void Prefix()
            {
                Strings.Add("STRINGS.BUILDINGS.PREFABS.TRELLIS.NAME", "Trellis");
                Strings.Add("STRINGS.BUILDINGS.PREFABS.TRELLIS.DESC", "Used to plant trees.");
                Strings.Add("STRINGS.BUILDINGS.PREFABS.TRELLIS.EFFECT", "For when you want to grow your very own tree.");

                Strings.Add("STRINGS.CREATURES.SPECIES.SEEDS.PALMERATREEPLANT.NAME", PalmeraTreeConfig.SeedName);
                Strings.Add("STRINGS.CREATURES.SPECIES.SEEDS.PALMERATREEPLANT.DESC", PalmeraTreeConfig.SeedDesc);

                Strings.Add("STRINGS.CREATURES.SPECIES.PALMERATREEPLANT.NAME", PalmeraTreeConfig.Name);
                Strings.Add("STRINGS.CREATURES.SPECIES.PALMERATREEPLANT.DESC", PalmeraTreeConfig.Desc);
                Strings.Add("STRINGS.CREATURES.SPECIES.PALMERATREEPLANT.DOMESTICATEDDESC", PalmeraTreeConfig.DomesticatedDesc);

                Strings.Add("STRINGS.ITEMS.FOOD." + SteamedPalmeraBerryConfig.ID.ToUpper() + ".NAME",
                            SteamedPalmeraBerryConfig.NameStr);
                Strings.Add("STRINGS.ITEMS.FOOD." + SteamedPalmeraBerryConfig.ID.ToUpper() + ".DESC",
                            SteamedPalmeraBerryConfig.Desc);
                Strings.Add("STRINGS.ITEMS.FOOD." + SteamedPalmeraBerryConfig.ID.ToUpper() + ".RECIPEDESC",
                            SteamedPalmeraBerryConfig.RecipeDesc);

                Strings.Add("STRINGS.ITEMS.FOOD." + PalmeraBerryConfig.ID.ToUpper() + ".NAME", PalmeraBerryConfig.NameStr);
                Strings.Add("STRINGS.ITEMS.FOOD." + PalmeraBerryConfig.ID.ToUpper() + ".DESC", PalmeraBerryConfig.Desc);

                ModUtil.AddBuildingToPlanScreen("Food", TrellisConfig.ID);

                CROPS.CROP_TYPES.Add(new Crop.CropVal(PalmeraBerryConfig.ID, 12000f, 10));
            }
Beispiel #17
0
 private static void Prefix()
 {
     Strings.Add(NAME.key.String, NAME.text);
     Strings.Add(DESC.key.String, DESC.text);
     Strings.Add(EFFECT.key.String, EFFECT.text);
     ModUtil.AddBuildingToPlanScreen("Utilities", UniversalCoolerConfig.ID);
 }
Beispiel #18
0
            public static void Prefix()
            {
                var tech       = "ImprovedCombustion";
                var buildingId = GeneticSamplerConfig.ID;
                var techList   = new List <string>(Database.Techs.TECH_GROUPING[tech])
                {
                    buildingId
                };

                Database.Techs.TECH_GROUPING[tech] = techList.ToArray();
                var category = "Refining";

                //string addAfterBuildingId = null;
                ModUtil.AddBuildingToPlanScreen(category, buildingId);

                /* var index = TUNING.BUILDINGS.PLANORDER.FindIndex(x => x.category == category);
                 * if (index == -1)
                 *   return;
                 * var planOrderList = TUNING.BUILDINGS.PLANORDER[index].data as IList<string>;
                 * if (planOrderList == null)
                 * {
                 *   return;
                 * }
                 * var neighborIdx = planOrderList.IndexOf(addAfterBuildingId);
                 * if (neighborIdx != -1)
                 *   planOrderList.Insert(neighborIdx + 1, buildingId);
                 * else
                 *   planOrderList.Add(buildingId);*/
            }
Beispiel #19
0
        // TODO: use more specialized interface to get files
        public static async Task <MatchHash> CreateAsync(IRepositoryMod mod, CancellationToken cancellationToken)
        {
            byte[]? modCppData = null;
            try
            {
                modCppData = await mod.GetFile("/mod.cpp", cancellationToken);
            }
            catch (Exception)
            {
                // ignored
            }

            string?name = null;

            if (modCppData != null)
            {
                name = ModUtil.ParseModCpp(Encoding.UTF8.GetString(modCppData)).GetValueOrDefault("name");
                if (name != null)
                {
                    name = CleanName(name);
                }
            }

            var pboNames = await mod.GetFileList(cancellationToken);

            var pboNameSet = pboNames.Where(f => AddonsPboRegex.IsMatch(f)).ToHashSet();

            return(new MatchHash(pboNameSet, name));
        }
 private static void Prefix()
 {
     Strings.Add($"STRINGS.BUILDINGS.PREFABS.{GemTileConfig.Id.ToUpperInvariant()}.NAME", GemTileConfig.DisplayName);
     Strings.Add($"STRINGS.BUILDINGS.PREFABS.{GemTileConfig.Id.ToUpperInvariant()}.DESC", GemTileConfig.Description);
     Strings.Add($"STRINGS.BUILDINGS.PREFABS.{GemTileConfig.Id.ToUpperInvariant()}.EFFECT", GemTileConfig.Effect);
     ModUtil.AddBuildingToPlanScreen("Plumbing", GemTileConfig.Id);
 }
Beispiel #21
0
        public static void AddSubstance(SubstanceEntry entry, SubstanceTable substanceTable)
        {
            Log.Spam($"Adding substance {entry.elementId}");

            SimHashes elementHash = SimHashUtil.CreateHash(entry.elementId);

            if (entry.baseSubstance == null)
            {
                Log.Error($"Missing baseSubstance for substance {entry.elementId}");
                return;
            }

            var baseSubstance = substanceTable.GetSubstance((SimHashes)Hash.SDBMLower(entry.baseSubstance));

            if (baseSubstance == null)
            {
                Log.Error($"Invalid baseSubstance {entry.baseSubstance} for substance {entry.elementId}");
                return;
            }

            Color32 color        = entry.color ?? baseSubstance.colour;
            Color32 uiColor      = entry.uiColor ?? baseSubstance.uiColour;
            Color32 conduitColor = entry.conduitColor ?? baseSubstance.conduitColour;

            var substance = ModUtil.CreateSubstance(entry.elementId, entry.state, baseSubstance.anim, baseSubstance.material, color, uiColor, conduitColor);

            substanceTable.GetList().Add(substance);
        }
Beispiel #22
0
        /// <summary>
        /// Add strings and icon for a world
        /// </summary>
        /// <param name="NAME"> Name of the world </param>
        /// <param name="DESCRIPTION"> Description of the world </param>
        /// <param name="iconName"> DDS icon name (incorporated ressources only) </param>
        /// <param name="className"> Class containing the locstrings </param>
        public static void addWorldYaml(string NAME, string DESCRIPTION, string iconName, Type className)
        {
            // Add strings used in Fuleria.yaml
            Strings.Add($"STRINGS.WORLDS." + NAME.ToUpper() + ".NAME", NAME);
            Strings.Add($"STRINGS.WORLDS." + NAME.ToUpper() + ".DESCRIPTION", DESCRIPTION);

            Logs.LogIfDebugging("Strings added at: " + "STRINGS.WORLDS." + NAME.ToUpper() + ".NAME");

            // Generate a translation .pot
            ModUtil.RegisterForTranslation(className);

            if (!iconName.IsNullOrWhiteSpace())
            {
                //Load the sprite from Asteroid_Fuleria.dds (converted online from png) and set "generation action" to incorporated ressources
                try
                {
                    Sprite sprite = Sprites.CreateSpriteDXT5(Assembly.GetExecutingAssembly().GetManifestResourceStream(className.AssemblyQualifiedName + "." + iconName + ".dds"), 512, 512);
                    Assets.Sprites.Add(iconName, sprite);
                }
                catch (Exception e)
                {
                    Logs.Log(e.ToString());
                    throw new ArgumentException();
                }
            }
        }
Beispiel #23
0
 private static void Prefix()
 {
     Strings.Add(NAME.key.String, NAME.text);
     Strings.Add(DESC.key.String, DESC.text);
     Strings.Add(EFFECT.key.String, EFFECT.text);
     ModUtil.AddBuildingToPlanScreen("Food", MyCreatureFeederConfig.ID);
 }
        private static void Prefix()
        {
            LocString.CreateLocStringKeys(typeof(PREFABS), "STRINGS.BUILDINGS.");

            ModUtil.AddBuildingToPlanScreen("Base", HyperbaricLiquidReservoirConfig.ID);
            ModUtil.AddBuildingToPlanScreen("Base", HyperbaricGasReservoirConfig.ID);
        }
Beispiel #25
0
        private bool LoadAnimation()
        {
            string path = FileSystem.Normalize(Path.Combine(label.install_path, "anim"));

            if (!System.IO.Directory.Exists(path))
            {
                return(false);
            }
            int           num           = 0;
            DirectoryInfo directoryInfo = new DirectoryInfo(path);

            DirectoryInfo[] directories = directoryInfo.GetDirectories();
            foreach (DirectoryInfo directoryInfo2 in directories)
            {
                DirectoryInfo[] directories2 = directoryInfo2.GetDirectories();
                foreach (DirectoryInfo directoryInfo3 in directories2)
                {
                    KAnimFile.Mod mod   = new KAnimFile.Mod();
                    FileInfo[]    files = directoryInfo3.GetFiles();
                    foreach (FileInfo fileInfo in files)
                    {
                        if (fileInfo.Extension == ".png")
                        {
                            byte[]    data      = File.ReadAllBytes(fileInfo.FullName);
                            Texture2D texture2D = new Texture2D(2, 2);
                            texture2D.LoadImage(data);
                            mod.textures.Add(texture2D);
                        }
                        else if (fileInfo.Extension == ".bytes")
                        {
                            string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(fileInfo.Name);
                            byte[] array = File.ReadAllBytes(fileInfo.FullName);
                            if (fileNameWithoutExtension.EndsWith("_anim"))
                            {
                                mod.anim = array;
                            }
                            else if (fileNameWithoutExtension.EndsWith("_build"))
                            {
                                mod.build = array;
                            }
                            else
                            {
                                DebugUtil.LogWarningArgs($"Unhandled TextAsset ({fileInfo.FullName})...ignoring");
                            }
                        }
                        else
                        {
                            DebugUtil.LogWarningArgs($"Unhandled asset ({fileInfo.FullName})...ignoring");
                        }
                    }
                    string name = directoryInfo3.Name + "_kanim";
                    if (mod.IsValid() && (bool)ModUtil.AddKAnimMod(name, mod))
                    {
                        num++;
                    }
                }
            }
            return(true);
        }
Beispiel #26
0
        private static void Prefix()
        {
            Strings.Add($"STRINGS.BUILDINGS.PREFABS.{FusionReactorConfig.ID.ToUpper()}.NAME", string.Concat("Fusion ", UI.FormatAsLink("\"Stellarator\"", FusionReactorConfig.ID), " Reactor"));
            Strings.Add($"STRINGS.BUILDINGS.PREFABS.{FusionReactorConfig.ID.ToUpper()}.EFFECT", string.Concat("Smashing Atoms together"));
            Strings.Add($"STRINGS.BUILDINGS.PREFABS.{FusionReactorConfig.ID.ToUpper()}.DESC", string.Concat("This Fusion Reactor is a Highly Powerful Generator that Gets really Hot.\nit's based on the Stellarator fusion reactor and uses Stellar nucleosynthesis to create Metal from Hydrogen"));

            ModUtil.AddBuildingToPlanScreen("Power", FusionReactorConfig.ID);
        }
        public static void Setup()
        {
            Strings.Add($"STRINGS.BUILDINGS.PREFABS.{ID.ToUpperInvariant()}.NAME", "<link=\"" + ID + "\">" + Name + "</link>");
            Strings.Add($"STRINGS.BUILDINGS.PREFABS.{ID.ToUpperInvariant()}.DESC", Description);
            Strings.Add($"STRINGS.BUILDINGS.PREFABS.{ID.ToUpperInvariant()}.EFFECT", Effect);

            ModUtil.AddBuildingToPlanScreen("Base", ID);
        }
Beispiel #28
0
            public static void Prefix()
            {
                Strings.Add($"STRINGS.BUILDINGS.PREFABS.{DNAStatueConfig.Id.ToUpperInvariant()}.NAME", DNAStatueConfig.DisplayName);
                Strings.Add($"STRINGS.BUILDINGS.PREFABS.{DNAStatueConfig.Id.ToUpperInvariant()}.DESC", DNAStatueConfig.Description);
                Strings.Add($"STRINGS.BUILDINGS.PREFABS.{DNAStatueConfig.Id.ToUpperInvariant()}.EFFECT", DNAStatueConfig.Effect);

                ModUtil.AddBuildingToPlanScreen("Furniture", DNAStatueConfig.Id);
            }
Beispiel #29
0
            private static void Prefix()
            {
                Strings.Add("STRINGS.BUILDINGS.PREFABS.COUCH.NAME", "Couch");
                Strings.Add("STRINGS.BUILDINGS.PREFABS.COUCH.DESC", "Comfier than it looks!");
                Strings.Add("STRINGS.BUILDINGS.PREFABS.COUCH.EFFECT", "Perfect for some relaxation.");

                ModUtil.AddBuildingToPlanScreen("Furniture", CouchConfig.ID);
            }
            private static void Prefix()
            {
                Strings.Add("STRINGS.BUILDINGS.PREFABS.SOLIDCONDUITSHUTOFF.NAME", "Conveyor Rail Shutoff");
                Strings.Add("STRINGS.BUILDINGS.PREFABS.SOLIDCONDUITSHUTOFF.DESC", "Your items won't go anywhere unless you let them.");
                Strings.Add("STRINGS.BUILDINGS.PREFABS.SOLIDCONDUITSHUTOFF.EFFECT", "Automatically turns flow of objects on the Conveyor Rail on or off using Automation technology.");

                ModUtil.AddBuildingToPlanScreen("Conveyance", SolidConduitShutoffConfig.ID);
            }