예제 #1
0
    void FixedUpdate()
    {
        thisPosition = thisTrans.position;
        if (GamePlayController.isGameEnded)
        {
            return;
        }
        switch (currentCarState)
        {
        case carStates.OnRoad:
            carOnRoad();
            break;

        case carStates.OnAir:
            CarFlying();
            currentCarState = carStates.OnAirWait;
            break;

        case carStates.OnAirWait:
            GetComponent <Rigidbody>().position = new Vector3(lanePosition, carJump_Height, GetComponent <Rigidbody>().position.z);
            break;

        case carStates.idle:
            break;
        }
    }
예제 #2
0
 void OnTriggerEnter(Collider c)
 {
     if (c.GetComponent <Collider>().name.Contains("Trigger"))
     {
         currentCarState = carStates.OnAir;
     }
 }
예제 #3
0
    void OnEnable()
    {
        mainCam        = GameObject.FindGameObjectWithTag("MainCamera");
        skidMarksscrip = GameObject.FindGameObjectWithTag("Player").GetComponent <drawSkidmarks> ();
        GetComponent <Rigidbody>().constraints = RigidbodyConstraints.FreezeRotation;
        rotation = gameObject.transform.eulerAngles;
                                #if UNITY_WEBPLAYER || UNITY_EDITOR
        tilt = tilt * 2;                       //car is shaking toomuch in device ,due to non-Smooth acceleration value
        //no problem in webplayer
                                #endif
        thisTrans  = transform;
        mainCamera = Camera.main;
        foreach (Transform t in gameObject.GetComponentsInChildren <Transform>())
        {
            if (t.name.Contains("Effect"))
            {
                particleParent = t.gameObject;
            }
        }

        isDoubleSpeed = 1;

        camScript             = Camera.main.GetComponent <carCamera> ();
        camScript.targetTrans = thisTrans;
        currentCarState       = carStates.OnRoad;
        currentCarLane        = RoadLanes.two;
    }
예제 #4
0
 void Update()
 {
     audio.pitch = map(rg.velocity.magnitude, 0, 16, 0.8f, 2.3f);
     audio.clip  = carSounds[(int)carState];
     if (carState != lastCarState)
     {
         lastCarState = carState;
         audio.Play();
     }
 }
예제 #5
0
    void OnEnable()
    {
        PoliceCarinstantiation_Back();
        int randomValue_Mode = Random.Range(0, 8);

        thisTrans       = transform;
        isDoubleSpeed   = 1;
        playercarScript = GameObject.FindGameObjectWithTag("Player").GetComponent <playerCarControl> ();
        currentCarState = carStates.OnRoad;
        currentCarMode  = policeCarMode.avoid;
        BlueLight_Enable();
        InvokeRepeating("PoliceCarMode_Change", 10f, 20f);

        policeCarSound.volume = 0.3f;
    }
예제 #6
0
    void OnCollisionEnter(Collision incomingCollision)
    {
        string incTag = incomingCollision.collider.tag;

        if (incTag.Contains("trafficCar") || incTag.Contains("policeCar") || incTag.Contains("Player"))
        {
            carSpeed = 0;

            wheelSpeed    = 0;
            isDoubleSpeed = 0;
            turnSpeed     = 0;

            GetComponent <Rigidbody>().constraints = RigidbodyConstraints.FreezeAll;
            GameObject trafficCar = incomingCollision.collider.gameObject;
            trafficCar.SendMessage("StopCar", SendMessageOptions.DontRequireReceiver);             //to stop the car
            //iTween.RotateTo (trafficCar,new Vector3(0,0,0), 1.0f);
            Destroy(gameObject, 3f);
            policeCarSound.volume = 0;
            currentCarState       = carStates.idle;
            currentCarMode        = policeCarMode.idle;
        }
    }
예제 #7
0
 public void changeCarState()
 {
     currentCarState = carStates.OnRoad;
 }
예제 #8
0
 void CarSuspention()
 {
     currentCarState = carStates.OnRoad;
 }