[ClientRpc] public void RpcPlayerDied(Vector3 newSpawnPos)
 {
     if (PCO.isLocal())
     {
         PCO.isAlive = false;
         //Debug.Log("local player dead");
     }
     //respawn the player
     //transform.position = newSpawnPos;
     //RD.currentHealth = RD.maxHealth;
     //RD.didWeCheckDeath = false;
     StartCoroutine(deathCo(newSpawnPos, 3));
 }
Exemple #2
0
    // Update is called once per frame
    void Update()
    {
        int previousSelectedZoomLevel = zoomLevel;

        if (TargetObject)
        {
            transform.position  = TargetObject.transform.position;
            transform.position += Vector3.back;
            transform.rotation  = Quaternion.identity;
            transform.Rotate(0, 0, TargetObject.transform.rotation.eulerAngles.z);

            if (GravitySystem.instance.gravityType != GravitySystem.GravityType.ToCenter &&
                GravitySystem.instance.isReverseGravity)
            {
                transform.Rotate(0, 0, 180);
            }
        }
        if (parentPCO.isLocal())  //local player can change weapon
        {
            if (Input.GetAxis("Mouse ScrollWheel") < 0.0f)
            {
                if (zoomLevel >= zoomLimit)
                {
                    zoomLevel = zoomLimit;
                }
                else
                {
                    zoomLevel++;
                }
            }

            if (Input.GetAxis("Mouse ScrollWheel") > 0.0f)
            {
                if (zoomLevel <= 1)
                {
                    zoomLevel = 1;
                }
                else
                {
                    zoomLevel--;
                }
            }
        }
        if (previousSelectedZoomLevel != zoomLevel)
        {
            selectZoom();
        }
    }
    void Update()
    {
        int previousSelectedWeapon = selectedWeapon;

        if (parentPCO.isLocal())  //local player can change weapon
        {
            if (Input.GetKeyDown(KeyCode.E))
            {
                if (selectedWeapon >= transform.childCount - 1)
                {
                    selectedWeapon = transform.childCount - 1;
                }
                else
                {
                    selectedWeapon++;
                }
            }
            if (Input.GetKeyDown(KeyCode.Q))
            {
                if (selectedWeapon <= 0)
                {
                    selectedWeapon = 0;
                }
                else
                {
                    selectedWeapon--;
                }
            }

            /*
             *          if (Input.GetAxis("Mouse ScrollWheel") < 0.0f) {
             *              if (selectedWeapon <= 0)
             *                  selectedWeapon = 0;
             *              else
             *                  selectedWeapon--;
             *          }
             */
        }

        if (!parentPCO.isAlive)
        {
            if (selectedWeapon != -1)
            {
                weaponBeforeDeath = selectedWeapon;
            }
            respawned      = false;
            selectedWeapon = -1;
        }
        else
        {
            if (!respawned)
            {
                selectedWeapon = weaponBeforeDeath;
                respawned      = true;
            }
        }
        if (previousSelectedWeapon != selectedWeapon)
        {
            selectWeapon();
            parentPCO.changeWeapon(selectedWeapon);
            //Debug.Log("changing weapon on script");
        }
    }