8 using UnityEngine.Events;
9 using System.Collections;
11 namespace Valve.VR.InteractionSystem
16 public UnityEvent onTakeDamage;
18 public bool onceOnly =
false;
19 public Transform targetCenter;
21 public Transform baseTransform;
22 public Transform fallenDownTransform;
23 public float fallTime = 0.5f;
25 const float targetRadius = 0.25f;
27 private bool targetEnabled =
true;
31 private void ApplyDamage()
38 private void FireExposure()
45 private void OnDamageTaken()
49 onTakeDamage.Invoke();
50 StartCoroutine( this.FallDown() );
54 targetEnabled =
false;
61 private IEnumerator FallDown()
65 Quaternion startingRot = baseTransform.rotation;
67 float startTime = Time.time;
72 rotLerp = Util.RemapNumberClamped( Time.time, startTime, startTime + fallTime, 0f, 1f );
73 baseTransform.rotation = Quaternion.Lerp( startingRot, fallenDownTransform.rotation, rotLerp );