Exemplo n.º 1
0
    void Update()
    {
        if (IsDead && IsControlled)
        {
            transform.root.position = new Vector3(0, 0, 0);

            if (respawnTimer > 0)
            {
                respawnTimer -= Time.deltaTime;
            }
            else if (respawnTimer <= 0)
            {
                respawnTimer = 0;

                Health = 100;

                PlayerSpawnPackage psp = new PlayerSpawnPackage();
                NetworkManager.Instance.Client.SendData(psp);
            }
        }

        if (IsControlled)
        {
            if (transform.root.position.y < -50)
            {
                PlayerHealthPackage ps = new PlayerHealthPackage();
                ps.PlayerIP = PlayerIP;
                ps.Value    = -Health;
                ps.Hit      = true;
                NetworkManager.Instance.Client.SendData(ps);
            }
        }

        //direction is (pointB - pointA).normalized
        Vector3 start = calculateCentroid(eyesL.position, eyesR.position);
        Ray     r     = new Ray(start, (laserTarget.position - start).normalized);

        hit = Physics.Raycast(r, out hitInfo, Options.LaserTargetDistance);
        if (hit)
        {
            laserTarget.localPosition = new Vector3(laserTarget.localPosition.x, laserTarget.localPosition.y, hitInfo.distance);
        }
        else
        {
            laserTarget.localPosition = new Vector3(laserTarget.localPosition.x, laserTarget.localPosition.y, Options.LaserTargetDistance);
        }

        if (AlwaysFireLaserBeams)
        {
            SetLasersEnabled(true);
        }

        if (gangnamObject != null)
        {
            gangnamObject.transform.position = this.gameObject.transform.position;
            gangnamObject.transform.rotation = this.gameObject.transform.rotation;
        }
    }
Exemplo n.º 2
0
    void Update()
    {
        if (IsDead && IsControlled)
        {
            transform.root.position = new Vector3(0, 0, 0);

            if (respawnTimer > 0)
                respawnTimer -= Time.deltaTime;
            else if (respawnTimer <= 0)
            {
                respawnTimer = 0;

                Health = 100;

                PlayerSpawnPackage psp = new PlayerSpawnPackage();
                NetworkManager.Instance.Client.SendData(psp);
            }
        }

        if (IsControlled)
        {
            if (transform.root.position.y < -50)
            {
                PlayerHealthPackage ps = new PlayerHealthPackage();
                ps.PlayerIP = PlayerIP;
                ps.Value = -Health;
                ps.Hit = true;
                NetworkManager.Instance.Client.SendData(ps);
            }
        }

        //direction is (pointB - pointA).normalized
        Vector3 start = calculateCentroid(eyesL.position, eyesR.position);
        Ray r = new Ray(start, (laserTarget.position - start).normalized);
        hit = Physics.Raycast(r, out hitInfo, Options.LaserTargetDistance);
        if(hit)
            laserTarget.localPosition = new Vector3(laserTarget.localPosition.x, laserTarget.localPosition.y, hitInfo.distance);
        else
            laserTarget.localPosition = new Vector3(laserTarget.localPosition.x, laserTarget.localPosition.y, Options.LaserTargetDistance);

        if(AlwaysFireLaserBeams)
            SetLasersEnabled(true);

        if (gangnamObject != null)
        {
            gangnamObject.transform.position = this.gameObject.transform.position;
            gangnamObject.transform.rotation = this.gameObject.transform.rotation;
        }
    }