Example #1
0
 private void Update()
 {
     // Aktuell im Turret
     if (inTurretMode())
     {
         // Deaktiviere ggf. Turret
         if (GvrControllerInput.AppButtonDown || Input.GetMouseButtonDown(1))
         {
             TurretMode(null);
         }
         // Aktiviere schießen
         if (GvrControllerInput.ClickButton || Input.GetMouseButton(0))
         {
             currTurret.GetComponent <Turret>().ShootGun(true);
         }
         else if (currTurret != null)
         {
             if (currTurret.GetComponent <Turret>().isShooting)
             {
                 currTurret.GetComponent <Turret>().ShootGun(false);
             }
         }
         // Turret pos/rot updaten
         currTurret.transform.rotation = gameObject.GetComponentInChildren <Camera>().transform.rotation;
         gameObject.GetComponentInChildren <Camera>().transform.position = currTurret.GetComponent <Turret>().playerPos.position;
     }
     else if (inPlacementMode())
     {
         // Falle loslassen
         if (GvrControllerInput.AppButtonUp || Input.GetMouseButtonUp(1))
         {
             currTrap = null;
         }
         // Falle bewegen
         else
         {
             RaycastHit[] myHits = Physics.RaycastAll(myPointer.GetRayForDistance(100).ray, 100, LayerMask.GetMask("Default"));
             // Etwas getroffen
             if (myHits.Length > 0)
             {
                 // Boden getroffen
                 if (myHits[0].transform.tag.Equals("Ground"))
                 {
                     currTrap.transform.position = myHits[0].transform.position;
                 }
             }
         }
     }
     else
     {
         // Click Button wird bereits für Teleportieren genutzt
         if (GvrControllerInput.AppButtonDown || Input.GetMouseButtonDown(1))
         {
             RaycastHit[] myHits = Physics.RaycastAll(myPointer.GetRayForDistance(100).ray, 100, LayerMask.GetMask("Default"));
             // Etwas getroffen
             if (myHits.Length > 0)
             {
                 // Boden getroffen
                 if (myHits[0].transform.tag.Equals("Ground") &&
                     ((ExtendedNetworkManager)NetworkManager.singleton).gameManager.getTrapCount() < trapCount)
                 {
                     trapCount++;
                     currTrap = Instantiate(trapPrefab, myHits[0].transform.position, Quaternion.identity);
                 }
                 // Alle Fallen platziert
                 else if (((ExtendedNetworkManager)NetworkManager.singleton).gameManager.getTrapCount() == trapCount)
                 {
                     trapCount++;
                     ((ExtendedNetworkManager)NetworkManager.singleton).gameManager.trapsPlaced();
                 }
             }
         }
     }
 }