Ejemplo n.º 1
0
    public void SpawnConnections()
    {
        var connections = _currentState.GetComponents <Connection>();

        foreach (var connection in connections)
        {
            ConnectionMarker marker = Instantiate(connectionMarkerPrefab, transform);
            marker.name       = "Marker to " + connection.Destination.title;
            marker.connection = connection;
            marker.transform.localPosition = connection.orientation * Vector3.forward;
            var markerRenderer = marker.GetComponent <Renderer>();
            markerRenderer.material.SetColor("_Color", colorSchemes[connection.colorScheme].color);
            _markers.Add(marker);
        }

        var groupConnections = _currentState.GetComponents <GroupConnection>();

        foreach (var groupConnection in groupConnections)
        {
            GroupConnectionMarker marker = Instantiate(groupConnectionMarkerPrefab, transform);
            marker.name                    = "Group Marker to " + groupConnection.title;
            marker.groupConnection         = groupConnection;
            marker.transform.localPosition = groupConnection.orientation * Vector3.forward;
            var markerRenderer = marker.GetComponent <Renderer>();
            markerRenderer.material.SetColor("_Color", Color.blue);
            _markers.Add(marker);
        }
    }
Ejemplo n.º 2
0
    public void SpawnConnections()
    {
        var connections = _currentState.GetComponents <Connection>();

        foreach (var connection in connections)
        {
            ConnectionMarker marker = Instantiate(connectionMarkerPrefab, transform);
            marker.name       = "Marker to " + connection.GetDestenationTitle();
            marker.connection = connection;
            marker.transform.localPosition = connection.Orientation * Vector3.forward;
            var markerRenderer = marker.GetComponent <Renderer>();
            markerRenderer.material.SetColor("_Color", colorSchemes[connection.colorScheme].color);
            _markers.Add(marker);
        }

        var groupConnections = _currentState.GetComponents <GroupConnection>();

        foreach (var groupConnection in groupConnections)
        {
            GroupConnectionMarker marker = Instantiate(groupConnectionMarkerPrefab, transform);
            marker.name                    = "Group Marker to " + groupConnection.title;
            marker.groupConnection         = groupConnection;
            marker.transform.localPosition = groupConnection.Orientation * Vector3.forward;
            var markerRenderer = marker.GetComponent <Renderer>();
            markerRenderer.material.SetColor("_Color", Color.blue);
            _markers.Add(marker);
        }

        var fieldItems = _currentState.GetComponents <FieldItem>();


        foreach (var fieldItem in fieldItems)
        {
            var fieldItemMarker = Instantiate(baseFieldItemGameObject, transform);
            fieldItemMarker.fieldItem = fieldItem;
            var vertices = new Vector3[]
            {
                fieldItem.vertices[0].Orientation * Vector3.forward,
                fieldItem.vertices[1].Orientation * Vector3.forward,
                fieldItem.vertices[2].Orientation * Vector3.forward,
                fieldItem.vertices[3].Orientation * Vector3.forward
            };
            var tris = new int[]
            {
                0, 1, 2,
                0, 2, 3
            };
            MeshRenderer meshRenderer = fieldItemMarker.gameObject.AddComponent <MeshRenderer>();
            var          mat          = AssetDatabase.LoadAssetAtPath <Material>(
                "Packages/com.rexagon.tour-creator/Materials/FieldItem.mat");
            meshRenderer.sharedMaterial = mat;
            MeshFilter meshFilter = fieldItemMarker.gameObject.AddComponent <MeshFilter>();
            Mesh       mesh       = new Mesh
            {
                vertices  = vertices,
                triangles = tris
            };
            meshFilter.mesh = mesh;
            fieldItemMarker.gameObject.AddComponent <MeshCollider>();
        }
    }