/// <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();
 }
Esempio n. 2
0
 /// <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>();
     }
 }
Esempio n. 3
0
 /// <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;
         }
     }
 }