Пример #1
0
 void OnWillRenderObject()
 {
     if (CameraEx.IsObjectVisible(Camera.main, GetComponent <SpriteRenderer>()) && !startedCoroutine)
     {
         StartCoroutine(ThrowBone(TimeToSpawn));
     }
 }
Пример #2
0
 void OnWillRenderObject()
 {
     if (CameraEx.IsObjectVisible(Camera.main, GetComponent <SpriteRenderer>()) && !IsOnScreen)
     {
         // Camera.main.GetComponent<AudioSource>().
         CanMove    = true;
         CanDamage  = true;
         IsOnScreen = true;
     }
 }
Пример #3
0
 void OnWillRenderObject()
 {
     if (CameraEx.IsObjectVisible(Camera.main, GetComponent <SpriteRenderer>()))
     {
         canMove    = true;
         IsOnScreen = true;
     }
     else
     {
         canMove    = false;
         IsOnScreen = false;
     }
 }
Пример #4
0
    IEnumerator ResetState(float seconds)
    {
        yield return(new WaitForSeconds(seconds));

        if (CameraEx.IsObjectVisible(Camera.main, GetComponent <SpriteRenderer>()))
        {
            if (!hasSetMusic)
            {
                hasSetMusic = true;
            }
            PickNewState();
        }
        StartCoroutine(ResetState(seconds));
    }
Пример #5
0
    IEnumerator ResetState(float seconds)
    {
        yield return(new WaitForSeconds(seconds));

        if (CameraEx.IsObjectVisible(Camera.main, GetComponent <SpriteRenderer>()))
        {
            hasActivated = true;
            PickNewState();
        }
        else if (hasActivated && attacking)
        {
            var newPos = GameObject.FindGameObjectWithTag("SpawnWall");
            transform.position = newPos.transform.position;
            ready        = false;
            attacking    = false;
            hasActivated = false;
            GetComponent <Rigidbody2D>().velocity       = Vector3.zero;
            GetComponent <CircleCollider2D>().isTrigger = false;
            StopCoroutine(AttackPlayer());
            BossState = 0;
            animator.SetInteger(nameof(BossState), BossState);
        }
        StartCoroutine(ResetState(seconds));
    }
Пример #6
0
 // Update is called once per frame
 void Update()
 {
     StartCoroutine(DamageCoroutine());
     isVisible = CameraEx.IsObjectVisible(Camera.main, GetComponent <SpriteRenderer>());
     ScreenWrap();
 }
    bool EnemiesInCamera()
    {
        var enemies = GameObject.FindGameObjectsWithTag("Enemy");

        return(enemies.Any(x => CameraEx.IsObjectVisible(Camera.main, x.GetComponent <Renderer>(), new Vector3(5, 0, 0))));
    }