Пример #1
0
    /// <summary>
    /// Create body with parent genes
    /// </summary>
    /// <param name="parent1"></param>
    /// <param name="parent2"></param>
    public void CreateBody(Horse parent1, Horse parent2)
    {
        // Create punnet square quadrants
        Body[] quad1 = new Body[2] {
            parent1.GetBodyAllele1(), parent2.GetBodyAllele1()
        };
        Body[] quad2 = new Body[2] {
            parent1.GetBodyAllele1(), parent2.GetBodyAllele2()
        };
        Body[] quad3 = new Body[2] {
            parent1.GetBodyAllele2(), parent2.GetBodyAllele1()
        };
        Body[] quad4 = new Body[2] {
            parent1.GetBodyAllele2(), parent2.GetBodyAllele2()
        };

        int gene = Random.Range(0, 4);

        switch (gene)
        {
        case 0:
            _bodyAllele1 = quad1[0];
            _bodyAllele2 = quad1[1];
            break;

        case 1:
            _bodyAllele1 = quad2[0];
            _bodyAllele2 = quad2[1];
            break;

        case 2:
            _bodyAllele1 = quad3[0];
            _bodyAllele2 = quad3[1];
            break;

        case 3:
            _bodyAllele1 = quad4[0];
            _bodyAllele2 = quad4[1];
            break;
        }

        SelectBody();
    }
    /// <summary>
    /// Create the resulting horse button and attributes
    /// </summary>
    private void CreateResultHorseButton()
    {
        resultHorseButton = Instantiate(horseButton, uiCanvas);
        resultHorseButton.transform.localPosition = new Vector3(-235.5611f, 90.79448f, 0);
        resultHorseButton.transform.Find("Horse Button").GetComponent <Button>().enabled = false;

        bodyAlleles.text = _resultHorse.GetBodyAllele1().toString() + "     " + _resultHorse.GetBodyAllele2().toString();
        headAlleles.text = _resultHorse.GetHeadAllele1().toString() + "     " + _resultHorse.GetHeadAllele2().toString();
        tailAlleles.text = _resultHorse.GetTailAllele1().toString() + "     " + _resultHorse.GetTailAllele2().toString();

        SetUpHorseButton(_resultHorse, resultHorseButton);
    }