public void cvObject() { cvLine line = new cvLine() { type = "cvLine", color = new Color32(0, 0, 0, 255), pos0 = new Vector3(0, 0, 1), pos1 = new Vector3(123, 32, 3) }; cvObject obj = new cvObject(); obj.name = "一个名字"; obj.prefabName = "pname"; obj.position = new Vector3(1, 2, 3); obj.rotation = Quaternion.Euler(123, 312, 3); cvObject obj2 = new cvObject(); obj2.components.Add(line); obj.children.Add(obj2); Assert.IsTrue(object.ReferenceEquals(obj.children[0], obj2)); string text = JsonConvert.SerializeObject(obj); cvObject objr = JsonConvert.DeserializeObject <cvObject>(text); Assert.IsTrue(objr.children.Count == 1); Assert.IsTrue(objr.children[0].components.Count == 1); }
public void SetUp() { //Newtonsoft.Json的U3D扩展类型支持 xuexue.json.U3DJsonSetting.SetDefault(); //初始化一段实验数据. cvLine line = new cvLine() { type = "cvLine", color = new Color32(0, 0, 0, 255), pos0 = new Vector3(0, 0, 1), pos1 = new Vector3(123, 32, 3) }; cvObject obj2 = new cvObject(); obj2.components.Add(line); cvObject obj = new cvObject(); obj.name = "一个名字"; obj.prefabName = "pname"; obj.position = new Vector3(1, 2, 3); obj.rotation = Quaternion.Euler(123, 312, 3); obj.children.Add(obj2); scene.objects.Add(obj); scene.objects.Add(obj); scene.objects.Add(obj); }
/// <summary> /// 目前只有画线组件 /// </summary> /// <param name="com"></param> /// <param name="go"></param> private void AddComponentWithJsonObj(cvComponent com, GameObject go) { if (com.GetType() == typeof(cvLine)) { cvLine cl = com as cvLine; LineRenderer lr = go.AddComponent <LineRenderer>(); lr.startWidth = 0.001f; lr.endWidth = 0.001f; lr.positionCount = 2; lr.material = Resources.Load <Material>("white"); lr.material.color = cl.color; lr.SetPositions(new Vector3[] { cl.pos0, cl.pos1 }); } }
public void cvLine2cvComponent() { cvLine line = new cvLine() { type = "cvLine", color = new Color32(0, 0, 0, 255), pos0 = new Vector3(0, 0, 1), pos1 = new Vector3(123, 32, 3) }; string text = JsonConvert.SerializeObject(line); Debug.Log(text); cvComponent com = JsonConvert.DeserializeObject <cvComponent>(text); Assert.IsTrue(com.type == "cvLine"); cvLine line2 = com as cvLine; Assert.IsTrue(line.pos0 == line2.pos0); Assert.IsTrue(line.pos1 == line2.pos1); }