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; }
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; } }