public void PlayOnce()
 {
     Transform[] componentsInChildren = base.GetComponentsInChildren <Transform>(true);
     foreach (Transform transform in componentsInChildren)
     {
         DelayPlay component = transform.GetComponent <DelayPlay>();
         if (component != null)
         {
             if (component.delayTime >= 0f)
             {
                 component.InvokePlay();
             }
         }
         else
         {
             this.PlayOnce(transform.gameObject);
         }
     }
 }
 public void PlayOnce()
 {
     //PlaySelf(gameObject, false);
     Transform[] trans = GetComponentsInChildren <Transform>(true);
     foreach (Transform t in trans)
     {
         DelayPlay d = t.GetComponent <DelayPlay>();
         if (d != null)
         {
             if (d.delayTime >= 0)
             {
                 d.InvokePlay(false, false);
             }
         }
         else
         {
             PlaySelf(t.gameObject, false);
         }
     }
 }