src/FingersDance.ActionFactory/ActionFactory.cs
changeset 54 c724ac229181
parent 44 9c6ea1f246da
child 135 84b3bf5ee3d2
--- a/src/FingersDance.ActionFactory/ActionFactory.cs	Mon Sep 14 17:43:41 2009 +0200
+++ b/src/FingersDance.ActionFactory/ActionFactory.cs	Mon Sep 14 23:49:47 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<String, Type> actionDict = new Dictionary<string, Type>();
+        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;
         }
     }
 }