void Start()
    {
        statusDesc = GetComponent <TextMesh>();
        bodycoll   = mainBody.GetComponent <BodyCollision>();

        //Create Limb objects that can control the joint movements
        limbs = new Limb[jointObjects.Length];
        for (int i = 0; i < jointObjects.Length; i++)
        {
            limbs[i] = new Limb(jointObjects[i]);
        }

        fitness = 0;
        alive   = true;

        startingPos = mainBody.transform.position;
        previousPos = mainBody.transform.position;


        //Create target position for the creature based on selected training type
        switch (trainingType)
        {
        case TrainingType.forward:
            target = new Vector3(startingPos.x, startingPos.y, startingPos.z + 10000);
            break;

        case TrainingType.backward:
            target = new Vector3(startingPos.x, startingPos.y, startingPos.z - 10000);
            break;

        case TrainingType.left:
            target = new Vector3(startingPos.x - 10000, startingPos.y, startingPos.z);
            break;

        case TrainingType.right:
            target = new Vector3(startingPos.x + 10000, startingPos.y, startingPos.z);
            break;
        }

        startingDistanceToTarget = Vector3.Distance(startingPos, target);

        //Check if alive after the given training time has expired
        Invoke("checkIfAlive", trainingTime);

        //Finished initialising
        finishedInit = true;
    }
Exemple #2
0
    void SetCurrentCollisionState(playerCollisionStates pcs)
    {
        switch (pcs)
        {
        case playerCollisionStates.Invulnerable:
            bodyCollision = PushNoHit;
            break;

        case playerCollisionStates.Vulnerable:
            if (currentPlayerState != playerStates.BoostOnEndDrag && currentPlayerState != playerStates.InBoost &&
                currentPlayerState != playerStates.BoostStarted)
            {
                bodyCollision = HitPush;
            }
            else
            {
                bodyCollision = PushNoHit;
            }
            break;

        default:
            break;
        }
    }