void SetinitialReferences() { energyGroup = new GameObject(); gameManagerMaster = GameObject.Find("GameManager").GetComponent <GameManagerScript>(); speedVelocity = minSpeedVelocity; cam = Camera.main; touchPos = transform.GetChild(0).gameObject; fingerParticle = touchPos.GetComponent <ParticleSystem>(); touchCenter = transform.GetChild(1).gameObject; playerObj = GameObject.Find("Player"); playerAnim = playerObj.transform.parent.transform.GetChild(1).GetChild(0).GetComponent <Animator>(); playerRb = playerObj.GetComponent <Rigidbody2D>(); for (int i = 0; i < turnAngles.Count; i++) { turnAngles[i] = 0; } for (int l = 0; l < 10; l++) { turnSize.Add(0); } gameManagerMaster.CallMyLightControl(0); maxSpeedDif = 0; goStrength = minSpeedVelocity; isMove = false; speed = 0; speedNow = 0; rotAngle = 0; rot = new Quaternion(0, 0, 0, 0); speedPin = GameObject.Find("Speed_Pin"); }
void MoveComparedToGround() { if (isMove) { //float pidForce = (-goStrength * speedNow) * ( (playerRb.velocity.magnitude+1)/ (speedVelocity + maxSpeedDif)); playerRb.AddForce(playerAnim.gameObject.transform.right * (-goStrength * speedNow)); //playerRb.AddForce(playerAnim.gameObject.transform.right * pidForce); //playerRb.velocity = Vector3.ClampMagnitude(playerRb.velocity, speedVelocity); playerRb.velocity = Vector3.ClampMagnitude(playerRb.velocity, (speedVelocity + maxSpeedDif)); gameManagerMaster.CallMyLightControl(playerRb.velocity.magnitude / (speedVelocity + maxSpeedDif)); //Debug.Log(playerRb.velocity.magnitude); } }