示例#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;
            }
        }
    }
示例#2
0
    ////////////////////////////////EXISTS GEN/////////////////////////////////////////////////

    /// <summary>
    /// Check if exists a gen of type float with input key
    /// </summary>
    /// <param name="ID"></param>
    /// <returns></returns>
    public bool ExistsGen(FGenID ID)
    {
        return(m_fGenes.ContainsKey(ID));
    }
示例#3
0
    ////////////////////////////////GETTERS/////////////////////////////////////////////////

    /// <summary>
    /// Get a fGen by key
    /// </summary>
    /// <param name="genType"></param>
    /// <returns></returns>
    public FGen GetGen(FGenID genType)
    {
        return(m_fGenes[genType]);
    }
示例#4
0
    ////////////////////////////////ADD GEN/////////////////////////////////////////////////

    /// <summary>
    /// Create a gen of type float with the input paramaters
    /// </summary>
    /// <param name="genID"></param>
    /// <param name="genValue"></param>
    /// <param name="genMinValue"></param>
    /// <param name="genMaxValue"></param>
    public void AddGen(FGenID genID, float genValue, float genMinValue, float genMaxValue)
    {
        AddGen(new FGen(genID, genValue, genMinValue, genMaxValue));
    }