Implementando uma linguagem de script simples baseada em XML para um jogo XNA

Estou trabalhando com uma equipe em um mecanismo de RPG em C # e XNA. Planejamos segmentar o Windows e o Windows Phone 7, mas estamos enfrentando problemas com as interações de IA e o controle das ações dos jogadores durante as cenas. Na maior parte, tudo é extraído usando o padrão de design MVC, mas abstrair toda a lógica e movimento em um controlador pode causar problemas na linha. Portanto, a idéia é ter uma interface (IScriptEngine) que aceite um IScriptObject e atualize os dados no modelo de mapa de acordo. Eu estava pensando em colocar os scripts em uma espécie de sintaxe XML:

<Script Name="MoveNPC_1"> 
    <Action Command="MoveToTile" Target="NPC_1" Value="10,2"/> 
</Script> 

E faça com que um IScriptEngine analise-o adequadamente. Eu duvido que analisar uma declaração de switch gigante seja uma boa idéia, mas é com isso que tenho trabalhado.

switch(Action.Command)
{
    case "MoveToTile":
      { 
         doMovement(Action.Value, Action.Target); 
         break;
      }
}

Até minha experiência em programação do ensino médio me diz que essa é uma péssima idéia, mas não consigo pensar em outra maneira de contornar isso.

Edit: Gostaria de alguma forma incorporar tudo isso no arquivo de mapa. No arquivo XML do mapa, temos áreas designadas para, que contêm várias tags. Depois, haveria uma seção, indicando onde o NPC está no mapa e quais recursos e scripts ele usaria. Depois, haveria uma seção, onde todas as batalhas seriam definidas (novamente, definindo recursos e quais não) e, possivelmente, uma seção, onde esses scripts seriam definidos. Eu só queria que houvesse uma maneira de compilar C # em tempo real usando o WP7. Se eu pudesse obter apoio de ambos os lados, isso não seria um problema. Gostaria de saber se haveria alguma biblioteca Mono que pudesse ser portada para o WP7 que compartilharia a funcionalidade do CodeDom e de todas as classes do Compiler?

questionAnswers(5)

yourAnswerToTheQuestion