/// <summary> /// initialise the trail. /// </summary> public void Start() { if (missile == true) { LineRenderer lineRenderer = gameObject.GetComponent <LineRenderer>(); lineRenderer.material = new Material(Shader.Find("Particles/Additive")); lineRenderer.startColor = Color.blue; lineRenderer.endColor = Color.white; } i = 0; if (missile == false) { parent = transform.parent.parent.GetComponent <CustomPathfinding>(); } Positions = new Vector3[size]; positionsrealtive = new Vector3[size]; transform.localPosition = transform.localPosition + new Vector3(0, 0, -5); linerender = GetComponent <LineRenderer>(); WorldParent = GameObject.Find("Objects"); WorldBase = GameObject.Find("WorldScaleBase"); linerender.startWidth = 1; linerender.endWidth = 0; linerender.positionCount = Positions.Length; for (int i = 0; i < Positions.Length; i++) { Positions[i] = WorldParent.transform.InverseTransformPoint(transform.position); } for (int i = 0; i < Positions.Length; i++) { linerender.SetPosition(i, WorldParent.transform.TransformPoint(Positions[i])); } linerender.startWidth = WorldBase.transform.localScale.x / 38000; Rep(); }
/// <summary> /// initialise on deterministic start. /// </summary> public void StartMain() { mesh = GetComponent <MeshRenderer>(); original = mesh.material; unitcontrol = GameObject.Find("Controllers").GetComponent <UnitMovementcommandcontroller>(); parent = transform.parent.GetComponent <_Ship>(); parentpasfinding = transform.parent.GetComponent <CustomPathfinding>(); World = GameObject.Find("WorldScaleBase"); if (transform.parent.Find("Engines")) { engines = transform.parent.Find("Engines").gameObject; } foreach (Transform t in transform.parent) { if (t.gameObject != this.gameObject && t.tag == "Pickup") { foreach (MeshRenderer mesh in t.GetComponentsInChildren <MeshRenderer>()) { parentchildren.Add(mesh); } } } started = true; if (transform.childCount > 0) { linerencontrol = transform.GetChild(0).GetComponent <LineRenderController>(); } }
/// <summary> /// Update the cloak status. /// </summary> void LateUpdate() { if (started) { if (mesh.enabled == false) { mesh.enabled = true; } if (cloakedlast != cloaked) { if (cloaked) { cloack(); } else if (distancecloacked == false) { mesh.material = original; mesh.enabled = true; if (engines && parentpasfinding.currentlymoving == true) { engines.SetActive(true); } foreach (MeshRenderer gam in parentchildren) { gam.enabled = true; } } cloakedlast = cloaked; } if (cloaked && engines && engines.GetActive() == true) { engines.SetActive(false); } } if (parentpasfinding == null) { parentpasfinding = transform.parent.GetComponent <CustomPathfinding>(); } if (parentpasfinding && parentpasfinding.timepassedsincespawn == 0) { if (mesh == null) { mesh = GetComponent <MeshRenderer>(); } if (mesh && mesh.enabled == true) { mesh.enabled = false; } } }