示例#1
0
    void parseMetadata(string metaAsset)
    {
        TextAsset metaText = Resources.Load(metaAsset) as TextAsset;

        string[,] metaGrid = CSVReader.SplitCsvGrid(metaText.text);
        int numberOfGroups = metaGrid.GetUpperBound(1) - 1;

        for (int i = 1; (i < numberOfGroups + 1); i++)
        {
            // add the group

            GameObject nodeGroupObject = Instantiate(Resources.Load("NodeGroupContainer") as GameObject, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity) as GameObject;

            NodeGroup nodeGroupWrapperObject = new NodeGroup(nodeGroupObject);

            int currentGroupNumber = (int)float.Parse(metaGrid[0, i]);

            nodeGroupWrapperObject.nodeGroupContainerScript.groupNumber = currentGroupNumber;

            nodeGroupWrapperObject.gameObject.transform.parent = nodeContainer.transform;

            // give the group its centroid


            float x_3d = float.Parse(metaGrid[1, i]) * ConstantsSpacerock.GRAPH_SPREAD_MULTIPLIER * ConstantsSpacerock.TOTAL_GRAPH_SCALE_MULTIPLIER;
            float y_3d = float.Parse(metaGrid[2, i]) * ConstantsSpacerock.GRAPH_SPREAD_MULTIPLIER * ConstantsSpacerock.TOTAL_GRAPH_SCALE_MULTIPLIER;
            float z_3d = float.Parse(metaGrid[3, i]) * ConstantsSpacerock.GRAPH_SPREAD_MULTIPLIER * ConstantsSpacerock.TOTAL_GRAPH_SCALE_MULTIPLIER;

            GameObject centroidGameObject =
                Instantiate(Resources.Load("GroupCentroid") as GameObject,
                            new Vector3(
                                x_3d,
                                y_3d,
                                z_3d
                                ),
                            Quaternion.identity)
                as GameObject;

            centroidGameObject.transform.parent = nodeGroupWrapperObject.gameObject.transform;

            GroupCentroidReferences groupCentroidReferenceObject = new GroupCentroidReferences(centroidGameObject);

            nodeGroupWrapperObject.nodeGroupContainerScript.centroid = groupCentroidReferenceObject;

            groupCentroidReferenceObject.groupCentroidScript.x_3d = x_3d;
            groupCentroidReferenceObject.groupCentroidScript.y_3d = y_3d;
            groupCentroidReferenceObject.groupCentroidScript.z_3d = z_3d;

            nodeGroups.Add(
                currentGroupNumber,
                nodeGroupWrapperObject
                );

            groupCentroidReferenceObject.groupCentroidScript.SetColorByGroup(currentGroupNumber);
        }

        // put a centroid object in every group
        // give a reference to the centroid object to the group?
        // give the centroid object a reference to the group?
        // centroid color should match group color
    }
示例#2
0
    void parseMetadata(string metaAsset)
    {
        TextAsset metaText = Resources.Load(metaAsset) as TextAsset;
        string[,] metaGrid = CSVReader.SplitCsvGrid(metaText.text);
        int numberOfGroups = metaGrid.GetUpperBound(1) - 1;

        for (int i = 1; (i < numberOfGroups + 1); i++)
        {

            // add the group

            GameObject nodeGroupObject = Instantiate(Resources.Load("NodeGroupContainer") as GameObject, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity) as GameObject;

            NodeGroup nodeGroupWrapperObject = new NodeGroup(nodeGroupObject);

            int currentGroupNumber = (int)float.Parse(metaGrid[0, i]);

            nodeGroupWrapperObject.nodeGroupContainerScript.groupNumber = currentGroupNumber;

            nodeGroupWrapperObject.gameObject.transform.parent = nodeContainer.transform;

            // give the group its centroid

            float x_3d = float.Parse(metaGrid[1, i]) * ConstantsSpacerock.GRAPH_SPREAD_MULTIPLIER * ConstantsSpacerock.TOTAL_GRAPH_SCALE_MULTIPLIER;
            float y_3d = float.Parse(metaGrid[2, i]) * ConstantsSpacerock.GRAPH_SPREAD_MULTIPLIER * ConstantsSpacerock.TOTAL_GRAPH_SCALE_MULTIPLIER;
            float z_3d = float.Parse(metaGrid[3, i]) * ConstantsSpacerock.GRAPH_SPREAD_MULTIPLIER * ConstantsSpacerock.TOTAL_GRAPH_SCALE_MULTIPLIER;

            GameObject centroidGameObject =
                Instantiate(Resources.Load("GroupCentroid") as GameObject,
                    new Vector3(
                        x_3d,
                        y_3d,
                        z_3d
                    ),
                    Quaternion.identity)
                as GameObject;

            centroidGameObject.transform.parent = nodeGroupWrapperObject.gameObject.transform;

            GroupCentroidReferences groupCentroidReferenceObject = new GroupCentroidReferences(centroidGameObject);

            nodeGroupWrapperObject.nodeGroupContainerScript.centroid = groupCentroidReferenceObject;

            groupCentroidReferenceObject.groupCentroidScript.x_3d = x_3d;
            groupCentroidReferenceObject.groupCentroidScript.y_3d = y_3d;
            groupCentroidReferenceObject.groupCentroidScript.z_3d = z_3d;

            nodeGroups.Add(
                currentGroupNumber,
                nodeGroupWrapperObject
                );

            groupCentroidReferenceObject.groupCentroidScript.SetColorByGroup(currentGroupNumber);

        }

        // put a centroid object in every group
        // give a reference to the centroid object to the group?
        // give the centroid object a reference to the group?
        // centroid color should match group color
    }