Beispiel #1
0
    public static int ChildAge(RootPerson parent1, Person parent2, int remainingChildren)
    {
        if (remainingTwins > 0)
        {
            remainingTwins--;
            return(prevAge);
        }
        else
        {
            Person baseParent = GenerationHelpers.GetBaseParent(parent1, parent2);

            int maxAge = Mathf.Min(22, baseParent.age - 18, prevAge - 1);
            int minAge = Mathf.Max(0, remainingChildren);

            int age = Random.Range(minAge, maxAge + 1);

            if (remainingChildren > 0)
            {
                float det = Random.Range(0.0f, 1.0f);

                if (det <= 0.05f || baseParent.age == 18)
                {
                    remainingTwins = 1;
                }
                else if (det <= 0.06f)
                {
                    remainingTwins = 2;
                }
            }

            prevAge = age;
            return(age);
        }
    }
Beispiel #2
0
    private float[] ChildOddMod(float[] input)
    {
        float modifier = 0.0f;

        if (root.wealth == Wealth.poor)
        {
            modifier += 0.01f;
        }

        if (root.relationship == Relationship.dating)
        {
            modifier += 0.01f;
        }
        else if (root.relationship == Relationship.married)
        {
            modifier += 0.02f;
            if (root.wealth == Wealth.wealthy)
            {
                modifier += 0.01f;
            }
        }

        if (root.relationship == Relationship.single)
        {
            modifier -= 0.02f;
        }
        else
        {
            if (GenerationHelpers.SABMatch(root, otherMembers[0]))
            {
                modifier -= 0.02f;
            }
            else
            {
                modifier += 0.01f;
            }

            if (root.gender != Gender.cisMale && root.gender != Gender.cisFemale)
            {
                modifier -= 0.01f;
            }
            else if (otherMembers[0].gender != Gender.cisMale && otherMembers[0].gender != Gender.cisFemale)
            {
                modifier -= 0.01f;
            }
        }

        float[] output = input;
        int     count  = 1;

        for (int i = input.Length - 1; i >= 0; i--)
        {
            output[i] -= modifier * count;
            count++;
        }

        return(output);
    }
Beispiel #3
0
        static void Main(string[] args)
        {
            BCT.Execute(c => { });
            while (true)
            {
                #region DEBUG
                //var caches = BulletinCollector.GetBulletinsByQuery(@"http://avito.ru", "iPhone");
                //caches = BulletinCollector.GetBulletinsBySheets(caches);
                #endregion
                Console.Write("BC> ");
                var text = Console.ReadLine();
                BCT.Execute(c =>
                {
                    var enterArgs = text.Split(new[] { " -" }, StringSplitOptions.None);
                    var command   = enterArgs[0];
                    switch (command)
                    {
                    case "TaskGeneration":
                        GenerationHelpers.GenerationFull();
                        break;

                    case "TaskGenerationClear":
                        GenerationHelpers.GenerationClearData();
                        break;

                    case "NextTask":
                        var r2 = BackTaskHelper.Next();
                        r2     = r2;
                        break;

                    case "RunStatisticsTasks":
                        StatisticsHelper.RunUserStatisticsTask(new Guid("43461B22-1BC4-4584-8DB8-FA930CB331C5"));
                        break;

                    case "ComputeStatisticsTasks":
                        StatisticsHelper.ComputeUserStatistics(new Guid("43461B22-1BC4-4584-8DB8-FA930CB331C5"));
                        break;

                    case "GetCalls":
                        StatisticsHelper.GetCallsStatistics(new Guid("43461B22-1BC4-4584-8DB8-FA930CB331C5"));
                        break;

                    case "help":
                        Console.WriteLine(Help);
                        break;

                    default:
                        Console.WriteLine("Command not found");
                        break;
                    }
                });
            }
        }
Beispiel #4
0
    public static Gender ChildGender(RootPerson parent1, Person parent2)
    {
        if (GenerationHelpers.GenderTypeMatch(parent1, parent2))
        {
            return(ChildGender(parent1));
        }
        else
        {
            float det = Random.Range(0.0f, 1.0f);

            if (GenerationHelpers.IsNB(parent1) || GenerationHelpers.IsNB(parent2))
            {
                if (det <= 0.35f)
                {
                    return(Gender.cisMale);
                }
                else if (det <= 0.7f)
                {
                    return(Gender.cisFemale);
                }
                else if (det <= 0.85f)
                {
                    return(Gender.dmabNonBinary);
                }
                else
                {
                    return(Gender.dfabNonBinary);
                }
            }
            else
            {
                if (det <= 0.45f)
                {
                    return(Gender.cisMale);
                }
                else if (det <= 0.9f)
                {
                    return(Gender.cisFemale);
                }
                else if (det <= 0.95f)
                {
                    return(Gender.dmabNonBinary);
                }
                else
                {
                    return(Gender.dfabNonBinary);
                }
            }
        }
    }
Beispiel #5
0
    private void GenChild(RootPerson parent1, Person parent2, int remainingChildren)
    {
        gender = Generators.ChildGender(parent1, parent2);
        age    = Generators.ChildAge(parent1, parent2, remainingChildren);

        float det = Random.Range(0.0f, 1.0f);

        if (GenerationHelpers.SABMatch(parent1, parent2) || det <= 0.1f)
        {
            skinColor = Generators.RootSkinColor();
            hairColor = Generators.RootHairColor(skinColor);
            eyeColor  = Generators.RootEyeColor(skinColor);
        }
        else
        {
        }
    }
Beispiel #6
0
 private int GetAdditionalSeed <TType>(PropertyInfo prop)
 {
     return(GenerationHelpers.GetDeterministicHashCode((prop.Name + typeof(TType).Name)));
 }