public void RegisterAction(string actionName, BaseActionCreator creator) { if (GetActionCreator(actionName) != null) { throw new Exception(string.Format("Action with '{0)' name already exist", actionName)); } ActionsData.Add(actionName, creator); }
public IAction CreateAction(string actionString) { string[] actionData = actionString.Split(new[] { ' ' }, 2, StringSplitOptions.RemoveEmptyEntries); var actionName = actionData[0].ToLower(); var actionParameters = actionData.Length > 1 ? actionData[1] : string.Empty; BaseActionCreator creator = GetActionCreator(actionName); return(creator?.CreateAction(Item, MapDataProvider, actionParameters)); }