using UnityEngine;
using UnityEngine.UI;
using CnControls;
using System.Collections;
public class car : MonoBehaviour {
public Transform centerOfMass;
public Transform steerWheel;
public float steerAngle;
public Camera[] cam;
public GameObject Steerwheel;
public GameObject[] backLights;
public GameObject hands;
public Color color;
public float Cdrag=0.2f;
public float Fdrag;
public int maxTorque ;
public int maxTorqueValue;
public int maxBrakeTorque ;
public float MaxWheelRotateAngle= 14;
public float lowestSpeedAtSteer = 45;
public float lowSpeedSteerAngle = 32;
public float highSpeedSteerAngle = 1;
public float torque;
public float steerWheelAngle;
public float steerWheelRotateFactor=1;
public bool braked;
public WheelCollider WheelFrontRight;
public WheelCollider WheelFrontLeft;
public WheelCollider WheelRearRight;
public WheelCollider WheelRearLeft;
public Text MissionScoreText;
public Text levelSpeedtext;
public static int tempScore1;
public GameObject wheelFR;
public GameObject wheelFL;
public GameObject wheelRR;
public GameObject wheelRL;
public GameObject Gamewin;
public GameObject Pausemenu;
public GameObject Sensormode;
public GameObject Buttonmode;
public float speed;
float oldAngle=0;
float newAngle=0;
float timer=0;
float angleChangeTimer=0;
float steerwheelOffset=0;
int i;
Quaternion rot;
int gMode;
void Awake()
{ //PlayerPrefs.DeleteAll ();
scoresaved = false;
adObj.SetActive (false);
if (PlayerPrefs.GetInt ("Brake") != 0) {
maxBrakeTorque = PlayerPrefs.GetInt ("Brake") + 1;
} else {
maxBrakeTorque = 1;
}
Debug.Log (maxBrakeTorque);
if (InventryManager.Speed2 == 1) {
speed = PlayerPrefs.GetInt ("CarSpeed");
topSpeed = PlayerPrefs.GetInt ("TopSpeed");
} else if (InventryManager.Speed2 == 2) {
speed = PlayerPrefs.GetInt ("CarSpeed");
topSpeed = PlayerPrefs.GetInt ("TopSpeed");
} else if (InventryManager.Speed2 == 3) {
speed = PlayerPrefs.GetInt ("CarSpeed");
topSpeed = PlayerPrefs.GetInt ("TopSpeed");
} else if (InventryManager.Speed2 == 4) {
speed = PlayerPrefs.GetInt ("CarSpeed");
topSpeed = PlayerPrefs.GetInt ("TopSpeed");
} else if (InventryManager.Speed2 == 5) {
speed = PlayerPrefs.GetInt ("CarSpeed");
topSpeed = PlayerPrefs.GetInt ("TopSpeed");
} else {
topSpeed = 60;
}
gMode = PlayerPrefs.GetInt ("CONTROL");
if (gMode == 0) {
Sensormode.SetActive (true);
} else {
Sensormode.SetActive (false);
}
}
void Start () {
maxTorque = maxTorqueValue;
GetComponent<Rigidbody>().centerOfMass = centerOfMass.localPosition;
// color=backLights[0].GetComponent<Renderer>().material.GetColor("_TintColor");
rot=steerWheel.transform.rotation;
hands.SetActive(false);
}
void Update () {
//CameraSwitch();
control();
//steerWheel.transform.localRotation=rot * Quaternion.Euler(new Vector3(0,steerAngle,0));
}
void FixedUpdate () {
HandBrake();
Fdrag=Cdrag*Mathf.Pow(speed,2);
WheelOffset(wheelFL, WheelFrontLeft);
WheelOffset(wheelFR, WheelFrontRight);
WheelOffset(wheelRL, WheelRearLeft);
WheelOffset(wheelRR, WheelRearRight);
//for(int i=0;i<backLights.Length;i++)
// backLights[i].GetComponent<Renderer>().material.SetColor("_TintColor",color);
}
public int topSpeed;
void control (){
torque = maxTorque * (CnInputManager.GetAxis ("Vertical"));
if (CnInputManager.GetAxis ("Vertical") < 0 && speed > 20)
torque = 0;
torque -= Fdrag;
if ((int)speed < topSpeed) {
WheelRearRight.motorTorque = torque;
WheelRearLeft.motorTorque = torque;
WheelFrontRight.motorTorque = torque;
WheelFrontLeft.motorTorque = torque;
} else {
WheelRearRight.motorTorque = 0;
WheelRearLeft.motorTorque = 0;
WheelFrontRight.motorTorque = 0;
WheelFrontLeft.motorTorque = 0;
}
SteerWheelControl ();
}
void LateUpdate()
{
speed=GetComponent<Rigidbody>().velocity.magnitude*3.6f;
if((int)speed < topSpeed - 1 ){
levelSpeedtext.text = "Speed : " +(int)speed;
}else{
levelSpeedtext.text = "Speed : " + topSpeed;
}
if (Input.GetKeyDown(KeyCode.Escape)) {
Time.timeScale = 0;
Pausemenu.SetActive (true);
Buttonmode.SetActive(false);
//Sensormode.SetActive(false);
adObj.SetActive (true);
}
}
void SteerWheelControl(){
if(gMode == 0)
{
//Sensormode.SetActive (true);
if(angleChangeTimer<0){
steerwheelOffset=Random.Range(-0.4f,0.4f)*speed;
angleChangeTimer+=Random.Range(0.2f,1);
}
float speedFactor = (speed/3.6f)/lowestSpeedAtSteer;
float currentSteerAngle = Mathf.Lerp(lowSpeedSteerAngle,highSpeedSteerAngle,speedFactor);
//currentSteerAngle = currentSteerAngle * (float)Input.acceleration.x;
currentSteerAngle *= CnInputManager.GetAxis("Horizontal");
WheelFrontRight.steerAngle = currentSteerAngle;
WheelFrontLeft.steerAngle = currentSteerAngle;
timer+=Time.deltaTime*steerWheelRotateFactor;
newAngle=Mathf.Lerp(oldAngle,(currentSteerAngle*10)+steerwheelOffset, timer);
//steerWheelAngle=currentSteerAngle*10;
steerWheelAngle=newAngle;
steerWheel.transform.localRotation=rot * Quaternion.Euler(new Vector3(0,steerWheelAngle,0));
oldAngle=steerWheelAngle;
if(oldAngle==newAngle)
timer=0;
angleChangeTimer-=Time.deltaTime;
}
else {
//Buttonmode.SetActive (false);
if(angleChangeTimer<0){
steerwheelOffset=Random.Range(-0.4f,0.4f)*speed;
angleChangeTimer+=Random.Range(0.2f,1);
}
float speedFactor = (speed/3.6f)/lowestSpeedAtSteer;
float currentSteerAngle = Mathf.Lerp(lowSpeedSteerAngle,highSpeedSteerAngle,speedFactor);
currentSteerAngle = currentSteerAngle * Input.acceleration.x;
//currentSteerAngle *= CnInputManager.GetAxis("Horizontal");
WheelFrontRight.steerAngle = currentSteerAngle;
WheelFrontLeft.steerAngle = currentSteerAngle;
timer+=Time.deltaTime*steerWheelRotateFactor;
newAngle=Mathf.Lerp(oldAngle,(currentSteerAngle*10)+steerwheelOffset, timer);
//steerWheelAngle=currentSteerAngle*10;
steerWheelAngle=newAngle;
steerWheel.transform.localRotation=rot * Quaternion.Euler(new Vector3(0,steerWheelAngle,0));
oldAngle=steerWheelAngle;
if(oldAngle==newAngle)
timer=0;
angleChangeTimer-=Time.deltaTime;
}
}
void WheelOffset (GameObject model, WheelCollider collider)
{
Quaternion quart;
Vector3 pos;
collider.GetWorldPose(out pos,out quart);
model.transform.position=pos;
model.transform.rotation=quart;
}
public void HandBrake()
{
if (CnInputManager.GetButton ("Jump"))
{
braked = true;
}
else
{
braked = false;
}
if (braked) {
WheelRearLeft.brakeTorque = maxTorqueValue * maxBrakeTorque;
WheelRearRight.brakeTorque = maxTorqueValue * maxBrakeTorque;
WheelFrontLeft.brakeTorque = maxTorqueValue * maxBrakeTorque;
WheelFrontRight.brakeTorque = maxTorqueValue * maxBrakeTorque;
WheelRearRight.motorTorque = 0;
WheelRearLeft.motorTorque = 0;
WheelFrontRight.motorTorque = 0;
WheelFrontLeft.motorTorque = 0;
//gameObject.GetComponent<Rigidbody>().velocity = - gameObject.GetComponent<Rigidbody>().velocity * Time.smoothDeltaTime;
// gameObject.GetComponent<Rigidbody>().angularVelocity = -Vector3.zero * Time.deltaTime;
color.a = 1f;
} else {
WheelRearLeft.brakeTorque = 0;
WheelRearRight.brakeTorque = 0;
WheelFrontRight.brakeTorque = 0;
WheelFrontLeft.brakeTorque = 0;
color.a = 0.5f;
}
}
bool scoresaved;
public int levelLock;
public GameObject adObj;
void OnTriggerEnter(Collider other)
{
if(scoresaved==false)
{
scoresaved = true;
adObj.SetActive (true);
Gamewin.SetActive (true);
Buttonmode.SetActive (false);
if (other.gameObject.tag == "Goal") {
tempScore1 = PlayerPrefs.GetInt ("Coin");
int tempScore = BoxCount.temp18 * 50;
if (BoxCount.temp18 == BoxCount.temp19) {
int tempScore6 = tempScore + 50;
PlayerPrefs.SetInt ("Coin", tempScore1 + tempScore6);
MissionScoreText.text = "Coin : " + tempScore6;
} else {
PlayerPrefs.SetInt ("Coin", tempScore1 + tempScore);
MissionScoreText.text = "Coin : " + tempScore;
}
//level Lock
if (PlayerPrefs.GetInt ("LevelLock") < levelLock) {
PlayerPrefs.SetInt ("LevelLock", levelLock);
}
Time.timeScale = 0;
}
}
}
//======================================Level Buttons Code ===================================================
public void Retry()
{
Application.LoadLevel (Application.loadedLevel);
}
public string NextLevelName;
public void Nextlevel()
{
Application.LoadLevel (NextLevelName);
}
public void MainMenu()
{
Application.LoadLevel ("Main menu");
}
public void Pause()
{
Time.timeScale = 0;
Pausemenu.SetActive (true);
Buttonmode.SetActive(false);
//Sensormode.SetActive(false);
adObj.SetActive (true);
}
public void Resume()
{
Time.timeScale = 1;
Pausemenu.SetActive (false);
Buttonmode.SetActive(true);
}
public void CameraSwitch(){
//if(Input.GetKeyDown(KeyCode.C)){
cam[i].enabled=false;
cam[i].GetComponent<AudioListener>().enabled=false;
i++;
if(i>=cam.Length)
i=0;
cam[i].enabled=true;
cam[i].GetComponent<AudioListener>().enabled=true;
hands.SetActive(i==1);
}
public void Repswan(){
transform.rotation = Quaternion.Euler (new Vector3 (0, 0, 0));
transform.position = new Vector3(gameObject.transform.position.x,gameObject.transform.position.y+5,gameObject.transform.position.z);
gameObject.GetComponent<Rigidbody>().velocity = Vector3.zero;
gameObject.GetComponent<Rigidbody>().angularVelocity = Vector3.zero;
}
}
using UnityEngine.UI;
using CnControls;
using System.Collections;
public class car : MonoBehaviour {
public Transform centerOfMass;
public Transform steerWheel;
public float steerAngle;
public Camera[] cam;
public GameObject Steerwheel;
public GameObject[] backLights;
public GameObject hands;
public Color color;
public float Cdrag=0.2f;
public float Fdrag;
public int maxTorque ;
public int maxTorqueValue;
public int maxBrakeTorque ;
public float MaxWheelRotateAngle= 14;
public float lowestSpeedAtSteer = 45;
public float lowSpeedSteerAngle = 32;
public float highSpeedSteerAngle = 1;
public float torque;
public float steerWheelAngle;
public float steerWheelRotateFactor=1;
public bool braked;
public WheelCollider WheelFrontRight;
public WheelCollider WheelFrontLeft;
public WheelCollider WheelRearRight;
public WheelCollider WheelRearLeft;
public Text MissionScoreText;
public Text levelSpeedtext;
public static int tempScore1;
public GameObject wheelFR;
public GameObject wheelFL;
public GameObject wheelRR;
public GameObject wheelRL;
public GameObject Gamewin;
public GameObject Pausemenu;
public GameObject Sensormode;
public GameObject Buttonmode;
public float speed;
float oldAngle=0;
float newAngle=0;
float timer=0;
float angleChangeTimer=0;
float steerwheelOffset=0;
int i;
Quaternion rot;
int gMode;
void Awake()
{ //PlayerPrefs.DeleteAll ();
scoresaved = false;
adObj.SetActive (false);
if (PlayerPrefs.GetInt ("Brake") != 0) {
maxBrakeTorque = PlayerPrefs.GetInt ("Brake") + 1;
} else {
maxBrakeTorque = 1;
}
Debug.Log (maxBrakeTorque);
if (InventryManager.Speed2 == 1) {
speed = PlayerPrefs.GetInt ("CarSpeed");
topSpeed = PlayerPrefs.GetInt ("TopSpeed");
} else if (InventryManager.Speed2 == 2) {
speed = PlayerPrefs.GetInt ("CarSpeed");
topSpeed = PlayerPrefs.GetInt ("TopSpeed");
} else if (InventryManager.Speed2 == 3) {
speed = PlayerPrefs.GetInt ("CarSpeed");
topSpeed = PlayerPrefs.GetInt ("TopSpeed");
} else if (InventryManager.Speed2 == 4) {
speed = PlayerPrefs.GetInt ("CarSpeed");
topSpeed = PlayerPrefs.GetInt ("TopSpeed");
} else if (InventryManager.Speed2 == 5) {
speed = PlayerPrefs.GetInt ("CarSpeed");
topSpeed = PlayerPrefs.GetInt ("TopSpeed");
} else {
topSpeed = 60;
}
gMode = PlayerPrefs.GetInt ("CONTROL");
if (gMode == 0) {
Sensormode.SetActive (true);
} else {
Sensormode.SetActive (false);
}
}
void Start () {
maxTorque = maxTorqueValue;
GetComponent<Rigidbody>().centerOfMass = centerOfMass.localPosition;
// color=backLights[0].GetComponent<Renderer>().material.GetColor("_TintColor");
rot=steerWheel.transform.rotation;
hands.SetActive(false);
}
void Update () {
//CameraSwitch();
control();
//steerWheel.transform.localRotation=rot * Quaternion.Euler(new Vector3(0,steerAngle,0));
}
void FixedUpdate () {
HandBrake();
Fdrag=Cdrag*Mathf.Pow(speed,2);
WheelOffset(wheelFL, WheelFrontLeft);
WheelOffset(wheelFR, WheelFrontRight);
WheelOffset(wheelRL, WheelRearLeft);
WheelOffset(wheelRR, WheelRearRight);
//for(int i=0;i<backLights.Length;i++)
// backLights[i].GetComponent<Renderer>().material.SetColor("_TintColor",color);
}
public int topSpeed;
void control (){
torque = maxTorque * (CnInputManager.GetAxis ("Vertical"));
if (CnInputManager.GetAxis ("Vertical") < 0 && speed > 20)
torque = 0;
torque -= Fdrag;
if ((int)speed < topSpeed) {
WheelRearRight.motorTorque = torque;
WheelRearLeft.motorTorque = torque;
WheelFrontRight.motorTorque = torque;
WheelFrontLeft.motorTorque = torque;
} else {
WheelRearRight.motorTorque = 0;
WheelRearLeft.motorTorque = 0;
WheelFrontRight.motorTorque = 0;
WheelFrontLeft.motorTorque = 0;
}
SteerWheelControl ();
}
void LateUpdate()
{
speed=GetComponent<Rigidbody>().velocity.magnitude*3.6f;
if((int)speed < topSpeed - 1 ){
levelSpeedtext.text = "Speed : " +(int)speed;
}else{
levelSpeedtext.text = "Speed : " + topSpeed;
}
if (Input.GetKeyDown(KeyCode.Escape)) {
Time.timeScale = 0;
Pausemenu.SetActive (true);
Buttonmode.SetActive(false);
//Sensormode.SetActive(false);
adObj.SetActive (true);
}
}
void SteerWheelControl(){
if(gMode == 0)
{
//Sensormode.SetActive (true);
if(angleChangeTimer<0){
steerwheelOffset=Random.Range(-0.4f,0.4f)*speed;
angleChangeTimer+=Random.Range(0.2f,1);
}
float speedFactor = (speed/3.6f)/lowestSpeedAtSteer;
float currentSteerAngle = Mathf.Lerp(lowSpeedSteerAngle,highSpeedSteerAngle,speedFactor);
//currentSteerAngle = currentSteerAngle * (float)Input.acceleration.x;
currentSteerAngle *= CnInputManager.GetAxis("Horizontal");
WheelFrontRight.steerAngle = currentSteerAngle;
WheelFrontLeft.steerAngle = currentSteerAngle;
timer+=Time.deltaTime*steerWheelRotateFactor;
newAngle=Mathf.Lerp(oldAngle,(currentSteerAngle*10)+steerwheelOffset, timer);
//steerWheelAngle=currentSteerAngle*10;
steerWheelAngle=newAngle;
steerWheel.transform.localRotation=rot * Quaternion.Euler(new Vector3(0,steerWheelAngle,0));
oldAngle=steerWheelAngle;
if(oldAngle==newAngle)
timer=0;
angleChangeTimer-=Time.deltaTime;
}
else {
//Buttonmode.SetActive (false);
if(angleChangeTimer<0){
steerwheelOffset=Random.Range(-0.4f,0.4f)*speed;
angleChangeTimer+=Random.Range(0.2f,1);
}
float speedFactor = (speed/3.6f)/lowestSpeedAtSteer;
float currentSteerAngle = Mathf.Lerp(lowSpeedSteerAngle,highSpeedSteerAngle,speedFactor);
currentSteerAngle = currentSteerAngle * Input.acceleration.x;
//currentSteerAngle *= CnInputManager.GetAxis("Horizontal");
WheelFrontRight.steerAngle = currentSteerAngle;
WheelFrontLeft.steerAngle = currentSteerAngle;
timer+=Time.deltaTime*steerWheelRotateFactor;
newAngle=Mathf.Lerp(oldAngle,(currentSteerAngle*10)+steerwheelOffset, timer);
//steerWheelAngle=currentSteerAngle*10;
steerWheelAngle=newAngle;
steerWheel.transform.localRotation=rot * Quaternion.Euler(new Vector3(0,steerWheelAngle,0));
oldAngle=steerWheelAngle;
if(oldAngle==newAngle)
timer=0;
angleChangeTimer-=Time.deltaTime;
}
}
void WheelOffset (GameObject model, WheelCollider collider)
{
Quaternion quart;
Vector3 pos;
collider.GetWorldPose(out pos,out quart);
model.transform.position=pos;
model.transform.rotation=quart;
}
public void HandBrake()
{
if (CnInputManager.GetButton ("Jump"))
{
braked = true;
}
else
{
braked = false;
}
if (braked) {
WheelRearLeft.brakeTorque = maxTorqueValue * maxBrakeTorque;
WheelRearRight.brakeTorque = maxTorqueValue * maxBrakeTorque;
WheelFrontLeft.brakeTorque = maxTorqueValue * maxBrakeTorque;
WheelFrontRight.brakeTorque = maxTorqueValue * maxBrakeTorque;
WheelRearRight.motorTorque = 0;
WheelRearLeft.motorTorque = 0;
WheelFrontRight.motorTorque = 0;
WheelFrontLeft.motorTorque = 0;
//gameObject.GetComponent<Rigidbody>().velocity = - gameObject.GetComponent<Rigidbody>().velocity * Time.smoothDeltaTime;
// gameObject.GetComponent<Rigidbody>().angularVelocity = -Vector3.zero * Time.deltaTime;
color.a = 1f;
} else {
WheelRearLeft.brakeTorque = 0;
WheelRearRight.brakeTorque = 0;
WheelFrontRight.brakeTorque = 0;
WheelFrontLeft.brakeTorque = 0;
color.a = 0.5f;
}
}
bool scoresaved;
public int levelLock;
public GameObject adObj;
void OnTriggerEnter(Collider other)
{
if(scoresaved==false)
{
scoresaved = true;
adObj.SetActive (true);
Gamewin.SetActive (true);
Buttonmode.SetActive (false);
if (other.gameObject.tag == "Goal") {
tempScore1 = PlayerPrefs.GetInt ("Coin");
int tempScore = BoxCount.temp18 * 50;
if (BoxCount.temp18 == BoxCount.temp19) {
int tempScore6 = tempScore + 50;
PlayerPrefs.SetInt ("Coin", tempScore1 + tempScore6);
MissionScoreText.text = "Coin : " + tempScore6;
} else {
PlayerPrefs.SetInt ("Coin", tempScore1 + tempScore);
MissionScoreText.text = "Coin : " + tempScore;
}
//level Lock
if (PlayerPrefs.GetInt ("LevelLock") < levelLock) {
PlayerPrefs.SetInt ("LevelLock", levelLock);
}
Time.timeScale = 0;
}
}
}
//======================================Level Buttons Code ===================================================
public void Retry()
{
Application.LoadLevel (Application.loadedLevel);
}
public string NextLevelName;
public void Nextlevel()
{
Application.LoadLevel (NextLevelName);
}
public void MainMenu()
{
Application.LoadLevel ("Main menu");
}
public void Pause()
{
Time.timeScale = 0;
Pausemenu.SetActive (true);
Buttonmode.SetActive(false);
//Sensormode.SetActive(false);
adObj.SetActive (true);
}
public void Resume()
{
Time.timeScale = 1;
Pausemenu.SetActive (false);
Buttonmode.SetActive(true);
}
public void CameraSwitch(){
//if(Input.GetKeyDown(KeyCode.C)){
cam[i].enabled=false;
cam[i].GetComponent<AudioListener>().enabled=false;
i++;
if(i>=cam.Length)
i=0;
cam[i].enabled=true;
cam[i].GetComponent<AudioListener>().enabled=true;
hands.SetActive(i==1);
}
public void Repswan(){
transform.rotation = Quaternion.Euler (new Vector3 (0, 0, 0));
transform.position = new Vector3(gameObject.transform.position.x,gameObject.transform.position.y+5,gameObject.transform.position.z);
gameObject.GetComponent<Rigidbody>().velocity = Vector3.zero;
gameObject.GetComponent<Rigidbody>().angularVelocity = Vector3.zero;
}
}
No comments:
Post a Comment