/// <summary> /// Processes the message. /// </summary> /// <param name="children">Children.</param> /// <param name="parent">Parent.</param> /// <param name="message">Message.</param> public static void ProcessMessage(List <HydraMonoBehaviourChild> children, HydraMonoBehaviour parent, Message message) { for (int index = 0; index < children.Count; index++) { HydraMonoBehaviourChild child = children[index]; if (child == null) { continue; } switch (message) { case Message.OnUpdate: child.Update(parent); break; case Message.OnDestroy: child.Destroy(parent); break; case Message.OnDisable: child.Disable(parent); break; case Message.OnEnable: child.Enable(parent); break; case Message.OnReset: child.Reset(parent); break; default: throw new ArgumentOutOfRangeException(); } } }
/// <summary> /// Processes the message. /// </summary> /// <param name="message">Message.</param> private void ProcessMessage(HydraMonoBehaviourChild.Message message) { HydraMonoBehaviourChild.ProcessMessage(GetMonoBehaviourChildren(), this, message); }