private void Update() { if (ThrowMode == null || ThrowFill == null) { return; } ThrowMode.text = "Detonation Mode : " + CurrentMode.ToString(); ThrowFill.fillAmount = ThrowingForce / MaxThrowingTime; if (Input.GetKeyUp(KeyCode.Y)) { if (CurrentMode == DetonationMode.Delay) { CurrentMode = DetonationMode.TriggerAndSticky; } else if (CurrentMode == DetonationMode.Trigger) { CurrentMode = DetonationMode.Delay; } else if (CurrentMode == DetonationMode.None) { CurrentMode = DetonationMode.Trigger; } else if (CurrentMode == DetonationMode.TriggerAndSticky) { CurrentMode = DetonationMode.None; } } if (Input.GetKey(ThrowKey)) { if (ThrowingForce < MaxThrowingTime) { ThrowingForce += Time.deltaTime; } Throwing = true; } if (Input.GetKeyUp(ThrowKey)) { if (Throwing) { GameObject Temp = Instantiate(Projectile, transform.position, Quaternion.identity); if (transform.GetComponentInParent <Collider>() != null) { Physics.IgnoreCollision(Temp.GetComponent <Collider>(), transform.GetComponentInParent <Collider>()); } Temp.GetComponent <Rigidbody>().AddForce(transform.forward * 500 * ThrowingForce); Temp.GetComponent <Rigidbody>().AddRelativeTorque(Vector3.one * Random.Range(0, 360) * 500 * ThrowingForce); Temp.GetComponent <Demo_DetonatorProjectile>().Detonation = CurrentMode; ThrowingForce = 0; } Throwing = false; } }
private void Awake() { CurrentMode = DetonationMode.Delay; }