Ejemplo n.º 1
0
    /// <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);
    }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
    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");
    }
Ejemplo n.º 4
0
    /// <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);
    }
Ejemplo n.º 5
0
    // 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();
            }
        }
    }
Ejemplo n.º 6
0
    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);
    }