public void GetData_ChildGroup() { SketchObjectGroup newGroup = GameObject.Instantiate(this.Group); this.Group.AddToGroup(newGroup); SketchObjectGroupData data = (this.Group as ISerializableComponent).GetData() as SketchObjectGroupData; Assert.AreEqual(1, data.SketchObjectGroups.Count); }
public void GetData_MultipleChildSketchObjects() { this.Group.AddToGroup(this.Ribbon); this.Group.AddToGroup(this.Patch); this.Group.AddToGroup(this.Stroke); SketchObjectGroupData data = (this.Group as ISerializableComponent).GetData() as SketchObjectGroupData; Assert.AreEqual(3, data.SketchObjects.Count); }
public void ApplyData_MultipleChildSketchObjects() { SketchObjectGroup newGroup = GameObject.Instantiate(this.Group); this.Group.AddToGroup(this.Ribbon); this.Group.AddToGroup(this.Patch); this.Group.AddToGroup(this.Stroke); SketchObjectGroupData data = (this.Group as ISerializableComponent).GetData() as SketchObjectGroupData; (newGroup as ISerializableComponent).ApplyData(data); Assert.AreEqual(3, newGroup.transform.childCount); Assert.AreEqual(1, newGroup.GetComponentsInChildren <RibbonSketchObject>().Length); Assert.AreEqual(1, newGroup.GetComponentsInChildren <StrokeSketchObject>().Length); Assert.AreEqual(1, newGroup.GetComponentsInChildren <PatchSketchObject>().Length); }
private void groupSerializationTest() { strokeSketchObject.AddControlPoint(new Vector3(-2, 1, 0)); strokeSketchObject.AddControlPoint(Vector3.one); strokeSketchObject.AddControlPoint(new Vector3(2, 2, 0)); strokeSketchObject.AddControlPoint(new Vector3(2, 1, 0)); //lineSketchObject.setLineDiameter(.7f); //StartCoroutine(changeDiameter()); strokeSketchObject2.AddControlPoint(new Vector3(1, 0, 0)); strokeSketchObject2.AddControlPoint(new Vector3(2, 1, 1)); strokeSketchObject2.AddControlPoint(new Vector3(3, 2, 0)); //lineSketchObject2.minimumControlPointDistance = 2f; //lineSketchObject2.addControlPointContinuous(new Vector3(3, 1, 0)); GameObject groupGO = new GameObject("sketchObjectGroup", typeof(SketchObjectGroup)); SketchObjectGroup group = groupGO.GetComponent <SketchObjectGroup>(); group.AddToGroup(strokeSketchObject); group.AddToGroup(strokeSketchObject2); SketchObjectGroupData groupData = (group as ISerializableComponent).GetData() as SketchObjectGroupData; string xmlFilePath = Serializer.WriteTestXmlFile <SketchObjectGroupData>(groupData); Serializer.DeserializeFromXmlFile <SketchObjectGroupData>(out SketchObjectGroupData readGrouptData, xmlFilePath); Debug.Log(readGrouptData.SketchObjects[0].GetType()); SketchObjectGroup deserGroup = Instantiate(defaults.SketchObjectGroupPrefab).GetComponent <SketchObjectGroup>(); (deserGroup as ISerializableComponent).ApplyData(readGrouptData); deserGroup.transform.position += new Vector3(3, 0, 0); //GameObject selectionGO = new GameObject("sketchObjectSelection", typeof(SketchObjectSelection)); //GameObject selectionGO = Instantiate(selectionPrefab); //SketchObjectSelection selection = selectionGO.GetComponent<SketchObjectSelection>(); //selection.addToSelection(lineSketchObject); //selection.addToSelection(lineSketchObject2); //selection.activate(); //StartCoroutine(deactivateSelection(selection)); }