예제 #1
0
 // Use this for initialization
 void Start()
 {
     if (HRezLaserList.Length > 0)
     {
         HighRezLaser = HRezLaserList[CurrentHRezLaser];
     }
     cameraTransform = Camera.main.gameObject.transform;
     // Assign Targets to Beams
     for (int i = 0; i < HRezLaserList.Length; i++)
     {
         if (i == 0)
         {
             HRezLaserList[i].CurrentTarget = BeamTarget1Transform;
         }
         else if (i == 1)
         {
             HRezLaserList[i].CurrentTarget = BeamTarget2Transform;
         }
         else if (i == 2)
         {
             HRezLaserList[i].CurrentTarget = BeamTarget3Transform;
         }
         else if (i == 3)
         {
             HRezLaserList[i].CurrentTarget = BeamTarget4Transform;
         }
         else if (i == 4)
         {
             HRezLaserList[i].CurrentTarget = BeamTarget5Transform;
         }
     }
 }
예제 #2
0
 private void UpdateMouseTargeting()
 {
     if (HighRezLaser == HRezLaserList[CurrentHRezLaser])
     {
         if (!HRezLaserList[CurrentHRezLaser].LaserFiring)
         {
             mouseHit = new RaycastHit();
             vRay     = Camera.main.ScreenPointToRay(Input.mousePosition);
             if (Physics.Raycast(vRay, out mouseHit, 1000))
             {
                 HRezLaserList[CurrentHRezLaser].CurrentTarget.position = mouseHit.point;
                 HRezLaserList[CurrentHRezLaser].FireLaser();
             }
         }
         else
         {
             // Laser Already Firing Just Update Target Position Lerp
             mouseHit = new RaycastHit();
             vRay     = Camera.main.ScreenPointToRay(Input.mousePosition);
             if (Physics.Raycast(vRay, out mouseHit, 1000))
             {
                 HRezLaserList[CurrentHRezLaser].CurrentTarget.position = Vector3.Lerp(HRezLaserList[CurrentHRezLaser].CurrentTarget.position, mouseHit.point, TargetPointFollowSpeed * Time.deltaTime);
             }
         }
     }
     else
     {
         HighRezLaser = HRezLaserList[CurrentHRezLaser];
     }
 }
예제 #3
0
    IEnumerator flashMuzzle()
    {
        if (gun.prefabName == "Railgun")
        {
            WSP_HighRezLaser o = GetComponentInChildren <WSP_HighRezLaser>();
            o.FireLaser();
        }


        Vector3 rot = Vector3.zero;

        rot.z = Random.Range(0f, 180f);
        muzzleFlash.localEulerAngles = rot;
        muzzleFlash.localScale       = new Vector3(Random.Range(1.00f, 1.20f), Random.Range(1.00f, 1.20f), Random.Range(0.75f, 1.50f));
        muzzleFlash.gameObject.SetActive(true);
        yield return(new WaitForSeconds(muzzleFlashLength));

        muzzleFlash.gameObject.SetActive(false);
    }
예제 #4
0
 void Start()
 {
     parentHighRezLaser = gameObject.GetComponent <WSP_HighRezLaser>();
     random             = new System.Random((int)Time.realtimeSinceStartup);
 }
예제 #5
0
 private void UpdateCurrentHRezLaser()
 {
     HighRezLaser = HRezLaserList[CurrentHRezLaser];
 }