private void OnEnable() { Spawner = Spawner.Singletone; gameObject.name = NicknameGenerator.GenerateOneWordNick(); CurrentDirVec = new Vector2(Random.Range(-1f, 1f), Random.Range(-1f, 1f)); currentBehavior = Behavior.Passive; _peopleFinder = Instantiate(peopleFinderFab, transform.position, Quaternion.identity).GetComponent <PeopleFinder>(); _peopleFinder.SetParent(transform); nearPeoplePosition = _peopleFinder.FindNearestObject(); }
private void OnTriggerEnter2D(Collider2D collision) { if (IsNotFlicker) { #region PeopleCollision if (collision.CompareTag("People")) { AddScore(); if (collision.name != "D_People") { collision.transform.position = Spawner.NewPeoplePosition(); } if (collision.name == "D_People") { Destroy(collision.gameObject); } nearPeoplePosition = _peopleFinder.FindNearestObject(); } #endregion #region VirusCollision if (collision.GetComponent <Tail>() != null && collision.name != gameObject.name) { var colliedTail = collision.GetComponent <Tail>(); if (colliedTail.head.IsNotFlicker) { if (colliedTail.head is PlayerVirusHead) { DeathSoundPlay(); PlayerVirusHead.Singletone.OnKillingVirusInvoke(); } Death(); } } if (collision.GetComponent <VirusHead>() != null && collision.name != gameObject.name) { var colliedVirusHead = collision.GetComponent <VirusHead>(); if (colliedVirusHead.Wide >= Wide && colliedVirusHead.IsNotFlicker) { if (colliedVirusHead is PlayerVirusHead) { if (colliedVirusHead.Wide != Wide) { DeathSoundPlay(); } PlayerVirusHead.Singletone.OnKillingVirusInvoke(); } Death(); } } #endregion } if (collision.name == "PlayArea") { Stun(collision); nearPeoplePosition = _peopleFinder.FindNearestObject(); } }