コード例 #1
0
ファイル: HardModeGen.cs プロジェクト: imkSushi/BiomeLibrary
        private static void ExtractAllSpecificAlt(EvilSpecific currentEvil, List <ModBiome> allAltToGen)
        {
            switch (currentEvil)
            {
            case EvilSpecific.corruption:
                allAltToGen.AddRange(BiomeLibs.Biomes.Values.Where(corruption =>
                                                                   corruption.EvilSpecific == EvilSpecific.corruption &&
                                                                   corruption.BiomeAlt == BiomeAlternative.hallowAlt).ToList());
                break;

            case EvilSpecific.crimson:
                allAltToGen.AddRange(BiomeLibs.Biomes.Values.Where(corruption =>
                                                                   corruption.EvilSpecific == EvilSpecific.crimson &&
                                                                   corruption.BiomeAlt == BiomeAlternative.hallowAlt).ToList());
                break;

            case EvilSpecific.other:
                allAltToGen.AddRange(BiomeLibs.Biomes.Values.Where(corruption =>
                                                                   corruption.EvilSpecific == EvilSpecific.other &&
                                                                   corruption.BiomeAlt == BiomeAlternative.hallowAlt && corruption.EvilSpecificBoundName == BiomeWorld.currentEvil).ToList());
                break;
            }
        }
コード例 #2
0
ファイル: HardModeGen.cs プロジェクト: imkSushi/BiomeLibrary
        private void GenerateHallowAlt(int num3, int num5, EvilSpecific currentEvil, List <ModBiome> allAltToGen)
        {
            ModBiome biome;
            int      rng = (currentEvil == EvilSpecific.corruption)
                ? WorldGen.genRand.Next(allAltToGen.Count)
                : WorldGen.genRand.Next(allAltToGen.Count - 1);

            if (rng == allAltToGen.Count)
            {
                Main.NewText("The fantasy creature has arrived!", Color.LightCyan);
                WorldGen.GERunner(num3, 0, 3f * (float)3 * num5, 5f, true);
            }

            biome = allAltToGen[rng];


            String message = "";

            if (!biome.BiomeAltGeneration(ref message))
            {
                Main.NewText(message);
                BWRunner(num3, 0, blockFinder(biome.biomeBlock), (float)(3 * num5), 5f);
            }
        }
コード例 #3
0
ファイル: HardModeGen.cs プロジェクト: imkSushi/BiomeLibrary
        private void DetermineHallowAlt(int num3, int num5)
        {
            EvilSpecific currentEvil = (Main.ActiveWorldFileData.HasCorruption)
                ? EvilSpecific.corruption
                : EvilSpecific.crimson;

            List <ModBiome> allAltToGen = BiomeLibs.Biomes.Values.Where(both =>
                                                                        both.BiomeAlt == BiomeAlternative.hallowAlt && both.EvilSpecific == EvilSpecific.both).ToList();

            if (!BiomeLibs.Biomes.Values.Any(c =>
                                             c.EvilSpecific == EvilSpecific.crimson || c.BiomeAlt == BiomeAlternative.hallowAlt) &&
                currentEvil == EvilSpecific.crimson)
            {
                Main.NewText("The fantasy creature has arrived!", Color.LightCyan);
                WorldGen.GERunner(num3, 0, 3f * (float)3 * num5, 5f, true);
                return;
            }
            ExtractAllSpecificAlt(currentEvil, allAltToGen);
            GenerateHallowAlt(num3, num5, currentEvil, allAltToGen);
            MethodInfo draw = typeof(Main).GetMethod("Draw", BindingFlags.Instance | BindingFlags.NonPublic);

            Object[] obj = { Main._drawInterfaceGameTime };
            draw.Invoke(Main.instance, obj);
        }