Exemple #1
0
    public void triggerEvent(AIEvent newAIEvent)
    {
        if (newAIEvent.ToBroadCastSawEvent && !newAIEvent.IsObservationEvent)
        {
            newAIEvent.IsObservationEvent = true;
            GetComponent <Observable>()?.BroadcastToObserver(newAIEvent);
        }

        foreach (Goal g in GoalList)
        {
            g.triggerEvent(newAIEvent);
        }

        if (m_currentTask != null)
        {
            m_currentTask.TriggerEvent(newAIEvent);
            foreach (Transition t in GenericTransitions[m_currentTask.MyTaskType])
            {
                t.OnTriggerEvent(newAIEvent);
            }
        }

        if (!m_events.ContainsKey(newAIEvent.GetType()))
        {
            return;
        }
        foreach (AIEventCallback f in m_events[newAIEvent.GetType()])
        {
            f(newAIEvent);
        }
    }
Exemple #2
0
 //public virtual void triggerEvent(string eventName, List<System.Object> args)
 //{
 //    if (!m_events.ContainsKey(eventName))
 //        return;
 //    foreach (AITaskCallback f in m_events[eventName])
 //    {
 //        f(args);
 //    }
 //}
 public virtual void triggerEvent(AIEvent aie)
 {
     if (!m_events.ContainsKey(aie.GetType()))
     {
         return;
     }
     foreach (AIEventCallback f in m_events[aie.GetType()])
     {
         f(aie);
     }
 }
Exemple #3
0
 protected void generalDangerDisguiseFactors(AIEvent newEvent, Observer observer)
 {
     System.Type t = newEvent.GetType();
     if (t == typeof(AIEVItemGet))
     {
         OnItemGet((AIEVItemGet)newEvent, observer);
     }
     else if (t == typeof(AIEVSeenByObserver))
     {
         OnSight((AIEVSeenByObserver)newEvent, observer);
     }
 }
Exemple #4
0
    public override void OnTriggerEvent(AIEvent aie)
    {
        if (aie.GetType() != typeof(AIEVSawRelationshipUpdate))
        {
            return;
        }
        AIEVSawRelationshipUpdate newAIE = (AIEVSawRelationshipUpdate)aie;
        bool b = LogicManager.IsA(newAIE.ObservedObj, SawItemOfTypes, GetComponent <Observer>());

        if (b)
        {
            TriggerTransition();
        }
    }
Exemple #5
0
 public override void ReactToEvent(AIEvent newEvent, Observer observer)
 {
     base.ReactToEvent(newEvent, observer);
     Debug.Log("Reacting to event: " + newEvent.GetType().ToString());
     generalDangerDisguiseFactors(newEvent, observer);
 }