Exemplo n.º 1
0
    public Fly(TraitDB traitDB)
    {
        this.traitDB = traitDB;

        init();

        foreach (TraitData.TraitID key in traits.Keys.ToList())
        {
            if (traitDB.getDiscoveredObjects().Contains(traits[key].getTraitData()))
            {
                traits[key].setAlleles(Random.Range(0, 3));
            }
            else
            {
                traits[key].setAlleles(0);
            }
            if (traits[key].isPresent(isMale))
            {
                if (!expressedTraits.ContainsKey(traits[key].getTraitData().PGID) ||
                    expressedTraits[traits[key].getTraitData().PGID].priority > traits[key].getTraitData().priority)
                {
                    expressedTraits[traits[key].getTraitData().PGID] = traits[key].getTraitData();
                }
            }
        }

        setStats();
    }
Exemplo n.º 2
0
    public Fly(Fly maleParent, Fly femaleParent, TraitDB traitDB)
    {
        this.traitDB = traitDB;

        init();

        //Initialize Traits from parental cross.
        cross(maleParent, femaleParent);

        setStats();
    }
    public Jar(TraitDB traitDB, DefaultProperties defaultProperties)
    {
        this.traitDB = traitDB;

        maleParents   = new List <Fly>();
        femaleParents = new List <Fly>();
        progeny       = new List <Fly>();

        jarProperties = new Dictionary <JarProperty.PropertyType, JarProperty>();
        foreach (JarProperty property in defaultProperties.getDefaultProperties(traitDB.gameManager.getGamePhase()))
        {
            jarProperties.Add(property.propertyType, property);
        }

        selectiveSurvivabilityAdvantage = new Dictionary <TraitData.TraitID, float>();
        selectiveFitnessAdvantage       = new Dictionary <TraitData.TraitID, float>();
        statModification = new Dictionary <FlyStats.StatID, float>();

        setJarStats();

        tier = traitDB.gameManager.getGamePhase();
    }