void OnTriggerEnter2D(Collider2D other) //Hàm nhận dạng vật thể va chạm với người chơi { DamageDealer damageDealer = other.GetComponent <DamageDealer>(); //Lấy phần scipt chứa sát thương cảu vật thể va chạm if (damageDealer) { ProcessHit(damageDealer); //Nếu tồn tại scipt chứa sát thương gây ra thì xử lý nó với người chơi } PrizeDealer prizeDealer = other.GetComponent <PrizeDealer>(); if (prizeDealer) { PrizeReceive(prizeDealer); //Nếu vật thể va chạm là gift thì xử lý } if (other.gameObject.layer != LayerMask.NameToLayer("Enemy")) //Nếu vật thể không phải là kẻ địch thì phá hủy vật thể va chạm { Destroy(other.gameObject); } //Phần trên được dùng chủ yếu để phá hủy đạn của kẻ địch và gift khi va chạm với người chơi }
//Hàm xử lý sự kiện khi nhận được gift void PrizeReceive(PrizeDealer prizeDealer) { if (prizeDealer.GetScore() > 0) { FindObjectOfType <GameSessions>().AddToScore(prizeDealer.GetScore()); //Xử lý khi nhận được gift cho điểm } health += (int)prizeDealer.GetHeath(); gameSessions.SetHealth(health); if (prizeDealer.isUprade())//Xử lý khi nhận được gift upgrade đạn { if (laserPrefabs == laserUpgrade1) { laserPrefabs = laserUpgrade2; } else if (laserPrefabs == laser) { laserPrefabs = laserUpgrade1; } } prizeDealer.Hit();//Phá hủy đối tượng gift trên màn hình }