Example #1
0
        private void OnTriggerEnter(Collider other)
        {
            GameObject target = other.GetPhysicsRoot().gameObject;
            ConditionContainer container = target.GetOrAddComponent<ConditionContainer>();
            if (container != null)
                container.AddCondition(condition);

            if (durationType == DurationType.SpecificDuration)
                Invoker.Invoke(() => container.RemoveCondition(condition), new Hourglass(duration, Hourglass.CountdownType.ScaledTime));
        }
Example #2
0
 private void OnTriggerExit(Collider other)
 {
     if (durationType == DurationType.WhileInTrigger)
     {
         GameObject target = other.GetPhysicsRoot().gameObject;
         ConditionContainer container = target.GetComponent<ConditionContainer>();
         if (container != null)
             container.RemoveCondition(condition);
     }
 }
Example #3
0
 private void AttemptDamage(Collider target)
 {
     interimDamageInfo = BuildDamageInfo(target);
     IEnumerable<DamageReceiver> list = target.GetPhysicsRoot().GetComponents<DamageReceiver>();
     foreach (DamageReceiver c in list) { c.RequestHandshake(this); }
 }