Example #1
0
    /// <summary>
    /// Tweak the wheel values in function of the genome received
    /// </summary>
    /// <param name="wheel"></param>
    /// <param name="genome"></param>
    /// <param name="scaleID"></param>
    /// <param name="isMotorID"></param>
    /// <param name="speedID"></param>
    private void TuneWheel(GameObject wheel, Genome genome, FGenID scaleID, BGenID isMotorID, FGenID speedID)
    {
        SpriteRenderer spriteRenderer = wheel.GetComponent <SpriteRenderer>();
        Transform      wheelTr        = wheel.transform;
        WheelJoint2D   wheelJoint     = wheel.GetComponent <WheelJoint2D>();

        if (genome.ExistsGen(scaleID))
        {
            wheelTr.localScale *= genome.GetGen(scaleID).Value();
        }

        if (genome.ExistsGen(isMotorID))
        {
            if (genome.GetGen(isMotorID).Value()) // If is motor
            {
                spriteRenderer.color = Color.green;

                if (genome.ExistsGen(speedID))
                {
                    JointMotor2D wheelJointMotor = wheelJoint.motor;
                    wheelJointMotor.motorSpeed = genome.GetGen(speedID).Value();
                }
            }
            else // If is not motor
            {
                spriteRenderer.color = Color.red;
                wheelJoint.useMotor  = false;
            }
        }
    }
Example #2
0
 /// <summary>
 /// Check if exists a gen of type boolean with input key
 /// </summary>
 /// <param name="ID"></param>
 /// <returns></returns>
 public bool ExistsGen(BGenID ID)
 {
     return(m_bGenes.ContainsKey(ID));
 }
Example #3
0
 /// <summary>
 /// Get an bGen by key
 /// </summary>
 /// <param name="genType"></param>
 /// <returns></returns>
 public BGen GetGen(BGenID genType)
 {
     return(m_bGenes[genType]);
 }
Example #4
0
 /// <summary>
 /// Create a gen of type boolean with the input paramaters
 /// </summary>
 /// <param name="genID"></param>
 /// <param name="genValue"></param>
 /// <param name="genMinValue"></param>
 /// <param name="genMaxValue"></param>
 public void AddGen(BGenID genID, bool genValue, bool genMinValue, bool genMaxValue)
 {
     AddGen(new BGen(genID, genValue, genMinValue, genMaxValue));
 }