Esempio n. 1
0
        /// <summary>
        /// Given an MmResponder, extract an MmRelayNode from it's GameObject, if one is present.
        /// </summary>
        /// <param name="iMmResponder">Observed MmResponder</param>
        /// <returns>an MmRelayNode if one is present on the same GameObject.</returns>
        public static MmRelayNode GetRelayNode(IMmResponder iMmResponder)
        {
            var relayNode = ((MonoBehaviour)iMmResponder).GetComponent <MmRelayNode>();

            if (relayNode != null)
            {
                return(relayNode);
            }
            else
            {
                MmLogger.LogError("Could not get MmRelayNode");
                return(null);
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Overrides MmRelayNode's Selected check to handle the FSM's current state.
 /// </summary>
 /// <param name="selectedFilter"><see cref="SelectedCheck"/></param>
 /// <param name="responder">Observed MmResponder.</param>
 /// <returns></returns>
 protected override bool SelectedCheck(MmSelectedFilter selectedFilter, IMmResponder responder)
 {
     return(selectedFilter == MmSelectedFilter.All ||
            (RespondersFSM.Current != null &&
             responder.MmGameObject == RespondersFSM.Current.Responder.MmGameObject));
 }
Esempio n. 3
0
 /// <summary>
 /// Determine if MmResponder passes MmRelayNode active filter check using value embedded in MmMessage.
 /// </summary>
 /// <param name="activeFilter">Active filter value extracted from MmMessage.</param>
 /// <param name="responder">Observed MmResponder</param>
 /// <returns>Returns whether observed MmResponder has passed active filter check.</returns>
 protected virtual bool ActiveCheck(MmActiveFilter activeFilter,
                                    IMmResponder responder)
 {
     return((activeFilter == MmActiveFilter.All) ||
            (activeFilter == MmActiveFilter.Active && responder.MmGameObject.activeInHierarchy));
 }
Esempio n. 4
0
 /// <summary>
 /// Determine if MmResponder passes MmRelayNode selected filter check using value embedded in MmMessage.
 /// </summary>
 /// <param name="selectedFilter">Selected filter value extracted from MmMessage.</param>
 /// <param name="responder">Observed MmResponder</param>
 /// <returns>Returns whether observed MmResponder has passed selected filter check.
 /// In base MmRelayNode, this always returns true.</returns>
 protected virtual bool SelectedCheck(MmSelectedFilter selectedFilter,
                                      IMmResponder responder)
 {
     return(true);
 }
Esempio n. 5
0
 /// <summary>
 /// Determine if MmResponder passes MmRelayNode level filter check using value embedded in MmMessage.
 /// </summary>
 /// <param name="levelFilter">Level filter value extracted from MmMessage.</param>
 /// <param name="responder">Observed MmResponder.</param>
 /// <param name="responderLevel">Observed MmResponder Level.</param>
 /// <returns>Returns whether observed MmResponder has passed level filter check.</returns>
 protected virtual bool LevelCheck(MmLevelFilter levelFilter,
                                   IMmResponder responder, MmLevelFilter responderLevel)
 {
     return((levelFilter & responderLevel) > 0);
 }