/// <summary> /// Creates a BulletPattern from an XML file. /// </summary> /// <param name="path">The path to the XML file.</param> /// <returns>An initialized BulletPattern object.</returns> public static BulletPattern FromFile(string path) { BulletPattern p = new BulletPattern(); p.ParseXML(path); return(p); }
/// <summary> /// Load the pattern if necessary and store it in cache /// </summary> public static BulletPattern LoadPattern(TextAsset xmlFile, bool reloadCacheToo) { BulletPattern loadedPattern = null; // Cache the pattern to avoid reparsing everytime if (reloadCacheToo || patternCache.TryGetValue(xmlFile, out loadedPattern) == false) { System.Xml.XmlTextReader reader = new System.Xml.XmlTextReader(new System.IO.StringReader(xmlFile.text)); reader.Normalization = false; reader.XmlResolver = null; loadedPattern = new BulletMLLib.BulletPattern(); loadedPattern.ParseXML(xmlFile.name, reader); if (patternCache.ContainsKey(xmlFile)) { patternCache[xmlFile] = loadedPattern; } else { patternCache.Add(xmlFile, loadedPattern); } } return(loadedPattern); }
public void CreatedSpeedNode() { string filename = @"Content\FireSpeed.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); Assert.IsNotNull(pattern.RootNode); }
public void TestIsParent() { string filename = @"Content\Empty.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); Assert.AreEqual(pattern.RootNode, pattern.RootNode.GetRootNode()); }
public void CreatedBulletNode1() { string filename = @"Content\BulletEmpty.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); BulletNode testBulletNode = pattern.RootNode.GetChild(ENodeName.bullet) as BulletNode; Assert.IsNotNull(testBulletNode); }
public void SetBulletLabelNode() { string filename = @"Content\BulletEmpty.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); BulletNode testBulletNode = pattern.RootNode.GetChild(ENodeName.bullet) as BulletNode; Assert.AreEqual("test", testBulletNode.Label); }
public void GotActionRefNode() { string filename = @"Content\ActionRefEmpty.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); ActionNode testActionNode = pattern.RootNode.GetChild(ENodeName.action) as ActionNode; Assert.IsNotNull(testActionNode); }
public void ValidateTestData() { //Get all the xml files in the Content\\Samples directory foreach (var source in Directory.GetFiles("Content", "*.xml")) { //load & validate the pattern BulletPattern pattern = new BulletPattern(); pattern.ParseXML(source); } }
public void GotBulletNode() { string filename = @"Content\FireEmpty.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); ActionNode testActionNode = pattern.RootNode.GetChild(ENodeName.action) as ActionNode; FireNode testFireNode = testActionNode.GetChild(ENodeName.fire) as FireNode; Assert.IsNotNull(testFireNode.BulletDescriptionNode); }
public void GotParamNode1() { string filename = @"Content\FireRefParam.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); ActionNode testActionNode = pattern.RootNode.GetChild(ENodeName.action) as ActionNode; FireRefNode testFireNode = testActionNode.GetChild(ENodeName.fireRef) as FireRefNode; Assert.IsNotNull(testFireNode.GetChild(ENodeName.param) as ParamNode); }
public void CreatedSpeedNode3() { string filename = @"Content\FireSpeed.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); ActionNode testActionNode = pattern.RootNode.GetChild(ENodeName.action) as ActionNode; FireNode testFireNode = testActionNode.GetChild(ENodeName.fire) as FireNode; Assert.IsNotNull(testFireNode.GetChild(ENodeName.speed) as SpeedNode); }
public void NotFinished() { string filename = @"Content\ActionOneTop.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); Mover mover = (Mover)manager.CreateBullet(); mover.InitTopNode(pattern.RootNode); Assert.IsFalse(mover.Tasks[0].TaskFinished); }
public void NoParams() { string filename = @"Content\ActionOneTop.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); Mover mover = (Mover)manager.CreateBullet(); mover.InitTopNode(pattern.RootNode); Assert.AreEqual(mover.Tasks[0].ParamList.Count, 0); }
public void CreatedBulletRefNode2() { string filename = @"Content\BulletRef.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); ActionNode testActionNode = pattern.RootNode.GetChild(ENodeName.action) as ActionNode; FireNode testFireNode = testActionNode.GetChild(ENodeName.fire) as FireNode; Assert.IsNotNull(testFireNode.GetChild(ENodeName.bulletRef)); }
public void CorrectAction() { string filename = @"Content\AllRound.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); Mover mover = (Mover)manager.CreateBullet(); mover.InitTopNode(pattern.RootNode); BulletMLTask myTask = mover.Tasks[0]; Assert.AreEqual(1, myTask.ChildTasks.Count); }
/// <summary> /// Creates a BulletPattern from a string. /// </summary> /// <param name="xml">The string containing XML.</param> /// <returns>An initialized BulletPattern object.</returns> public static BulletPattern FromString(string xml) { BulletPattern p = new BulletPattern(); using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(xml))) { p.ParseXmlStream(ms); } return(p); }
public void NoBullet3() { string filename = @"Content\ActionEmpty.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); Mover mover = (Mover)manager.CreateBullet(); mover.InitTopNode(pattern.RootNode); manager.FreeMovers(); Assert.AreEqual(0, manager.movers.Count); }
public void CreatedTopLevelFireNode() { string filename = @"Content\FireEmpty.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); FireNode testFireNode = pattern.RootNode.GetChild(ENodeName.fire) as FireNode; Assert.IsNotNull(testFireNode); Assert.IsNotNull(testFireNode.BulletDescriptionNode); Assert.AreEqual("test", testFireNode.Label); }
public void CreatedFireNode1() { string filename = @"Content\FireRef.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); //get teh child action node ActionNode testActionNode = pattern.RootNode.GetChild(ENodeName.action) as ActionNode; Assert.IsNotNull(testActionNode); Assert.IsNotNull(testActionNode.GetChild(ENodeName.fireRef)); }
public void GotCorrectFireNode() { string filename = @"Content\FireRef.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); ActionNode testActionNode = pattern.RootNode.GetChild(ENodeName.action) as ActionNode; FireRefNode testFireNode = testActionNode.GetChild(ENodeName.fireRef) as FireRefNode; FireNode fireNode = testFireNode.ReferencedFireNode as FireNode; Assert.AreEqual("test", fireNode.Label); }
public void CorrectNode() { string filename = @"Content\AllRound.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); Mover mover = (Mover)manager.CreateBullet(); mover.InitTopNode(pattern.RootNode); Assert.IsNotNull(mover.Tasks[0].Node); Assert.IsNotNull(mover.Tasks[0].Node is ActionNode); }
public void SpeedNodeDefaultValue() { string filename = @"Content\FireSpeed.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); ActionNode testActionNode = pattern.RootNode.GetChild(ENodeName.action) as ActionNode; FireNode testFireNode = testActionNode.GetChild(ENodeName.fire) as FireNode; SpeedNode testSpeedNode = testFireNode.GetChild(ENodeName.speed) as SpeedNode; Assert.AreEqual(ENodeType.absolute, testSpeedNode.NodeType); }
public void DirectionNodeDefaultValue() { string filename = @"Content\FireDirection.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); ActionNode testActionNode = pattern.RootNode.GetChild(ENodeName.action) as ActionNode; FireNode testFireNode = testActionNode.GetChild(ENodeName.fire) as FireNode; DirectionNode testDirectionNode = testFireNode.GetChild(ENodeName.direction) as DirectionNode; Assert.AreEqual(ENodeType.aim, testDirectionNode.NodeType); }
public void TestEmptyVert() { string filename = @"Content\EmptyVert.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); Assert.AreEqual(filename, pattern.Filename); Assert.AreEqual(EPatternType.vertical, pattern.Orientation); Assert.IsNotNull(pattern.RootNode); Assert.AreEqual(pattern.RootNode.Name, ENodeName.bulletml); Assert.AreEqual(pattern.RootNode.NodeType, ENodeType.none); }
public void FoundBulletNode2() { string filename = @"Content\BulletRef.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); ActionNode testActionNode = pattern.RootNode.GetChild(ENodeName.action) as ActionNode; FireNode testFireNode = testActionNode.GetChild(ENodeName.fire) as FireNode; BulletRefNode refNode = testFireNode.GetChild(ENodeName.bulletRef) as BulletRefNode; BulletNode testBulletNode = refNode.ReferencedBulletNode as BulletNode; Assert.AreEqual("test", testBulletNode.Label); }
public void FoundActionNode1() { string filename = @"Content\ActionRefEmpty.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); ActionNode testActionNode = pattern.RootNode.GetChild(ENodeName.action) as ActionNode; FireNode testFireNode = testActionNode.GetChild(ENodeName.fire) as FireNode; BulletNode testBulletNode = testFireNode.GetChild(ENodeName.bullet) as BulletNode; ActionRefNode testActionRefNode = testBulletNode.GetChild(ENodeName.actionRef) as ActionRefNode; Assert.IsNotNull(testActionRefNode.ReferencedActionNode as ActionNode); }
public void FoundCorrectActionNode() { string filename = @"Content\ActionRefParam.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); ActionNode testActionNode = pattern.RootNode.GetChild(ENodeName.action) as ActionNode; FireNode testFireNode = testActionNode.GetChild(ENodeName.fire) as FireNode; BulletNode testBulletNode = testFireNode.GetChild(ENodeName.bullet) as BulletNode; ActionRefNode testActionRefNode = testBulletNode.GetChild(ENodeName.actionRef) as ActionRefNode; ActionNode refNode = testActionRefNode.ReferencedActionNode as ActionNode; Assert.AreEqual(refNode.Label, "test2"); }
void Update() { // Changing source? if (currentXmlFile != xmlFile) { pattern = LoadPattern(xmlFile); currentXmlFile = xmlFile; Initialize(); } rootBullet.X = transform.position.x; rootBullet.Y = transform.position.y; rootBullet.Update(); }
public void MakeSureNothingCrashes() { //Get all the xml files in the Content\\Samples directory foreach (var source in Directory.GetFiles("Content", "*.xml")) { //load & validate the pattern BulletPattern pattern = new BulletPattern(); pattern.ParseXML(source); //fire in the hole manager.movers.Clear(); Mover mover = (Mover)manager.CreateBullet(); mover.InitTopNode(pattern.RootNode); } }
public void setupHarness() { dude = new Myship(); manager = new MoverManager(dude.Position); pattern = new BulletPattern(); }
/// <summary> /// Force the XML file to be reloaded /// </summary> /// <param name="forceCacheReload"></param> public void ParsePattern(bool forceCacheReload) { pattern = LoadPattern(xmlFile, forceCacheReload); currentXmlFile = xmlFile; }
public void OneAction1() { string filename = @"Content\ActionOneTop.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); Mover mover = (Mover)manager.CreateBullet(); mover.InitTopNode(pattern.RootNode); Assert.IsNotNull(mover.Tasks[0] is ActionTask); }
public void RepeatOnce() { string filename = @"Content\AllRound.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); Mover mover = (Mover)manager.CreateBullet(); mover.InitTopNode(pattern.RootNode); ActionTask myAction = mover.Tasks[0] as ActionTask; ActionNode testNode = pattern.RootNode.FindLabelNode("top", ENodeName.action) as ActionNode; Assert.AreEqual(1, testNode.RepeatNum(myAction, mover)); }
public void OkFinished() { string filename = @"Content\ActionOneTop.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); Mover mover = (Mover)manager.CreateBullet(); mover.InitTopNode(pattern.RootNode); Assert.AreEqual(ERunStatus.End, mover.Tasks[0].Run(mover)); }
public void ValidXML() { string filename = @"Content\BulletRef.xml"; BulletPattern pattern = new BulletPattern(); pattern.ParseXML(filename); Assert.IsNotNull(pattern.RootNode); }