src/FingersDance.ActionFactory/ActionGenerator.cs
author PAMPHILE Jonathan <pamphile@efrei.fr>
Mon, 14 Sep 2009 23:49:47 +0200
changeset 54 c724ac229181
child 75 99d003723474
permissions -rw-r--r--
Singleton de la factory Menu XML intégré avec treeview
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
54
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
     1
using System;
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
     2
using System.Collections.Generic;
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
     3
using System.Linq;
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
     4
using System.Text;
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
     5
using FingersDance.Actions;
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
     6
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
     7
namespace FingersDance.ActionFactory
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
     8
{
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
     9
    public class ActionGenerator
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    10
    {
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    11
        private Dictionary<String, Type> actionDict = new Dictionary<string, Type>();
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    12
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    13
        public ActionGenerator()
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    14
        {
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    15
            actionDict.Add("ActionPlayMedia", typeof(FingersDance.Actions.ActionPlayMedia));
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    16
            actionDict.Add("ActionShowMessage", typeof(FingersDance.Actions.ActionShowMessage));
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    17
            actionDict.Add("ActionOpenMedia", typeof(FingersDance.Actions.ActionOpenMedia));
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    18
            actionDict.Add("ActionStopMedia", typeof(FingersDance.Actions.ActionStopMedia));            
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    19
        }
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    20
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    21
        public ActionBase GetAction(string T, object Args)
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    22
        {
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    23
            return (ActionBase)Activator.CreateInstance(actionDict[T]);
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    24
        }
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    25
    }
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    26
}