public void AddComponentWithExistingDefine() { Game game = new Game("Test Game"); Using use = new Using() { File = Path.GetFileName(typeof(TransformComponent).Assembly.Location) }; game.AddUsing(use); Define define = new Define(TransformComponentShort, TransformComponentType); use.AddDefine(define); Entity entity = new Entity() { Name = "entity" }; Component component = new Component(game.GetPlugin(TransformComponentShort)); entity.AddComponent(component); game.AddPrototype(entity); Assert.AreEqual(1, game.Usings.Count); Assert.AreEqual(1, game.Usings.Single().Defines.Count(x => x.Name == TransformComponentShort && x.Class == TransformComponentType)); Assert.AreEqual(TransformComponentShort, component.Type); }
private Using CreateUsing(ParseTreeNode node) { Using use = new Using() { File = node.ChildNodes.First(child => child.Term == grammar.ClassName).Token.ValueString }; IEnumerable<ParseTreeNode> defines = grammar.GetOfType(node, grammar.Definitions); foreach (ParseTreeNode define in defines) { string className = define.ChildNodes.First(child => child.Term == grammar.ClassName).Token.ValueString; use.AddDefine(new Define(grammar.GetName(define), className)); } return use; }
private static void addDefaults(Using uses, List<string> defaults, string type) { foreach (string defaultName in defaults) uses.AddDefine(new Define(defaultName, "Kinectitude.Core." + type + "s." + defaultName + type)); }
public void GetDefinedPlugin() { Game game = new Game("Test Game"); Using use = new Using() { File = "Kinectitude.Core.dll" }; use.AddDefine(new Define(TransformComponentShort, TransformComponentType)); game.AddUsing(use); Plugin plugin = game.GetPlugin(TransformComponentShort); Assert.IsNotNull(plugin); Assert.AreEqual(TransformComponentType, plugin.ClassName); }