private void ShootRay() { Debug.DrawRay(transform.position, transform.forward * 10.0f, Color.green); //Debug.DrawRay(transform.position + new Vector3(0.0f, 0.0f, 0.25f), transform.forward * 10.0f, Color.green); //Debug.DrawRay(transform.position + new Vector3(0.0f, 0.0f, -0.25f), transform.forward * 10.0f, Color.green); RaycastHit windRay; // does this work to get multiple rays? if (Physics.Raycast(transform.position, transform.forward, out windRay, 100.0f)) { if (windRay.collider.CompareTag("Bee Enemy")) { Destroy(windRay.collider.gameObject); } if (windRay.collider.attachedRigidbody != null) { if (windRay.collider.GetComponent <MoveByWind>()) { windArea = windRay.collider.gameObject; windArea.GetComponent <Rigidbody>().AddForce(transform.forward * windForce); if (windRay.collider.GetComponent <Player_v5>()) { Player_v5 player = windRay.collider.GetComponent <Player_v5>(); // limit movement speed player.moveSpeed = 0.0f; // set player falling //player.bPlayerFalling = true; // turn off collision with invisible wall player.gameObject.layer = 10; } } } } // raycast through pitfall triggers //RaycastHit[] hits; //hits = Physics.RaycastAll(transform.position, transform.forward, 100.0f); //for (int i = 0; i < hits.Length; i++) //{ // RaycastHit hit = hits[i]; // if (hit.transform.gameObject.layer == 8) // { // //Debug.Log("Turbine::FixedUpdate(), RaycastAll[] hit stone block"); // return; // } // if (hit.collider.GetComponent<MoveByWind>()) { // //Debug.Log("Turbine::FixedUpdate(), RaycastAll[]"); // windArea = hit.collider.gameObject; // windArea.GetComponent<Rigidbody>().AddForce(transform.forward * windForce); // //return; // } //} }
private void Awake() { rb = GetComponent <Rigidbody>(); player = GameObject.FindObjectOfType <Player_v5>(); // setup fade colors oldColor = gameObject.GetComponent <MeshRenderer>().material.color; fadeColor = gameObject.GetComponent <MeshRenderer>().material.color; fadeColor.a = 0.0f; }