示例#1
0
    public void AddEdge(GameObject go)
    {
        SingleNode node = new SingleNode();

        node.type     = eMapEditorNodeType.Edge;
        node.position = go.transform.position;
        Transform start = go.transform.Find("Start");
        Transform end   = go.transform.Find("End");

        if (start != null && end != null)
        {
            node.startPos = start.position;
            node.endPos   = end.position;
        }
        SensorDataNode sensorNode = go.GetComponent <SensorDataNode>();

        if (sensorNode != null)
        {
            //if (sensorNode.FaceNormal.SqrMagnitude() > 0.5f)
            //{
            //    sensorNode.IsSensor = false;
            //}
            //else
            //{
            //    sensorNode.IsSensor = true;
            //}
            node.isSensor = sensorNode.IsSensor;
        }
        else
        {
            node.isSensor = false;
        }
        node.sensorNode = sensorNode;
        m_nodes.Add(node);
    }
示例#2
0
    public void AddCircle(GameObject go)
    {
        SingleNode node = new SingleNode();

        node.type     = eMapEditorNodeType.Circle;
        node.position = go.transform.position;
        node.sizeX    = go.transform.lossyScale.x;
        node.sizeY    = go.transform.lossyScale.y;
        if (node.sizeX != node.sizeY)
        {
            node.type = eMapEditorNodeType.Ellipse;
        }
        node.radius = go.transform.lossyScale.x * 0.5f;

        SensorDataNode sensorNode = go.GetComponent <SensorDataNode>();

        if (sensorNode != null)
        {
            //if (sensorNode.FaceNormal.SqrMagnitude() > 0.5f)
            //{
            //    sensorNode.IsSensor = false;
            //}
            //else
            //{
            //    sensorNode.IsSensor = true;
            //}
            node.isSensor = sensorNode.IsSensor;
        }
        else
        {
            node.isSensor = false;
        }
        node.sensorNode = sensorNode;
        m_nodes.Add(node);
    }
示例#3
0
    public void AddPolygon(GameObject go)
    {
        SingleNode node = new SingleNode();

        node.type     = eMapEditorNodeType.Polygon;
        node.position = go.transform.position;
        node.vertices = new List <Vector2>();
        node.isSensor = false;
        int childCount = go.transform.childCount;

        for (int i = 0; i < childCount; i++)
        {
            Transform child  = go.transform.GetChild(i);
            Vector2   vector = new Vector2(child.transform.localPosition.x, child.transform.localPosition.y);
            node.vertices.Add(vector);
        }
        SensorDataNode sensorNode = go.GetComponent <SensorDataNode>();

        if (sensorNode != null)
        {
            //if (sensorNode.FaceNormal.SqrMagnitude() > 0.5f)
            //{
            //    sensorNode.IsSensor = false;
            //}
            //else
            //{
            //    sensorNode.IsSensor = true;
            //}
            node.isSensor = sensorNode.IsSensor;
        }
        else
        {
            node.isSensor = false;
        }
        node.sensorNode = sensorNode;
        m_nodes.Add(node);
    }