/// <summary> /// Get OOFormArray from json string. /// </summary> /// <param name="jsonString"></param> /// <returns></returns> public static OOFormArray GetFormByJsonString(string jsonString) { OOFormArray form_array = new OOFormArray(); List <Hashtable> table_list = OOLitJson.JsonMapper.ToObject <List <Hashtable> >(jsonString); form_array.InsertRow(0); form_array.InsertColumn(0); //int row = 0; foreach (Hashtable table in table_list) { form_array.InsertRow(form_array.mRowCount); foreach (string key_str in table.Keys) { if (form_array.GetColumn(key_str) == -1) { if (form_array.mColumnDic.Count <= 1) { form_array.SetString(key_str, 0, 0); form_array.AddColumnName(key_str, 0); } else { form_array.InsertColumn(form_array.mColumnCount); form_array.SetString(key_str, form_array.mColumnCount - 1, 0); form_array.AddColumnName(key_str, form_array.mColumnCount - 1); } } form_array.SetString(table[key_str].ToString(), form_array.GetColumn(key_str), form_array.mRowCount - 1); } } return(form_array); }
private static OOFormArray InitForm(DataTable dt) { OOFormArray form; int colNum = dt.Columns.Count; int rowNum = dt.Rows.Count; form = new OOFormArray(); colNum = dt.Columns.Count; rowNum = dt.Rows.Count; // init form for (int i = 0; i < colNum; i++) { form.InsertColumn(i); } for (int i = 0; i < rowNum + 1; i++) { form.InsertRow(i); } // set column key for (int c = 0; c < colNum; c++) { string cName = dt.Columns[c].ColumnName; form.SetString(cName, c, 0); } return(form); }
void OnGUI() { if (GUI.Button(new Rect(10, 50, 100, 50), "Save")) { //Set data by enum mForm.SetString(DateTime.Now.ToString(), "Value", "SAVE_TIME"); mForm.SetBool(mIsTick, "Value", "IS_TICK"); mForm.SetRect(mWindowRect, "Value", "WINDOW_RECT"); Save(); } GUI.Label(new Rect(10, 150, 100, 20), "RunTimes:"); GUI.Label(new Rect(10, 180, 100, 20), "SaveTime:"); GUI.Label(new Rect(10, 210, 100, 20), "Text1:"); GUI.Label(new Rect(10, 240, 100, 20), "Text2:"); GUI.Label(new Rect(10, 270, 100, 20), "IsTick:"); GUI.Label(new Rect(110, 150, 100, 20), mForm.GetString("Value", "RUN_TIMES")); GUI.Label(new Rect(110, 180, 300, 20), mForm.GetString("Value", "SAVE_TIME")); //Read data and set data by id mForm.mData[1][3] = GUI.TextField(new Rect(110, 210, 300, 20), mForm.mData[1][3]); mForm.mData[1][4] = GUI.TextField(new Rect(110, 240, 300, 20), mForm.mData[1][4]); mIsTick = GUI.Toggle(new Rect(110, 270, 100, 20), mIsTick, ""); mWindowRect = GUI.Window(0, mWindowRect, DoMyWindow, "Drag me and save"); }
/// <summary> /// Get OOFormArray from xml string; /// </summary> /// <param name="xmlString"></param> /// <returns></returns> public static OOFormArray GetFormByXMLString(string xmlString) { //if string with BOM,remove it. if ((int)xmlString[0] == 65279) { xmlString = xmlString.Substring(1); } OOFormArray form_array = new OOFormArray(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xmlString); form_array.InsertRow(0); form_array.InsertColumn(0); XmlNode node = xmlDoc.FirstChild; XmlNodeList component_list = node.ChildNodes; foreach (XmlNode row_node in component_list) { form_array.InsertRow(form_array.mRowCount); foreach (XmlAttribute attr in row_node.Attributes) { if (form_array.GetColumn(attr.Name) == -1) { if (form_array.mColumnDic.Count <= 1) { form_array.SetString(attr.Name, 0, 0); form_array.AddColumnName(attr.Name, 0); } else { form_array.InsertColumn(form_array.mColumnCount); form_array.SetString(attr.Name, form_array.mColumnCount - 1, 0); form_array.AddColumnName(attr.Name, form_array.mColumnCount - 1); } } form_array.SetString(attr.Value.ToString(), form_array.GetColumn(attr.Name), form_array.mRowCount - 1); } } return(form_array); }
// Update is called once per frame void Update() { if (Input.GetMouseButtonDown(0)) { if (mForm != null) { //random data int width = Random.Range(50, 100); Rect rect = new Rect(Input.mousePosition.x - width / 2, Screen.height - (Input.mousePosition.y + width / 2), width, width); string name = Random.Range(100, 999).ToString(); //insert and set data mForm.InsertRow(mForm.mRowCount); mForm.SetRect(rect, "rect", mForm.mRowCount - 1); mForm.SetString(name, "name", mForm.mRowCount - 1); //save Save(); } } }
private static OOFormArray DataTable2OOFormArray(DataTable dt) { OOFormArray form = new OOFormArray(); // csv = ""; form = InitForm(dt); int colNum = dt.Columns.Count; int rowNum = dt.Rows.Count; for (int r = 0; r < rowNum; r++) { var dr = dt.Rows[r]; for (int c = 0; c < colNum; c++) { string cName = dt.Columns[c].ColumnName; int row = r + 1; int col = c; System.Type tp = dt.Columns[c].DataType; //print(tp); if (tp == typeof(int)) { int val = (int)dr[c]; bool bSet = form.SetInt(val, col, row); // print("Set Int:" + val.ToString() + " OK?" + bSet.ToString()); } else if (tp == typeof(Vector2)) { Vector2 val = (Vector2)dr[c]; bool bSet = form.SetVector2(val, col, row); //print("Set Vec2:" + val.ToString() + " OK?" + bSet.ToString()); } else if (tp == typeof(Vector3)) { Vector3 val = (Vector3)dr[c]; bool bSet = form.SetVector3(val, col, row); //print("Set Vec3:" + val.ToString() + " OK?" + bSet.ToString()); } else if (tp == typeof(Vector4)) { Vector4 val = (Vector4)dr[c]; bool bSet = form.SetVector4(val, col, row); //print("Set Vec4:" + val.ToString() + " OK?" + bSet.ToString()); } else if (tp == typeof(string)) { string val = (string)dr[c]; bool bSet = form.SetString(val, col, row); //print("Set String:" + val + " OK?" + bSet.ToString()); } else if (tp == typeof(float)) { float val = (float)dr[c]; bool bSet = form.SetFloat(val, col, row); // print("Set Float:" + val + " OK?" + bSet.ToString()); } else if (tp == typeof(Rect)) { Rect val = (Rect)dr[c]; bool bSet = form.SetRect(val, col, row); // print("Set Rect:" + val + " OK?" + bSet.ToString()); } else if (tp == typeof(bool)) { bool val = (bool)dr[c]; bool bSet = form.SetBool(val, col, row); //print("Set Bool:" + val + " OK?" + bSet.ToString()); } else { int val = (int)dr[c]; bool bSet = form.SetInt(val, col, row); } } } return(form); }