Exemplo n.º 1
0
    // Use this for initialization
    void Start()
    {
        GFXTransform = GFX.GetComponent <Transform>();
        //playerRigidbody = GetComponent<Rigidbody>();
        playerData     = GetComponent <PlayerData>();
        playerUI       = GetComponent <PlayerUI>();
        charController = GetComponent <CharacterController>();
        bulletToPoint  = GetComponentInChildren <BulletToPoint>();
        bulletSphere   = GetComponentInChildren <BulletSphere>();
        animator       = GetComponentInChildren <Animator>();
        _health        = maxHealth;
        meleeCollider.SetActive(false);
        Cursor.lockState = CursorLockMode.Locked;

        //print(GameManager.currentCheckpoint);
        if (GameManager.currentCheckpoint != null)
        {
            transform.position = GameObject.Find(GameManager.currentCheckpoint).transform.position;
        }
    }
Exemplo n.º 2
0
    // Update is called once per frame
    void Update()
    {
        if (!isNotRaycasting)
        {
            Debug.DrawRay(
                transform.position + new Vector3(0, 1, 0),
                ((player.transform.position + new Vector3(0, 1f, 0)) - transform.position).normalized);

            RaycastHit hit;
            Physics.Raycast(
                transform.position + new Vector3(0, 1, 0),
                ((player.transform.position + new Vector3(0, 1f, 0)) - transform.position).normalized,
                out hit,
                playerDetectionDistance,
                playerMask
                );
            if (hit.transform == null)
            {
                healthBarObject.SetActive(false);
                detectedPlayer = false;

                if (detectedPlayer && isBox)
                {
                    if (boxOpenTrigger._isOpen)
                    {
                        boxOpenTrigger.Trigger();
                    }
                }
                return;
            }
            if (!(hit.transform.tag == "Player"))
            {
                healthBarObject.SetActive(false);
                detectedPlayer = false;

                if (detectedPlayer && isBox)
                {
                    if (boxOpenTrigger._isOpen)
                    {
                        boxOpenTrigger.Trigger();
                    }
                }
                return;
            }
        }
        detectedPlayer = true;

        if (detectedPlayer && isBox)
        {
            if (!boxOpenTrigger._isOpen)
            {
                boxOpenTrigger.Trigger();
            }
        }

        foreach (var element in bulletEmitters)
        {
            if (element is BulletToPoint && isTargetingPlayer == true)
            {
                BulletToPoint bulletToPoint = element as BulletToPoint;
                bulletToPoint.ShootPosition = player.transform.position + new Vector3(0, 1, 0);
            }
            element.Shoot();
        }
        //Vector3 newPos = transform.position;
        //newPos.y += Mathf.Sin(Time.timeSinceLevelLoad)/80;
        //transform.position = newPos;

        //Vector3 newRot = transform.eulerAngles;
        //newRot.y += 1 * Time.deltaTime;
        //transform.eulerAngles = newRot;

        healthBarObject.SetActive(true);
        healthBarTransform.anchoredPosition =
            RectTransformUtility.WorldToScreenPoint(
                playerCamera, transform.position + new Vector3(0, 2, 0)
                );
    }