コード例 #1
0
    void CheckTile()
    {
        RaycastHit hit;


        if (car_state.carState != csCarState.CARSTATE.CLIMBING)
        {
            if (Physics.Raycast(transform.position + new Vector3(0, -0.04f, 0), -transform.up, out hit, 1.0f))
            {
                if (hit.collider.gameObject.tag == "Water")
                {
                    if (car_state.carState != csCarState.CARSTATE.RECOVERY)
                    {
                        GameObject W_Particle = Instantiate(Water_Particle) as GameObject;
                        W_Particle.transform.position = gameObject.transform.position;
                        Destroy(W_Particle, 0.5f);
                        car_state.carState = csCarState.CARSTATE.WATER;
                    }
                }

                if (hit.collider.gameObject.tag == "Stage2_Water")
                {
                    if (car_state.carState != csCarState.CARSTATE.RECOVERY)
                    {
                        GameObject W_Particle = Instantiate(Water_Particle) as GameObject;
                        W_Particle.transform.position = gameObject.transform.position;
                        Destroy(W_Particle, 0.5f);
                        car_state.carState = csCarState.CARSTATE.WATER_Sixty;
                    }
                }

                else if (hit.collider.gameObject.tag == "Floor")
                {
                    if (car_state.carState != csCarState.CARSTATE.DETOUR && car_state.carState != csCarState.CARSTATE.RECOVERY &&
                        car_state.carState != csCarState.CARSTATE.BIG_JUMP_READY && car_state.carState != csCarState.CARSTATE.BIG_JUMP)
                    {
                        car_state.carState = csCarState.CARSTATE.RUN;
                    }
                }
                else if (hit.collider.gameObject.tag == "Bomb_Area")
                {
                    hit.collider.gameObject.SetActive(false);
                    car_state.carState = csCarState.CARSTATE.STUN;
                }
                else if (hit.collider.tag == "Recovery_Area")
                {
                    StartCoroutine(car_state.BlinkEffect());
                    car_state.carState = csCarState.CARSTATE.RECOVERY;
                }
            }
        }

        Debug.DrawRay((transform.position) + new Vector3(0, -0.04f, 0), -transform.up * 1, Color.red);
    }