//*/


        #region Inheritance Tests

        static void TestClothingConstructor()
        {
            Clothing c1 = new Clothing(3, "C100", "Running tights", 69.99M, 3, "pants", "womens", "large", "blue", "Lucy");

            Console.WriteLine("Testing clothing constructors");
            Console.WriteLine("Overloaded constructor.  Expecting 3, c100 etc \n" + c1.ToString());
            Console.WriteLine();
        }
Beispiel #2
0
        public void ToStringWorksWithAnEmptyObject()
        {
            var model = new Clothing();

            Assert.Equal(
                "Clothing { Type = 'head', Name = '', Defense = 0, Raitings = [], Locations = [] }",
                model.ToString()
                );
        }
Beispiel #3
0
        public void ToStringAnObjectWithProperties()
        {
            var model = new Clothing
            {
                Defense   = 22,
                Locations = new [] { "east", "west" },
                Name      = "Some Item",
                Ratings   = new [] { "good", "great" },
                Type      = "body"
            };

            Assert.Equal(
                "Clothing { Type = 'body', Name = 'Some Item', Defense = 22, Raitings = ['good', 'great'], Locations = ['east', 'west'] }",
                model.ToString()
                );
        }
Beispiel #4
0
        public static void DoWindowContents(Rect inRect)
        {
            Listing_Standard listingStandard = new Listing_Standard();

            listingStandard.ColumnWidth = inRect.width / 3.15f;
            listingStandard.Begin(inRect);
            listingStandard.Gap(4f);
            listingStandard.Label("SexTypeFrequency".Translate());
            listingStandard.Gap(6f);
            listingStandard.Label("  " + "vaginal".Translate() + ": " + Math.Round(vaginal * 100, 0), -1, "vaginal_desc".Translate());
            vaginal = listingStandard.Slider(vaginal, 0.01f, 3.0f);
            listingStandard.Label("  " + "anal".Translate() + ": " + Math.Round(anal * 100, 0), -1, "anal_desc".Translate());
            anal = listingStandard.Slider(anal, 0.01f, 3.0f);
            listingStandard.Label("  " + "double_penetration".Translate() + ": " + Math.Round(double_penetration * 100, 0), -1, "double_penetration_desc".Translate());
            double_penetration = listingStandard.Slider(double_penetration, 0.01f, 3.0f);
            listingStandard.Label("  " + "f******o".Translate() + ": " + Math.Round(f******o * 100, 0), -1, "fellatio_desc".Translate());
            f******o = listingStandard.Slider(f******o, 0.01f, 3.0f);
            listingStandard.Label("  " + "cunnilingus".Translate() + ": " + Math.Round(cunnilingus * 100, 0), -1, "cunnilingus_desc".Translate());
            cunnilingus = listingStandard.Slider(cunnilingus, 0.01f, 3.0f);
            listingStandard.Label("  " + "rimming".Translate() + ": " + Math.Round(rimming * 100, 0), -1, "rimming_desc".Translate());
            rimming = listingStandard.Slider(rimming, 0.01f, 3.0f);
            listingStandard.Label("  " + "sixtynine".Translate() + ": " + Math.Round(sixtynine * 100, 0), -1, "sixtynine_desc".Translate());
            sixtynine = listingStandard.Slider(sixtynine, 0.01f, 3.0f);
            listingStandard.CheckboxLabeled("FapEverywhere".Translate(), ref FapEverywhere, "FapEverywhere_desc".Translate());
            listingStandard.CheckboxLabeled("FapInBed".Translate(), ref FapInBed, "FapInBed_desc".Translate());

            listingStandard.NewColumn();
            listingStandard.Gap(4f);
            if (listingStandard.ButtonText("Reset".Translate()))
            {
                vaginal             = 1.20f;
                anal                = 0.80f;
                f******o            = 0.80f;
                cunnilingus         = 0.80f;
                rimming             = 0.40f;
                double_penetration  = 0.60f;
                breastjob           = 0.50f;
                handjob             = 0.80f;
                mutual_masturbation = 0.70f;
                fingering           = 0.50f;
                footjob             = 0.30f;
                scissoring          = 0.50f;
                fisting             = 0.30f;
                sixtynine           = 0.69f;
            }
            listingStandard.Gap(6f);
            listingStandard.Label("  " + "breastjob".Translate() + ": " + Math.Round(breastjob * 100, 0), -1, "breastjob_desc".Translate());
            breastjob = listingStandard.Slider(breastjob, 0.01f, 3.0f);
            listingStandard.Label("  " + "handjob".Translate() + ": " + Math.Round(handjob * 100, 0), -1, "handjob_desc".Translate());
            handjob = listingStandard.Slider(handjob, 0.01f, 3.0f);
            listingStandard.Label("  " + "fingering".Translate() + ": " + Math.Round(fingering * 100, 0), -1, "fingering_desc".Translate());
            fingering = listingStandard.Slider(fingering, 0.01f, 3.0f);
            listingStandard.Label("  " + "fisting".Translate() + ": " + Math.Round(fisting * 100, 0), -1, "fisting_desc".Translate());
            fisting = listingStandard.Slider(fisting, 0.01f, 3.0f);
            listingStandard.Label("  " + "mutual_masturbation".Translate() + ": " + Math.Round(mutual_masturbation * 100, 0), -1, "mutual_masturbation_desc".Translate());
            mutual_masturbation = listingStandard.Slider(mutual_masturbation, 0.01f, 3.0f);
            listingStandard.Label("  " + "footjob".Translate() + ": " + Math.Round(footjob * 100, 0), -1, "footjob_desc".Translate());
            footjob = listingStandard.Slider(footjob, 0.01f, 3.0f);
            listingStandard.Label("  " + "scissoring".Translate() + ": " + Math.Round(scissoring * 100, 0), -1, "scissoring_desc".Translate());
            scissoring = listingStandard.Slider(scissoring, 0.01f, 3.0f);

            if (listingStandard.ButtonText("Malesex".Translate() + Malesex.ToString()))
            {
                Find.WindowStack.Add(new FloatMenu(new List <FloatMenuOption>()
                {
                    new FloatMenuOption("AllowedSex.All".Translate(), (() => Malesex = AllowedSex.All), MenuOptionPriority.Default),
                    new FloatMenuOption("AllowedSex.H**o".Translate(), (() => Malesex = AllowedSex.H**o), MenuOptionPriority.Default),
                    new FloatMenuOption("AllowedSex.Nohomo".Translate(), (() => Malesex = AllowedSex.Nohomo), MenuOptionPriority.Default)
                }));
            }
            if (listingStandard.ButtonText("FeMalesex".Translate() + FeMalesex.ToString()))
            {
                Find.WindowStack.Add(new FloatMenu(new List <FloatMenuOption>()
                {
                    new FloatMenuOption("AllowedSex.All".Translate(), (() => FeMalesex = AllowedSex.All), MenuOptionPriority.Default),
                    new FloatMenuOption("AllowedSex.H**o".Translate(), (() => FeMalesex = AllowedSex.H**o), MenuOptionPriority.Default),
                    new FloatMenuOption("AllowedSex.Nohomo".Translate(), (() => FeMalesex = AllowedSex.Nohomo), MenuOptionPriority.Default)
                }));
            }

            listingStandard.NewColumn();
            listingStandard.Gap(4f);
            // TODO: Add translation
            if (listingStandard.ButtonText("SexClothing".Translate() + sex_wear.ToString()))
            {
                Find.WindowStack.Add(new FloatMenu(new List <FloatMenuOption>()
                {
                    new FloatMenuOption("SexClothingNude".Translate(), (() => sex_wear = Clothing.Nude), MenuOptionPriority.Default),
                    new FloatMenuOption("SexClothingHeadwear".Translate(), (() => sex_wear = Clothing.Headgear), MenuOptionPriority.Default),
                    new FloatMenuOption("SexClothingFull".Translate(), (() => sex_wear = Clothing.Clothed), MenuOptionPriority.Default)
                }));
            }
            listingStandard.Gap(4f);
            if (listingStandard.ButtonText("RapeSoundAlert".Translate() + rape_alert_sound.ToString()))
            {
                Find.WindowStack.Add(new FloatMenu(new List <FloatMenuOption>()
                {
                    new FloatMenuOption("RapeSoundAlertAlways".Translate(), (() => rape_alert_sound = RapeAlert.Enabled), MenuOptionPriority.Default),
                    new FloatMenuOption("RapeSoundAlertHumanlike".Translate(), (() => rape_alert_sound = RapeAlert.Humanlikes), MenuOptionPriority.Default),
                    new FloatMenuOption("RapeSoundAlertColonist".Translate(), (() => rape_alert_sound = RapeAlert.Colonists), MenuOptionPriority.Default),
                    new FloatMenuOption("RapeSoundAlertDisabled".Translate(), (() => rape_alert_sound = RapeAlert.Disabled), MenuOptionPriority.Default)
                }));
            }

            listingStandard.Gap(26f);
            listingStandard.Label("SexualitySpread1".Translate(), -1, "SexualitySpread2".Translate());
            if (listingStandard.ButtonText(sexuality_distribution.ToString()))
            {
                Find.WindowStack.Add(new FloatMenu(new List <FloatMenuOption>()
                {
                    new FloatMenuOption("RimJobWorld", (() => sexuality_distribution = Rjw_sexuality.RimJobWorld), MenuOptionPriority.Default),
                    new FloatMenuOption("RationalRomance", (() => sexuality_distribution = Rjw_sexuality.RationalRomance), MenuOptionPriority.Default),
                    new FloatMenuOption("SYRIndividuality", (() => sexuality_distribution = Rjw_sexuality.SYRIndividuality), MenuOptionPriority.Default),
                    new FloatMenuOption("Psychology", (() => sexuality_distribution = Rjw_sexuality.Psychology), MenuOptionPriority.Default)
                }));
            }
            if (sexuality_distribution == Rjw_sexuality.RimJobWorld)
            {
                listingStandard.Label("SexualityAsexual".Translate() + Math.Round((asexual_ratio / GetTotal()) * 100, 1) + "%", -1, "SexualityAsexual_desc".Translate());
                asexual_ratio = listingStandard.Slider(asexual_ratio, 0.0f, 1.0f);
                listingStandard.Label("SexualityPansexual".Translate() + Math.Round((pansexual_ratio / GetTotal()) * 100, 1) + "%", -1, "SexualityPansexual_desc".Translate());
                pansexual_ratio = listingStandard.Slider(pansexual_ratio, 0.0f, 1.0f);
                listingStandard.Label("SexualityHeterosexual".Translate() + Math.Round((heterosexual_ratio / GetTotal()) * 100, 1) + "%", -1, "SexualityHeterosexual_desc".Translate());
                heterosexual_ratio = listingStandard.Slider(heterosexual_ratio, 0.0f, 1.0f);
                listingStandard.Label("SexualityBisexual".Translate() + Math.Round((bisexual_ratio / GetTotal()) * 100, 1) + "%", -1, "SexualityBisexual_desc".Translate());
                bisexual_ratio = listingStandard.Slider(bisexual_ratio, 0.0f, 1.0f);
                listingStandard.Label("SexualityGay".Translate() + Math.Round((homosexual_ratio / GetTotal()) * 100, 1) + "%", -1, "SexualityGay_desc".Translate());
                homosexual_ratio = listingStandard.Slider(homosexual_ratio, 0.0f, 1.0f);
            }
            else
            {
                if (!xxx.RomanceDiversifiedIsActive && sexuality_distribution == Rjw_sexuality.RationalRomance)
                {
                    sexuality_distribution = Rjw_sexuality.RimJobWorld;
                }
                else if (sexuality_distribution == Rjw_sexuality.RationalRomance)
                {
                    listingStandard.Label("SexualitySpreadRationalRomance".Translate());
                }

                if (!xxx.IndividualityIsActive && sexuality_distribution == Rjw_sexuality.SYRIndividuality)
                {
                    sexuality_distribution = Rjw_sexuality.RimJobWorld;
                }
                else if (sexuality_distribution == Rjw_sexuality.SYRIndividuality)
                {
                    listingStandard.Label("SexualitySpreadIndividuality".Translate());
                }


                if (!xxx.PsychologyIsActive && sexuality_distribution == Rjw_sexuality.Psychology)
                {
                    sexuality_distribution = Rjw_sexuality.RimJobWorld;
                }
                else if (sexuality_distribution == Rjw_sexuality.Psychology)
                {
                    listingStandard.Label("SexualitySpreadPsychology".Translate());
                }
            }

            listingStandard.End();
        }