diff -r 1ec0ef228158 -r 0662bd606c28 src/FingersDance.ActionFactory/ActionFactory.cs --- a/src/FingersDance.ActionFactory/ActionFactory.cs Tue Sep 15 13:30:58 2009 +0200 +++ b/src/FingersDance.ActionFactory/ActionFactory.cs Tue Sep 15 14:13:37 2009 +0200 @@ -3,25 +3,23 @@ using System.Linq; using System.Text; using FingersDance.Control.Player; -using FingersDance.Actions; namespace FingersDance.ActionFactory { public class ActionFactory { - private Dictionary actionDict = new Dictionary(); + private static ActionGenerator _Factory; public ActionFactory() + { } + + public ActionGenerator GetGenerator() { - actionDict.Add("ActionPlayMedia", typeof(FingersDance.Actions.ActionPlayMedia)); - actionDict.Add("ActionShowMessage", typeof(FingersDance.Actions.ActionShowMessage)); - actionDict.Add("ActionOpenMedia", typeof(FingersDance.Actions.ActionOpenMedia)); - actionDict.Add("ActionStopMedia", typeof(FingersDance.Actions.ActionStopMedia)); - } - - public ActionBase GetAction(string T, object Args) - { - return (ActionBase)Activator.CreateInstance(actionDict[T]); + if (_Factory == null) + { + _Factory = new ActionGenerator(); + } + return _Factory; } } }