void OnCollisionEnter(Collision collision) { if (collision.collider.gameObject.tag.Equals("EnergyBlade") && !disrupted) { EnergyBlade blade = collision.collider.gameObject.GetComponent <EnergyBlade>(); if (blade != null) { //otherBlade = blade; if (offenseMode && !disrupted && powerLevel > 0) { float localHitpoint = fullBladeTransform.InverseTransformPoint(collision.contacts[0].point).y; float newPowerLevel = 50 * localHitpoint + 50; if (newPowerLevel < 95 && newPowerLevel > 10 && newPowerLevel < powerLevel) { StartCoroutine(DisruptBlade(newPowerLevel)); } else if (newPowerLevel <= 10) { StartCoroutine(DisruptBlade(0)); } } } else { print("Error: Blade Collided with something tagged as 'EnergyBlade' but didn't have an EnergyBlade component script attached"); } } }
// Use this for initialization void Start() { mrs = GetComponentsInChildren <MeshRenderer>(); headMat = mrs[0].material; bodyMat = mrs[1].material; regColor = headMat.color; actorScript = GetComponent <TestCustomActor>(); leftTrackable = playerLeftHand.GetComponent <TrackableObject>(); rightTrackable = playerRightHand.GetComponent <TrackableObject>(); leftBlade = playerLeftHand.GetComponentInChildren <EnergyBlade>(); rightBlade = playerRightHand.GetComponentInChildren <EnergyBlade>(); leftHandLabel = "L" + playerIndex; rightHandLabel = "R" + playerIndex; SyncVarsWithActorScript(); //VRHead = GameObject.FindGameObjectWithTag("MainCamera"); /* * if (isBuildPlayer) { * mrs[0].enabled = false; * } */ }
void OnTriggerStay(Collider col) { if (col.gameObject.tag == "EnergyBlade") { EnergyBlade otherBlade = col.gameObject.GetComponent <EnergyBlade>(); if (!otherBlade.Equals(pc.GetLeftBlade()) && otherBlade.IsOffensive() && !damaged) { StartCoroutine(pc.HitByBlade()); } } }
void OnTriggerStay(Collider col) { if (isBuildPlayer && col.gameObject.tag == "EnergyBlade") { EnergyBlade otherBlade = col.gameObject.GetComponent <EnergyBlade>(); if (otherBlade != null && !otherBlade.Equals(leftBlade) && !otherBlade.Equals(rightBlade) && otherBlade.IsOffensive() && !damaged) { StartCoroutine(HitByBlade()); } } }