Exemplo n.º 1
0
        /// <summary>
        /// Create a selection model for a specific kerbal.
        /// </summary>
        /// <param name="eva"></param>
        private void CreateLine(EvaContainer container)
        {
            if (selectionLines.ContainsKey(container.flightID))
            {
                return;
            }

            LineRenderer lineRenderer = new GameObject().AddComponent <LineRenderer>();

            lineRenderer.useWorldSpace = false;
            lineRenderer.material      = new Material(Shader.Find("Particles/Additive"));
            lineRenderer.SetWidth(0.05f, 0.05f);
            lineRenderer.SetColors(Color.green, Color.red);

            Renderer _renderer = null;

            lineRenderer.GetComponentCached <Renderer> (ref _renderer);

            if (_renderer != null)
            {
                _renderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
                _renderer.receiveShadows    = false;
            }

            int segments = 32;

            lineRenderer.SetVertexCount(segments);

            CreateCircle(lineRenderer, segments, 0.25);

            //set properties
            SetSelectionLineProperties(container.EVA, lineRenderer);

            selectionLines.Add(container.flightID, lineRenderer);
        }
Exemplo n.º 2
0
    public void SetNewConnection(GameObject neighbour)
    {
//		Debug.Log ("SetNewConnection Called! (Neighbour: " + neighbour + ")");
        if (neighbour.GetInstanceID() != this.gameObject.GetInstanceID())
        {
            if (HasConnectionsLeft())
            {
                if (neighbour.GetComponent <GridfieldController> ().HasConnectionsLeft())
                {
                    if (!connectedElements.Contains(neighbour))
                    {
                        connectedElements.Add(neighbour);
                        LineRenderer lRenderer = new GameObject("Line to " + neighbour.GetInstanceID()).AddComponent <LineRenderer> ();
                        lRenderer.transform.parent = this.transform;
                        lRenderer.SetWidth(defaultBondWidth, defaultBondWidth);
                        lRenderer.material = new Material(Shader.Find("Sprites/Default"));
                        lRenderer.SetColors(Color.black, Color.black);
                        lRenderer.SetVertexCount(2);
                        lRenderer.SetPosition(0, this.transform.position);
                        lRenderer.SetPosition(1, neighbour.transform.position);
                        lRenderer.sortingOrder = 2;
                        lineRenderers.Add(lRenderer);
                        lineDestinations.Add(lRenderer, neighbour.GetComponent <GridfieldController>().GetElement());
                        neighbour.GetComponent <GridfieldController> ().AddThisAsNeighbour(this.gameObject);
                        leftConnections--;
                    }
                    else
                    {
                        //Neighbour is at least once connected. Check for possible multiple bond.
                        AddMultipleBondNeighbour(neighbour);
                    }
                }
            }
        }
    }
Exemplo n.º 3
0
    /*
     * -------------------------------------------- KETERANGAN -------------------------------------------------
     * NAMA : void initialitation_line_luar()
     * DESKRIPSI:
     * Fungsi yang digunakan untuk membuat garis yang menghubungkan antara nama komponen saraf dengan bagian komponen saraf luar
     * STATUS:
     * Done
     * ----------------------------------------------------------------------------------------------------------
     */
    void initialitation_line_luar()
    {
        // Add a Line Renderer to the GameObject
        cell_body_line = new GameObject().AddComponent <LineRenderer>() as LineRenderer;
        // Set the width of the Line Renderer
        cell_body_line.SetWidth(0.05F, 0.05F);
        // Set the number of vertex fo the Line Renderer
        cell_body_line.SetVertexCount(2);

        // Add a Line Renderer to the GameObject
        myelin_line = new GameObject().AddComponent <LineRenderer>() as LineRenderer;
        // Set the width of the Line Renderer
        myelin_line.SetWidth(0.05F, 0.05F);
        // Set the number of vertex fo the Line Renderer
        myelin_line.SetVertexCount(2);

        // Add a Line Renderer to the GameObject
        dendrite_line = new GameObject().AddComponent <LineRenderer>() as LineRenderer;
        // Set the width of the Line Renderer
        dendrite_line.SetWidth(0.05F, 0.05F);
        // Set the number of vertex fo the Line Renderer
        dendrite_line.SetVertexCount(2);

        // Add a Line Renderer to the GameObject
        sinapsis_line = new GameObject().AddComponent <LineRenderer>() as LineRenderer;
        // Set the width of the Line Renderer
        sinapsis_line.SetWidth(0.05F, 0.05F);
        // Set the number of vertex fo the Line Renderer
        sinapsis_line.SetVertexCount(2);
    }
Exemplo n.º 4
0
    void OnCollisionEnter(Collision collision)
    {
        //Check for a match with the specified name on any GameObject that collides with your GameObject
        if (collision.gameObject.name == thumb.name)
        {
            if (ann)
            {
                count++;
                col = true;
                //If the GameObject's name matches the one you suggest, output this message in the console
                Debug.Log("Do something here");

                LineRenderer line = new GameObject().AddComponent <LineRenderer>();
                line.transform.parent = transform;
                line.SetPosition(0, transform.position);
                line.SetPosition(1, transform.position);
                string lineName = "_" + count;
                line.transform.name   = lineName;
                line.sortingLayerName = "OnTop";
                line.sortingOrder     = 5;
                line.SetWidth(0.005f, 0.005f);
                line.useWorldSpace = true;
                //line.material = lineMaterial;
                //lines.Add(line);
            }
        }
    }
Exemplo n.º 5
0
        /// <summary>
        ///     Create a text input field (used for string, int, float)
        /// </summary>
        /// <param name="parent">parent transform</param>
        /// <param name="labelname">Label text</param>
        /// <param name="description">Description text</param>
        /// <param name="guid">module GUID</param>
        /// <param name="section">Section</param>
        /// <param name="key">Key</param>
        /// <param name="width">Width</param>
        /// <returns></returns>
        private static GameObject CreateTextInputField(Transform parent, string labelname, string description, string guid, string section, string key,
                                                       float width)
        {
            // Create the outer gameobject first
            var result = new GameObject("TextField", typeof(RectTransform), typeof(LayoutElement));

            result.SetWidth(width);
            result.transform.SetParent(parent, false);

            // create the label text
            var label = GUIManager.Instance.CreateText(labelname, result.transform, new Vector2(0, 1), new Vector2(0, 1), new Vector2(0, 0),
                                                       GUIManager.Instance.AveriaSerifBold, 16, GUIManager.Instance.ValheimOrange, true, Color.black, width - 150f, 0, false);

            label.SetUpperLeft().SetToTextHeight();

            // create the description text
            var desc = GUIManager.Instance.CreateText(description, result.transform, new Vector2(0, 1), new Vector2(0, 1), new Vector2(0, 0),
                                                      GUIManager.Instance.AveriaSerifBold, 12, Color.white, true, Color.black, width - 150f, 0, false).SetUpperLeft();

            desc.GetComponent <RectTransform>().anchoredPosition = new Vector2(0, -(label.GetHeight() + 3f));
            desc.SetToTextHeight();

            // calculate combined height
            result.SetHeight(label.GetHeight() + 3f + desc.GetHeight() + 15f);

            // Add the input field element
            var field = new GameObject("Input", typeof(RectTransform), typeof(Image), typeof(InputField)).SetUpperRight().SetSize(140f, label.GetHeight() + 6f);

            field.GetComponent <Image>().sprite = GUIManager.Instance.GetSprite("text_field");
            field.GetComponent <Image>().type   = Image.Type.Sliced;
            field.transform.SetParent(result.transform, false);

            var inputField = field.GetComponent <InputField>();

            var text = new GameObject("Text", typeof(RectTransform), typeof(Text), typeof(Outline)).SetMiddleLeft().SetHeight(label.GetHeight() + 6f)
                       .SetWidth(130f);

            inputField.textComponent = text.GetComponent <Text>();
            text.transform.SetParent(field.transform, false);
            text.GetComponent <RectTransform>().anchoredPosition = new Vector2(5, 0);
            text.GetComponent <Text>().alignment = TextAnchor.MiddleLeft;
            text.GetComponent <Text>().font      = GUIManager.Instance.AveriaSerifBold;

            // create the placeholder element
            var placeholder = new GameObject("Placeholder", typeof(RectTransform), typeof(Text)).SetMiddleLeft().SetHeight(label.GetHeight() + 6f)
                              .SetWidth(130f);

            inputField.placeholder = placeholder.GetComponent <Text>();
            placeholder.GetComponent <Text>().alignment = TextAnchor.MiddleLeft;
            placeholder.GetComponent <Text>().text      = "";
            placeholder.GetComponent <Text>().font      = GUIManager.Instance.AveriaSerifBold;
            placeholder.GetComponent <Text>().fontStyle = FontStyle.Italic;
            placeholder.GetComponent <Text>().color     = Color.gray;
            placeholder.transform.SetParent(field.transform, false);
            placeholder.GetComponent <RectTransform>().anchoredPosition = new Vector2(5, 0);

            // set the preferred height on the layout element
            result.GetComponent <LayoutElement>().preferredHeight = result.GetComponent <RectTransform>().rect.height;
            return(result);
        }
Exemplo n.º 6
0
    void Update()
    {
        ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        if (Physics.Raycast(ray, out hit) && Input.GetMouseButtonDown(0))
        {
            if (!p0 && !p1)
            {
                p0 = hit.transform;
                h0 = hit.point;
                return;
            }

            if (p0 && !p1)
            {
                p1 = hit.transform;
                h1 = hit.point;
            }

            if (p0 && p1)
            {
                LineRenderer line = new GameObject("Line " + i.ToString()).AddComponent <LineRenderer>();
                line.transform.parent = container;
                line.SetWidth(0.025F, 0.025F);
                line.SetColors(Color.red, Color.green);
                line.SetVertexCount(2);
                line.SetPosition(0, h0);
                line.SetPosition(1, h1);
                distance = Vector3.Distance(h0, h1);
                label    = "Distance between hit point 0 of " + p0.name + " and hit point 1 of " + p1.name + " = " + distance.ToString();
                p1       = null;
                p0       = null;
            }
        }
    }
Exemplo n.º 7
0
    LineRenderer CreteLineRenderer()
    {
        LineRenderer temp = new GameObject().AddComponent <LineRenderer>();

        temp.SetWidth(0.15f, 0.15f);
        temp.gameObject.transform.parent = this.transform; // set line GO as child of NODE

        return(temp);
    }
Exemplo n.º 8
0
	// Following method creates new line for MagnifyGlass's border  
	private LineRenderer getLine()  
	{  
		LineRenderer line = new GameObject("Line").AddComponent<LineRenderer>();  
		line.material = new Material(Shader.Find("Diffuse"));  
		line.SetVertexCount(2);  
		line.SetWidth(0.2f,0.2f);  
		line.SetColors(Color.black, Color.black);  
		line.useWorldSpace = false;  
		return line;  
	}  
Exemplo n.º 9
0
 // Following method creates new line for MagnifyGlass's border
 private LineRenderer getLine()
 {
     LineRenderer line = new GameObject("Line").AddComponent<LineRenderer>();
     line.material = new Material(Shader.Find("Diffuse"));
     line.SetVertexCount(2);
     line.SetWidth(0.2f, 0.2f);
     line.SetColors(Color.black, Color.black);
     line.useWorldSpace = false;
     return line;
 }
Exemplo n.º 10
0
    private void MakeLine(Networkable a, Networkable b)
    {
        var dir = -Camera.main.transform.forward;

        var line = new GameObject("Line").AddComponent<LineRenderer>();
        line.transform.parent = transform;
        line.SetWidth(0.4f, 0.4f);
        line.SetPosition(0, a.transform.position + dir * 7);
        line.SetPosition(1, b.transform.position + dir * 7);
        line.sharedMaterial = NodeMaterial;
    }
    // Following method creates new line for MagnifyGlass's border
    private LineRenderer getLine()
    {
        LineRenderer line = new GameObject("Line").AddComponent <LineRenderer>();

        line.material = lineMaterial;
        line.SetVertexCount(2);
        line.SetWidth(0.2f, 0.2f);
        line.SetColors(Color.black, Color.black);
        line.useWorldSpace = false;
        return(line);
    }
Exemplo n.º 12
0
 private void makeGrid(Vector3 begin, Vector3 end)
 {
     LineRenderer line = new GameObject().AddComponent<LineRenderer>();
     line.transform.parent = this.transform.parent;
     line.SetWidth(0.01F, 0.01F);
     line.SetColors(lightBlue, lightBlue);
     line.SetPosition(0, begin);
     line.SetPosition(1, end);
     line.SetVertexCount(2);
     line.material = new Material(Shader.Find("Particles/Additive"));
 }
Exemplo n.º 13
0
    private void makeGrid(Vector3 begin, Vector3 end)
    {
        LineRenderer line = new GameObject().AddComponent <LineRenderer>();

        line.transform.parent = this.transform.parent;
        line.SetWidth(0.01F, 0.01F);
        line.SetColors(lightBlue, lightBlue);
        line.SetPosition(0, begin);
        line.SetPosition(1, end);
        line.SetVertexCount(2);
        line.material = new Material(Shader.Find("Particles/Additive"));
    }
Exemplo n.º 14
0
    private void MakeLine(Networkable a, Networkable b)
    {
        var dir = -Camera.main.transform.forward;

        var line = new GameObject("Line").AddComponent <LineRenderer>();

        line.transform.parent = transform;
        line.SetWidth(0.4f, 0.4f);
        line.SetPosition(0, a.transform.position + dir * 7);
        line.SetPosition(1, b.transform.position + dir * 7);
        line.sharedMaterial = NodeMaterial;
    }
Exemplo n.º 15
0
    private void createLine(string name, Vector3 start, Vector3 end)
    {
        LineRenderer line = new GameObject(name).AddComponent <LineRenderer>();

        line.material = new Material(Shader.Find("Diffuse"));
        line.SetVertexCount(2);
        line.SetPosition(0, start);
        line.SetPosition(1, end);
        line.SetWidth(0.5f, 0.5f);
        line.SetColors(Color.black, Color.black);
        // line.useWorldSpace = true;
    }
Exemplo n.º 16
0
 public Line(Vector3 StartPosition, float Size)
 {
     line = new GameObject("Hihi").AddComponent <LineRenderer>();
     Vector3[] a = new Vector3[2];
     positionStart = StartPosition;
     a[0]          = positionStart;
     a[1]          = positionStart;
     line.SetPositions(a);
     line.SetPosition(0, Vector3.zero);
     line.SetWidth(Size, Size);
     line.transform.position = StartPosition;
 }
Exemplo n.º 17
0
    private void drawLine(Vector3 start, Vector3 end, Color color)
    {
        LineRenderer line = new GameObject("Line ").AddComponent <LineRenderer>();

        line.SetWidth(0.025F, 0.025F);
        line.SetColors(color, color);
        line.SetVertexCount(2);
        line.SetPosition(0, start);
        line.SetPosition(1, end);
        line.material.shader = (Shader.Find("Unlit/Color"));
        line.material.color  = color;
        lines.Add(line.gameObject);
    }
Exemplo n.º 18
0
    private void makeLineGraph(Vector3 begin, Vector3 end)
    {
        //makePoint(begin);
        // makePoint(end);
        LineRenderer line = new GameObject().AddComponent <LineRenderer>();

        line.transform.parent = this.transform.parent;
        line.SetWidth(0.05F, 0.05F);
        line.SetColors(Color.green, Color.green);
        line.SetPosition(0, begin);
        line.SetPosition(1, end);
        line.SetVertexCount(2);
        line.material = new Material(Shader.Find("Particles/Additive"));
    }
Exemplo n.º 19
0
        private LineRenderer initLR(Vessel v, VesselBounds vbounds)
        {
            LineRenderer Lr;

            Lr          = new GameObject().AddComponent <LineRenderer>();
            Lr.material = new Material(Shader.Find("KSP/Emissive/Diffuse"));
            Lr.material.SetColor("_EmissiveColor", Color.green);
            Lr.SetWidth(0.15f, 0.15f);
            Lr.SetVertexCount(2);
            Lr.SetPosition(0, v.CoM + vbounds.bottomPoint);
            Lr.SetPosition(1, v.CoM + vbounds.bottomPoint +
                           Vector3.ProjectOnPlane(v.CoM - FlightCamera.fetch.mainCamera.transform.position, vbounds.up).normalized);
            Lr.enabled = true;
            return(Lr);
        }
Exemplo n.º 20
0
    void addLineVector(Vector3 currentVector, Vector3 newVector)
    {
        // create a new line renderer
        LineRenderer lineRenderer = GetComponent <LineRenderer>();
        LineRenderer lRend        = new GameObject().AddComponent <LineRenderer>();

        lRend.SetPosition(0, transform.position);
        lRend.SetWidth(.2f, .2f);
        lRend.SetPosition(1, newVector);
        listOfVectors.Add(lRend);
        lRend.SetColors(Color.blue, Color.blue);

        //lineRenderer.SetPosition(0, transform.position);
        //lineRenderer.SetWidth(.5f, .5f);
        //lineRenderer.SetPosition(1, newVector);
    }
Exemplo n.º 21
0
        private void CreateCategoryTabs()
        {
            // Only touch categories when new ones were added
            if (!PieceCategories.Any())
            {
                return;
            }

            // Get the GUI elements
            GameObject root = Hud.instance.m_pieceCategoryRoot;

            if (root.GetComponent <RectMask2D>() == null)
            {
                root.AddComponent <RectMask2D>();
                root.SetWidth(PieceCategorySize);

                Transform border = root.transform.Find("TabBorder");
                border?.SetParent(root.transform.parent, true);
            }

            List <string>     newNames = new List <string>(Hud.instance.m_buildCategoryNames);
            List <GameObject> newTabs  = new List <GameObject>(Hud.instance.m_pieceCategoryTabs);

            // Append tabs and their names to the GUI for every custom category not already added
            foreach (var category in PieceCategories)
            {
                if (!newNames.Contains(category.Key))
                {
                    GameObject newTab = Object.Instantiate(Hud.instance.m_pieceCategoryTabs[0], root.transform);
                    newTab.name = category.Key;
                    UIInputHandler handler = newTab.GetOrAddComponent <UIInputHandler>();
                    handler.m_onLeftDown += Hud.instance.OnLeftClickCategory;

                    char[] forbiddenCharsArray = LocalizationManager.ForbiddenChars.ToCharArray();
                    string tokenCategory       = string.Concat(category.Key.ToLower().Split(forbiddenCharsArray));
                    string tokenName           = $"jotunn_cat_{tokenCategory}";
                    LocalizationManager.Instance.JotunnLocalization.AddTranslation(tokenName, category.Key);

                    newNames.Add(LocalizationManager.Instance.TryTranslate(tokenName));
                    newTabs.Add(newTab);
                }
            }

            // Replace the HUD arrays
            Hud.instance.m_buildCategoryNames = newNames.ToList();
            Hud.instance.m_pieceCategoryTabs  = newTabs.ToArray();
        }
Exemplo n.º 22
0
    void DrawOnMove()
    {
        //Se os valores X ou Y da variavel MouseLastPosition(Posiçao antiga do mouse) forem diferentes dos valores X ou Y da variavel MouseActualPosition(Posiçao atual do mouse), entao o mouse se moveu
        if(MouseLastPosition.x != MouseActualPosition.x || MouseLastPosition.y != MouseActualPosition.y)
        {
            LineRenderer Line = new GameObject("Line").AddComponent<LineRenderer>();
            Line.transform.parent = GameObject.Find("LineMother").transform;
            Line.material = LineColor;
            Line.SetVertexCount(2);
            Line.SetWidth(0.1f,0.1f);
            Line.SetPosition(0,Camera.main.ScreenToWorldPoint(new Vector3(MouseLastPosition.x, MouseLastPosition.y, ZPosition)));
            Line.SetPosition(1,Camera.main.ScreenToWorldPoint(new Vector3(MouseActualPosition.x, MouseActualPosition.y, ZPosition)));

            //Igualando a posiçao antiga do mouse com a atual, para caso ele se mova de novo, a comparaçao seja correta
            MouseLastPosition = Input.mousePosition;
        }
    }
Exemplo n.º 23
0
    void SpawnLines()
    {
        lines = new List <LineRenderer>();

        for (int i = 0; i < x; i++)
        {
            for (int j = 0; j < y; j++)
            {
                LineRenderer l = new GameObject().AddComponent <LineRenderer>().GetComponent <LineRenderer>();
                lines.Add(l);
                l.transform.parent   = transform;
                l.transform.position = new Vector3((grid_w / 2) * ((float)i / (float)x), (grid_h / 2) * ((float)j / (float)y), 0);
                l.SetWidth(lineWidth, lineWidth);
                l.numCapVertices = 90;
            }
        }
    }
Exemplo n.º 24
0
        /// <summary>
        ///     Create a toggle element
        /// </summary>
        /// <param name="parent">parent transform</param>
        /// <param name="labelname">label text</param>
        /// <param name="description">description text</param>
        /// <param name="modguid">module GUID</param>
        /// <param name="section">section</param>
        /// <param name="key">key</param>
        /// <param name="width">width</param>
        /// <returns></returns>
        private static GameObject CreateToggleElement(Transform parent, string labelname, string description, string modguid, string section, string key,
                                                      float width)
        {
            // Create the outer gameobject first
            var result = new GameObject("Toggler", typeof(RectTransform));

            result.transform.SetParent(parent, false);
            result.SetWidth(width);

            // and now the toggle itself
            GUIManager.Instance.CreateToggle(result.transform, new Vector2(0, 0), 28f, 28f).SetUpperRight();

            // create the label text element
            var label = GUIManager.Instance.CreateText(labelname, result.transform, new Vector2(0, 1), new Vector2(0, 1), new Vector2(0, 0),
                                                       GUIManager.Instance.AveriaSerifBold, 16, GUIManager.Instance.ValheimOrange, true, Color.black, width - 45f, 0, true).SetUpperLeft()
                        .SetToTextHeight();

            label.SetWidth(width - 45f);
            label.SetToTextHeight();
            label.transform.SetParent(result.transform, false);

            // create the description text element (easy mode, just copy the label element and change some properties)
            var desc = Object.Instantiate(result.transform.Find("Text").gameObject, result.transform);

            desc.name = "Description";
            desc.GetComponent <Text>().color    = Color.white;
            desc.GetComponent <Text>().fontSize = 12;
            desc.GetComponent <Text>().text     = description;
            desc.GetComponent <RectTransform>().anchoredPosition = new Vector2(0, -(result.transform.Find("Text").gameObject.GetHeight() + 3f));
            desc.GetComponent <RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, desc.GetComponent <Text>().preferredHeight);

            result.GetComponent <RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical,
                                                                            desc.GetComponent <RectTransform>().anchoredPosition.y + desc.GetComponent <Text>().preferredHeight + 15f);

            // and add a layout element
            var layoutElement = result.AddComponent <LayoutElement>();

            layoutElement.preferredHeight =
                Math.Max(38f, desc.GetComponent <RectTransform>().anchoredPosition.y + desc.GetComponent <Text>().preferredHeight) + 15f;
            result.SetHeight(layoutElement.preferredHeight);

            // Bind to config entry
            result.AddComponent <ConfigBoundBoolean>().SetData(modguid, section, key);

            return(result);
        }
Exemplo n.º 25
0
    private void CreateCables()
    {
        Transform    parachuteCableHookPointsParent = rigidParachute.transform.Find("CableHookPoints");
        Transform    payloadCableHookPointsParent   = payload.transform.Find("CableHookPoints");
        LineRenderer cable;

        parachuteCablesContainer                  = new GameObject();
        parachuteCablesContainer.name             = "Cables";
        parachuteCablesContainer.transform.parent = transform;

        parachuteCableHookPoints = new Transform[parachuteCableHookPointsParent.GetChildCount()];
        payloadCableHookPoints   = new Transform[payloadCableHookPointsParent.GetChildCount()];

        for (int t = 0; t < parachuteCableHookPointsParent.GetChildCount(); t++)
        {
            parachuteCableHookPoints[t] = parachuteCableHookPointsParent.GetChild(t);
        }

        for (int t = 0; t < payloadCableHookPointsParent.GetChildCount(); t++)
        {
            payloadCableHookPoints[t] = payloadCableHookPointsParent.GetChild(t);
        }

        if (parachuteCableHookPoints.Length != payloadCableHookPoints.Length)
        {
            Debug.Log("Cable Hook Points on the Parachute need to match the payload cable hook points");
        }

        cables = new LineRenderer[parachuteCableHookPoints.Length];
        prevCableLengthDistance = new float[parachuteCableHookPoints.Length];

        for (int t = 0; t < parachuteCableHookPoints.Length; t++)
        {
            cable                  = new GameObject().AddComponent <LineRenderer>();
            cable.material         = cableMaterial;
            cable.transform.parent = parachuteCablesContainer.transform;
            cable.transform.name   = parachuteCableHookPoints[t].name + "Cable";

            cable.transform.position   = parachuteCableHookPoints[t].position;
            prevCableLengthDistance[t] = 0;
            cable.SetWidth(.04f, .065f);
            cables[t] = cable;
        }
    }
Exemplo n.º 26
0
	public static void buildLine(Vector3 start, Vector3 end){
		LineRenderer line = new GameObject ("Line").AddComponent<LineRenderer> ();
		//apparently I should use this as a default material, but it didn't work so I used some arbitrary material
		//line.material = new Material(Shader.Find("Particles/Additive"));
		line.material = material;
		line.gameObject.layer = LayerMask.NameToLayer ("Minimap");
		line.material.SetColor ("colour", Color.black);
		line.castShadows = false;
		line.receiveShadows = false;
		line.transform.parent = GameObject.Find("lines").transform;
		line.SetWidth(1.0f, 1.0f);
		line.SetVertexCount(2);
		line.SetPosition(0, start);
		line.SetPosition (1, end);
		string positions = start.x.ToString () + "," + start.y.ToString () + "," + start.z.ToString () + "," + end.x.ToString () + "," + end.y.ToString () + "," + end.z.ToString ();
		if (Network.isServer) {
			ClientNetwork client = (ClientNetwork) GameObject.FindObjectOfType(typeof(ClientNetwork));
			client.startClientLines (positions);
		}
	}
Exemplo n.º 27
0
    /*
     * -------------------------------------------- KETERANGAN -------------------------------------------------
     * NAMA : void initialitation_line_dalam()
     * DESKRIPSI:
     * Fungsi yang digunakan untuk membuat garis yang menghubungkan antara nama komponen saraf dengan bagian komponen saraf dalam
     * STATUS:
     * Done
     * ----------------------------------------------------------------------------------------------------------
     */
    void initialitation_line_dalam()
    {
        // Add a Line Renderer to the GameObject
        sell_schawann_line = new GameObject().AddComponent <LineRenderer>() as LineRenderer;
        // Set the width of the Line Renderer
        sell_schawann_line.SetWidth(0.05F, 0.05F);
        // Set the number of vertex fo the Line Renderer
        sell_schawann_line.SetVertexCount(2);

        // Add a Line Renderer to the GameObject
        akson_line = new GameObject().AddComponent <LineRenderer>() as LineRenderer;
        // Set the width of the Line Renderer
        akson_line.SetWidth(0.05F, 0.05F);
        // Set the number of vertex fo the Line Renderer
        akson_line.SetVertexCount(2);

        // Add a Line Renderer to the GameObject
        nukleus_line = new GameObject().AddComponent <LineRenderer>() as LineRenderer;
        // Set the width of the Line Renderer
        nukleus_line.SetWidth(0.05F, 0.05F);
        // Set the number of vertex fo the Line Renderer
        nukleus_line.SetVertexCount(2);
    }
Exemplo n.º 28
0
        /// <summary>
        /// Draw a new line.
        /// </summary>
        /// <param name="group">Group name to associate the line with.</param>
        /// <param name="start">Starting location.</param>
        /// <param name="end">Ending location.</param>
        /// <param name="color">Color of the line.</param>
        /// <param name="size">Width of the line.</param>
        public static void AddLine(string group, Vector3 start, Vector3 end, Color color, float size)
        {
            GameObject   groupObject = AddOrGetGroup(group);
            LineRenderer lineR       = new GameObject()
            {
                name  = "Line",
                layer = layerIgnoreRaycast
            }.AddComponent <LineRenderer>();
            var matPropBlock = new MaterialPropertyBlock();

            matPropBlock.SetColor(ShaderProperty.MainColor, color);
            lineR.SetVertexCount(2);
            lineR.SetPosition(0, start);
            lineR.SetPosition(1, end);
            lineR.SetWidth(size, size);
            lineR.material = ResourceList.getInstance().Materials.PlainColor;
            lineR.SetColors(color, color);

            lineR.transform.parent = groupObject.transform;

            SetMatPropBlock(lineR, color);
            DisableShadows(lineR);
        }
Exemplo n.º 29
0
    /// <summary>
    /// Start is called on the frame when a script is enabled just before
    /// any of the Update methods is called the first time.
    /// </summary>
    void Start()
    {
        StartV3 = gameObject.transform.position;
        StatQua = gameObject.transform.rotation;

        mat = new Material(Shader.Find("Legacy Shaders/Self-Illumin/Diffuse"));


        nn = new NeuralNetwork(shape);
        Py2Unity.Instance.RecFromPython();
        nn.LoadWeights(wPath);


        Vector3 vc = new Vector3(Random.value, Random.value, Random.value);
        float   a  = Vector3.Angle(vc, Vector3.one);
        float   d  = Mathf.Sin(a / 180 * Mathf.PI) * vc.magnitude;

        if (d > 0.8f)
        {
            mat.color = new Color(vc.x, vc.y, vc.z);
        }

        rigidbody.centerOfMass = center;

        for (int i = 0; i < num; i++)
        {
            LineRenderer lr = new GameObject("line" + i).AddComponent <LineRenderer>();
            lr.transform.SetParent(transform);
            lr.transform.localPosition = Vector3.zero;
            lr.transform.localRotation = Quaternion.identity;
            lr.SetWidth(0.06f, 0.06f);
            lr.material          = mat;
            lr.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
            lr.receiveShadows    = false;
            lineList.Add(lr);
        }
    }
Exemplo n.º 30
0
	public void MakeMeLaser(Color color)
	{
		/*
		foreach(GameObject go in GameObject.FindObjectsOfType(typeof(GameObject)))
		{
			if(go.name == "lineUP")
			{
				GameObject.Destroy (go);
			}
		}
		// Set LineRenderer InitializationGameObject yourName = new GameObject();
		LineRenderer lineRenderer = new GameObject("lineUP").AddComponent<LineRenderer>();
		lineRenderer.sharedMaterial = new Material(Shader.Find("Particles/Additive"));
		lineRenderer.SetColors(Color.red, Color.red);
		lineRenderer.SetWidth(1f, 1f);
		lineRenderer.SetVertexCount(2);
		
		// We need no Shadows
		lineRenderer.castShadows = false;
		lineRenderer.receiveShadows = false;
		Debug.Log ("Raw posX: " + posX + "Raw posX: " + posY);

		float worldX = posX * 4;
		float worldZ = posY * 4;

		Vector3 pos = new Vector3(worldX + 2, 0, worldZ + 2);
		lineRenderer.SetPosition(0, pos);

		pos = new Vector3(worldX + 2, 800, worldZ + 2);
		lineRenderer.SetPosition(1, pos);
		*/
		// Make 
		//GameController.instance.treeGroupController.AddTreeGroup(posX, posY);

		RaycastHit hit;

		// Set LineRenderer InitializationGameObject yourName = new GameObject();
		LineRenderer lineRenderer = new GameObject("lineUP").AddComponent<LineRenderer>();
		lineRenderer.sharedMaterial = new Material(Shader.Find("Particles/Additive"));
		lineRenderer.SetColors(color, color);
		lineRenderer.SetWidth(0.2f, 0.2f);
		lineRenderer.SetVertexCount(5);
		
		// We need no Shadows
		lineRenderer.castShadows = false;
		lineRenderer.receiveShadows = false;
		
		float worldX = posX * 4;
		float worldZ = posY * 4;
		Vector3 pos;
		Ray ray = new Ray(new Vector3(worldX, 10, worldZ), Vector3.up);
		if (Physics.Raycast (ray, out hit)) 
		{
			pos = new Vector3(worldX, hit.point.y + 1, worldZ);
			lineRenderer.SetPosition(0, pos);
		}


		ray = new Ray(new Vector3(worldX + 4, 10, worldZ), Vector3.up);
		if (Physics.Raycast (ray, out hit)) 
		{
			pos = new Vector3(worldX + 4, hit.point.y + 1, worldZ);
			lineRenderer.SetPosition(1, pos);
		}

		ray = new Ray(new Vector3(worldX + 4, 10, worldZ + 4), Vector3.up);
		if (Physics.Raycast (ray, out hit)) 
		{
			pos = new Vector3(worldX + 4, hit.point.y + 1, worldZ + 4);
			lineRenderer.SetPosition(2, pos);
		}

		ray = new Ray(new Vector3(worldX, 10, worldZ + 4), Vector3.up);
		if (Physics.Raycast (ray, out hit)) 
		{
			pos = new Vector3(worldX, hit.point.y + 1, worldZ + 4);
			lineRenderer.SetPosition(3, pos);
		}

		ray = new Ray(new Vector3(worldX, 10, worldZ), Vector3.up);
		if (Physics.Raycast (ray, out hit)) 
		{
			pos = new Vector3(worldX, hit.point.y + 1, worldZ);
			lineRenderer.SetPosition(4, pos);
		}
	

		lineRenderer.gameObject.AddComponent<SelectionLine>();
	}
Exemplo n.º 31
0
	// Draw a single line.
	void DrawLine(int lineMultiplicator, Axis axis)
	{
		// Set LineRenderer InitializationGameObject yourName = new GameObject();
		LineRenderer lineRenderer = new GameObject("line").AddComponent<LineRenderer>();
		lineRenderer.sharedMaterial = lineMaterial;
		lineRenderer.SetColors(c1, c2);
		lineRenderer.SetWidth(beginWidth, endWidth);
		lineRenderer.SetVertexCount(lengthOfLineRenderer / lineSegmentLenght + 1);
		
		// We need no Shadows
		lineRenderer.castShadows = false;
		lineRenderer.receiveShadows = false;
		
		// Create LineVertexes
		InstantiateLine(lineMultiplicator, lineRenderer, axis);
		
	}
Exemplo n.º 32
0
    IEnumerator SpawnPortal(int portal)
    {
        Vector2 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);

        hit = Physics2D.Raycast(_gunNozzle.position, (mousePos - (Vector2)_gunNozzle.position).normalized, Mathf.Infinity, _wallMask);
        if (hit.collider != null)
        {
            if (hit.collider.gameObject.layer == 15 || hit.collider.gameObject.layer == 16)
            {
                yield break;
            }
            positions[1]    = hit.point;
            _portalSpawnPos = hit.point;
        }
        else
        {
            yield break;
        }
        if (portals[portal] != null)
        {
            GameObject.Destroy(portals[portal]);
        }
        LineRenderer rend = new GameObject().AddComponent <LineRenderer>();

        positions[0] = _gunNozzle.position;
        rend.SetWidth(0.113f, 0.113f);
        rend.material       = portalFire;
        rend.alignment      = LineAlignment.TransformZ;
        rend.numCapVertices = 10;
        rend.SetPositions(positions);
        portals[portal] = GameObject.Instantiate(_portal, _portalSpawnPos, Quaternion.identity) as GameObject;
        portals[portal].transform.up = hit.normal;
        portals[portal].GetComponent <FollowParent>().parent   = hit.transform;
        portals[portal].GetComponent <FollowParent>().localPos = hit.transform.InverseTransformPoint(portals[portal].transform.position);
        portals[portal].GetComponent <FollowParent>().localRot = Quaternion.Inverse(hit.transform.rotation) * portals[portal].transform.rotation;
        if (portal == 0)
        {
            if (portals[1] != null)
            {
                portals[portal].GetComponent <PortalScript>()._otherPortal = portals[1];
                portals[1].GetComponent <PortalScript>()._otherPortal      = portals[0];
            }
        }
        else
        {
            if (portals[0] != null)
            {
                portals[portal].GetComponent <PortalScript>()._otherPortal = portals[0];
                portals[0].GetComponent <PortalScript>()._otherPortal      = portals[1];
            }
        }
        switch (portal)
        {
        case 0:
            rend.material.SetColor("_Color", _portal1Col);
            portals[portal].GetComponent <Renderer>().material.SetColor("_Color", _portal1Col);
            break;

        case 1:
            rend.material.SetColor("_Color", _portal2Col);
            portals[portal].GetComponent <Renderer>().material.SetColor("_Color", _portal2Col);
            break;
        }

        yield return(new WaitForSeconds(0.094f));

        GameObject.Destroy(rend.gameObject);
    }
Exemplo n.º 33
0
    private LineRenderer createLine()
    {
        LineRenderer line;

        line = new GameObject("Line").AddComponent<LineRenderer>();

        line.SetWidth(0.06f, 0.06f);

        line.material = this.material;

        line.material.SetColor("_Color", new Color(0.8824f, 0.1843f, 0.0413f));

        line.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
        line.SetColors(new Color(0.8824f, 0.1843f, 0.0413f), new Color(0.8824f, 0.1843f, 0.0413f));

        line.SetVertexCount(2);

        return line;
    }
 protected void drawLine(Vector3 start, Vector3 end, Color color)
 {
     LineRenderer line = new GameObject("Line ").AddComponent<LineRenderer>();
     line.SetWidth(0.025F, 0.025F);
     line.SetColors(color, color);
     line.SetVertexCount(2);
     line.SetPosition(0, start);
     line.SetPosition(1, end);
     line.material.shader = (Shader.Find("Unlit/Color"));
     line.material.color = color;
     lines.Add(line.gameObject);
 }
Exemplo n.º 35
0
 private void makeLineGraph(Vector3 begin, Vector3 end)
 {
     //makePoint(begin);
    // makePoint(end);
     LineRenderer line = new GameObject().AddComponent<LineRenderer>();
     line.transform.parent = this.transform.parent;
     line.SetWidth(0.05F, 0.05F);
     line.SetColors(Color.green, Color.green);
     line.SetPosition(0, begin);
     line.SetPosition(1, end);
     line.SetVertexCount(2);
     line.material = new Material(Shader.Find("Particles/Additive"));
 }
Exemplo n.º 36
0
    public void AddMultipleBondNeighbour(GameObject neighbour)
    {
        //Get amount of bonds with this neighbour
        int nrOfBonds = 0;

        for (int i = 0; i < connectedElements.Count; i++)
        {
            if (connectedElements [i].GetInstanceID() == neighbour.GetInstanceID())
            {
                nrOfBonds++;
            }
        }

        //Update info and renderer if additional bond is possible
        if (nrOfBonds < maxBonds)
        {
            Debug.Log("multiple Bond happening! NrOfBonds: " + nrOfBonds + ", MaxBonds: " + maxBonds);
            connectedElements.Add(neighbour);
            neighbour.GetComponent <GridfieldController> ().AddThisMultipleBondNeighbour(this.gameObject, nrOfBonds);
            leftConnections--;
            //Get the render
            bool         newRenderer = false;
            LineRenderer lRenderer   = new GameObject("Line to " + neighbour.GetInstanceID() + nrOfBonds).AddComponent <LineRenderer> ();
            for (int i = 0; i < lineRenderers.Count; i++)
            {
                if (lineRenderers[i].gameObject.name.Equals("Line to " + neighbour.GetInstanceID()))
                {
                    lRenderer.transform.parent = lineRenderers[i].transform.parent;
                    lRenderer.material         = lineRenderers[i].material;
                    lRenderer.SetVertexCount(2);
                    lRenderer.SetPosition(0, this.transform.position);
                    lRenderer.SetPosition(1, neighbour.transform.position);
                    lRenderer.sortingOrder = 2;
                    //Change the render to display the multiple bond

                    switch (nrOfBonds)
                    {
                    case 1:
                        //double bond
                        lRenderer.SetColors(new Color(174f / 255f, 174f / 255f, 174f / 255f), new Color(174f / 255f, 174f / 255f, 174f / 255f));
                        lRenderer.sortingOrder++;
                        lRenderer.SetWidth(defaultBondWidth, defaultBondWidth);
                        newRenderer = true;
                        lineRenderers[i].SetWidth(defaultBondWidth * 3, defaultBondWidth * 3);
                        break;

                    case 2:
                        //triple bond
                        lRenderer.SetColors(Color.black, Color.black);
                        lRenderer.sortingOrder += 2;
                        lRenderer.SetWidth(defaultBondWidth / 2, defaultBondWidth / 2);
                        newRenderer = true;
                        lineRenderers[i].SetWidth(defaultBondWidth * 2, defaultBondWidth * 2);
                        break;
                    }
                }
            }
            if (newRenderer)
            {
                lineRenderers.Add(lRenderer);
                lineDestinations.Add(lRenderer, neighbour.GetComponent <GridfieldController>().GetElement());
            }
        }
        else
        {
            Debug.Log(this.gameObject.name + "'s nr of bonds: " + nrOfBonds + "; Max bonds: " + maxBonds);
            //Max bonds alredy reached, reset all connections
            neighbour.GetComponent <GridfieldController> ().RemoveThisNeighbour(this.gameObject);
            RemoveThisNeighbour(neighbour);
        }
    }
Exemplo n.º 37
0
        public Part findCounterpartOnLaunch()
        {
            // Raycast upwards, return true if there's a lockable part within proper distance and aligned
            int rayCastMask = 0xFFFF;

            RaycastHit[] hits = new RaycastHit[5]; // Say, 5 colliders ought to be enough for anyone

            Transform tf = part.FindModelTransform(lockTransform);

            float upperBound = findPartUpperBound(tf);

            printDebug($"upper bound = {upperBound}");

            if (debugLevel > 1)
            {
                // Debug visual for raycast
                LineRenderer lr = new GameObject().AddComponent <LineRenderer> ();
                lr.material      = new Material(Shader.Find("KSP/Emissive/Diffuse"));
                lr.useWorldSpace = true;
                lr.material.SetColor("_EmissiveColor", Color.green);

#if (KSP_151 || KSP_161 || KSP_171)
                lr.positionCount = 2;
                lr.startWidth    = 0.05f;
                lr.endWidth      = 0.05f;
#else
                lr.SetVertexCount(2);
                lr.SetWidth(0.05f, 0.05f);
#endif

                lr.enabled = true;
                lr.SetPosition(0, tf.position);
                lr.SetPosition(1, tf.up * upperBound * 1.5f);
            }

            int nHits = Physics.RaycastNonAlloc(tf.position, tf.up, hits, upperBound * 1.5f, rayCastMask);
            printDebug($"Got {nHits} hits");
            for (int n = 0; n < nHits; n++)
            {
                printDebug($"Got raycast hit {hits[n]}, transform: {hits[n].transform}, GO: {hits[n].transform.gameObject}" +
                           $"; distance: {hits[n].distance}; collider: {hits[n].collider}");
                Part hitPart = hits[n].transform.gameObject.GetComponentInParent <Part>();
                if (hitPart == null)
                {
                    printDebug("No part");
                    continue;
                }
                printDebug($"Hit part {hitPart}; id={hitPart.flightID}");
                if (hitPart.flightID == part.flightID)
                {
                    printDebug("Got hit to ourselves");
                    continue;
                }
                // Check if it is a lockable part at all
                if (!isLockablePart(hitPart))
                {
                    printDebug("Part could not be locked to");
                    continue;
                }
                printDebug("Part could be locked to");
                // Ok, we can lock to it. Check alignment
                if (!checkRollAndDot(hitPart, upperBound))
                {
                    printDebug("Part not aligned");
                    return(null);
                }

                printDebug($"Parts aligned, returning {hitPart}");
                return(hitPart);
            }
            return(null);
        }