}//Add(Trigger) /// <summary> /// Adds the trigger. /// For smoothly "Remove trigger" execute "ATrigger.Repeat = 0;" /// Because that is a Remove, which can occur within trigger /// execution. Otherwise you get an error. /// </summary> /// <param name="newTrigger">New trigger.</param> public void Add(string gameName, ATrigger trigger) { Log.Info("-------------- Add trigger to game:" + gameName); //if a gamename not specified use the current active one GMGame game = (GMGame)gameList[gameName]; if(game == null) { Log.Error("Game not exist:"+gameName); Log.Error("Games :"+gameList.Count); for(int i =0; i < gameList.Count; i++) Log.Info("i:"+gameList[i]); } game.AddTrigger(trigger); }//Add(gameName, Trigger)
/// <summary> /// Removes the trigger. /// </summary> /// <param name="oldTrigger">Old trigger.</param> public void RemoveTrigger(ATrigger oldTrigger) { triggerListToRemove.Add(oldTrigger); }
}//Update() /// <summary> /// Adds the trigger to the current game. /// For smoothly "Remove trigger" execute "ATrigger.Repeat = 0;" /// Because that is a Remove, which can occur within trigger /// execution. Otherwise you get an error. /// </summary> /// <param name="newTrigger">New trigger.</param> public void Add(ATrigger trigger) { Add(DialogGame.Name, trigger); }//Add(Trigger)
/// <summary> /// Add one trigger. /// </summary> /// <param name="newTrigger">New trigger.</param> public void AddTrigger(ATrigger newTrigger) { //dont use triggerList directly, because this could cause //problems when a trigger try to add another trigger. triggerListToAdd.Add(newTrigger); //sort it by priority //triggerList = (from t in triggerList orderby t.Priority descending select t).ToList(); }