src/FingersDance.ActionFactory/ActionGenerator.cs
author PAMPHILE Jonathan <pamphile@efrei.fr>
Tue, 13 Oct 2009 19:33:13 +0200
changeset 143 9f157d9c725b
parent 75 99d003723474
child 146 dd8ed4d3beb6
permissions -rw-r--r--
MVVM
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));
75
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    18
            actionDict.Add("ActionStopMedia", typeof(FingersDance.Actions.ActionStopMedia));
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    19
143
PAMPHILE Jonathan <pamphile@efrei.fr>
parents: 75
diff changeset
    20
            //actionDict.Add("ActionStartOrEndAnnotation", typeof(FingersDance.Actions.ActionStartOrEndAnnotation));
75
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    21
            actionDict.Add("ActionAddAnnotation", typeof(FingersDance.Actions.ActionAddAnnotation));
54
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
75
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    24
        public ActionBase GetAction(String T, Object Args)
54
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    25
        {
75
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    26
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    27
            try
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    28
            {
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    29
                ActionBase ab = (ActionBase)Activator.CreateInstance(actionDict[T], Args);
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    30
                return ab;
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    31
            }
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    32
            catch (Exception ex) { }
99d003723474 data binding second step. we can add annotation by clicking on menu buttons or timeline.
cavaliet
parents: 54
diff changeset
    33
            return null;
54
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    34
        }
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    35
    }
c724ac229181 Singleton de la factory
PAMPHILE Jonathan <pamphile@efrei.fr>
parents:
diff changeset
    36
}