public void FireTransition(GraphTransition transitionToFire) { transitionToFire.TransitionIsFired(); if (transitionToFire.GetNodeFrom() == m_token) { m_token = transitionToFire.GetNodeTo(); if (m_token.GetNodeType() == NODE_TYPE.ROOM_TYPE) { Room currentRoom = (Room)m_token; List <GraphTransition> outGoingTransitions = currentRoom.GetOutgoingTransitions(); foreach (GraphTransition currentTransition in outGoingTransitions) { if (currentTransition.ShouldBeAutomaticallyFired()) { // GenericLog.Log("heyaaaaaaa2"); FireTransition(currentTransition); return; } } foreach (string soundName in transitionToFire.GetTransitionSound()) { m_informationManager.AddTransitionSoundsToPlay(soundName); } } } }
public bool IsTransitionEventReady(GraphTransition transition) { foreach (string currentEvent in transition.GetRequieredEvents()) { if (!HasEvent(currentEvent)) { return(false); } } foreach (string currentEvent in transition.GetBlockingEvents()) { if (HasEvent(currentEvent)) { return(false); } } return(true); }
public void ComputeTransitionEvent(GraphTransition transition) { /* foreach (string currentEvent in transition.GetEventsToAdd()) * { * AddEvent(currentEvent); * } * * foreach (string currentEvent in transition.GetEventsToRemove()) * { * RemoveEvent(currentEvent); * }*/ foreach (string currentEvent in transition.PopEventsToAdd()) { AddEvent(currentEvent); } foreach (string currentEvent in transition.PopEventsToRemove()) { RemoveEvent(currentEvent); } }
public void AddIngoingTransition(GraphTransition inTransition) { m_ingoingTransitions.Add(inTransition); }
public void AddOutgoingTransition(GraphTransition outTransition) { m_outgoingTransitions.Add(outTransition); }