void OnWillRenderObject() { if (CameraEx.IsObjectVisible(Camera.main, GetComponent <SpriteRenderer>()) && !startedCoroutine) { StartCoroutine(ThrowBone(TimeToSpawn)); } }
void OnWillRenderObject() { if (CameraEx.IsObjectVisible(Camera.main, GetComponent <SpriteRenderer>()) && !IsOnScreen) { // Camera.main.GetComponent<AudioSource>(). CanMove = true; CanDamage = true; IsOnScreen = true; } }
void OnWillRenderObject() { if (CameraEx.IsObjectVisible(Camera.main, GetComponent <SpriteRenderer>())) { canMove = true; IsOnScreen = true; } else { canMove = false; IsOnScreen = false; } }
IEnumerator ResetState(float seconds) { yield return(new WaitForSeconds(seconds)); if (CameraEx.IsObjectVisible(Camera.main, GetComponent <SpriteRenderer>())) { if (!hasSetMusic) { hasSetMusic = true; } PickNewState(); } StartCoroutine(ResetState(seconds)); }
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)); }
// 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)))); }