示例#1
0
    void LoadArrayForEachElement(CategoryData data)
    {
        GraphChartBase graph = GraphObject.GetComponent <GraphChartBase>();

        if (mParser.SetPathRelativeTo(data.ParentObjectName) == false)
        {
            Debug.LogWarning("Object " + data.ParentObjectName + " does not exist in the document");
            return;
        }
        var    xObj    = mParser.GetObject(data.XDataObjectName);
        var    yObj    = mParser.GetObject(data.YDataObjectName);
        object sizeObj = null;

        if (String.IsNullOrEmpty(data.SizeDataObjectName) == false)
        {
            sizeObj = mParser.GetObject(data.SizeDataObjectName);
        }
        int length = Math.Min(mParser.GetArraySize(xObj), mParser.GetArraySize(yObj));

        if (sizeObj != null)
        {
            length = Math.Min(length, mParser.GetArraySize(sizeObj));
        }
        try
        {
            for (int i = 0; i < length; i++)
            {
                double x         = ParseItem(mParser.GetItem(xObj, i), data.XDateFormat);
                double y         = ParseItem(mParser.GetItem(yObj, i), data.YDateFormat);
                double pointSize = -1;
                if (sizeObj != null)
                {
                    pointSize = double.Parse(mParser.GetItem(sizeObj, i));
                }
                graph.DataSource.AddPointToCategory(data.Name, x, y, pointSize);
            }
        }
        catch (Exception e)
        {
            Debug.LogWarning("Data for category " + data.Name + " does not match the specified format. Ended with exception : " + e.ToString());
        }
    }