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);
        }
Esempio n. 4
0
    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));
    }