public void RemoveSubscriber(OnDead function) { if (function != null) { OnTriggerDead -= function; } }
private void HandleClose(object sender, CloseEventArgs args) { State = MediaConnectionState.NotConnected; if (args.Code == 1006) { Thread.Sleep(200); Task.Run(() => Connect()); return; } else if (args.Code >= 4000) { var discordCode = (DiscordMediaCloseCode)args.Code; if (discordCode == DiscordMediaCloseCode.SessionTimeout || discordCode == DiscordMediaCloseCode.ServerCrashed) { Task.Run(() => Connect()); return; } } if (args.Code != 1004) { OnDead?.Invoke(this, args); } }
public void Damage(int damageAmount) { // Cycle through hearst starting from the end for (int i = heartList.Count - 1; i >= 0; i--) { Heart heart = heartList[i]; // Test if this heart can absorb damageAmount if (damageAmount > heart.GetFragmentAmount()) { // Heart cannot absorb full damageAmount, damage heart, and keep going to next heart damageAmount -= heart.GetFragmentAmount(); heart.Damage(heart.GetFragmentAmount()); } else { // Heart can absorb full damageAmount, absorb, and break out of the cycle heart.Damage(damageAmount); break; } } OnDamaged?.Invoke(this, EventArgs.Empty); if (IsDead()) { OnDead?.Invoke(this, EventArgs.Empty); } }
private IEnumerator Co_Dieing(Vector3 direction) { if (_fallingRigidbody == null) { _fallingRigidbody = GetComponentInChildren <Rigidbody>(); } _fallingRigidbody.useGravity = true; _fallingRigidbody.isKinematic = false; _fallingRigidbody.constraints = RigidbodyConstraints.FreezeRotationZ; _fallingRigidbody.AddForceAtPosition(-direction.normalized * 60, transform.position + Vector3.up * 6, ForceMode.Impulse); for (int i = 0; _disableOnDeath != null && i < _disableOnDeath.Length; i++) { _disableOnDeath[i].SetActive(false); } do { yield return(null); _fallingRigidbody.constraints = RigidbodyConstraints.None; } while (!_deadCondition.IsDead); IsDead = true; OnDead?.Invoke(this, EventArgs.Empty); }
private void OnCollisionEnter2D(Collision2D other) { if (other.gameObject.layer == platformLayer) { transform.SetParent(other.transform); } isGrounded = true; if (Camera.main.WorldToScreenPoint(transform.position).y > Screen.height * 0.8f) { Vector3 cameraPosition = Camera.main.transform.position; cameraPosition.y = transform.position.y + 4f; StageTransition(cameraPosition, 2f); } if (other.gameObject.GetComponent <Platform>() is Platform platform) { if (platform.Score > score) { UpdateScore(platform.Score); if (platform.Score == PlatformGenerator.MaxLevel) { OnDead?.Invoke(platform.Score); } } } }
private void OnCollisionEnter2D(Collision2D collision) { _isDead = true; OnDead?.Invoke(); Time.timeScale = 0f; //SceneManager.LoadScene("Menu"); }
public void Dead() { if (!isDead && OnDead != null) { OnDead.Invoke(); } isDead = true; }
private IEnumerator DieAsync() { OnDead?.Invoke(); yield return(new WaitForSeconds(3)); Destroy(this.gameObject); }
// OnDie protected virtual void OnDie() { if (regeneration) { StopCoroutine("StartRegeneration"); } Vector3 nativePos = transform.position; nativePos.y += .15f; System.Action callSpawning = () => { foreach (GameObject deathObj in deathObjects) { if (deathObj != null) { (Instantiate(deathObj, nativePos, Random.rotation) as GameObject) .MoveToCache() .Send("SetOwner", lastDamage.owner) .Send("OnSpawn"); } } foreach (Pickup drop in deathDrops) { if (drop != null) { Vector3 randomPos = nativePos; randomPos.y += Random.value; randomPos.x += Random.Range(-1, 1f); randomPos.z += Random.Range(-1, 1f); drop.SpawnCopy(randomPos, Random.rotation) .MoveToCache() .Send("OnSpawn"); if (dropOnlyOnePickup) { break; } } } }; OnDead.Invoke(); if (spawnObjectsDelay > 0) { this.RunAction(callSpawning, spawnObjectsDelay); } else { callSpawning.Invoke(); } Respawner.StartRespawn(gameObject, destroyBodyDelay); }
protected void Dead() { GetComponents <Collider2D>().ForEach(c => c.enabled = false); StopAllCoroutines(); isDead = true; animator.Dead(); Invoke(nameof(Disable), 1); OnDead?.Invoke(this); }
public void Dead() { if (!isDead && OnDead != null) { animator.enabled = false; OnDead.Invoke(); } isDead = true; }
protected IEnumerator OnDamagedCoroutine() { OnDead?.Invoke(); _isDead = true; transform.eulerAngles = new Vector3(0, 180, 0); transform.Translate(Vector3.back * 1f); _animator.SetTrigger("Damaged"); yield return(new WaitForSeconds(0.3f)); _isFalling = true; }
// membuat burung mati public void Dead() { // pengecekan jika belum mati dan value OnDead tidak sama dengan null if (!isDead && OnDead != null) { // memanggil semua event pada OnDead OnDead.Invoke(); } // mengeset variabel dead menjadi true isDead = true; }
//Membuat Burung Mati public void Dead() { //Pengecekan jka belum mati dan value OnDead tidak sama sekali dengan Null if (!isDead && OnDead != null) { //Memanggil semua event pada OnDead OnDead.Invoke(); } //Mengeset variable Dead menjadi True isDead = true; }
public void Dead() { if (!isDead && OnDead != null) { OnDead.Invoke(); saveSystem.SaveScore(score); highscoreText.text = saveSystem.LoadScore().ToString(); } isDead = true; }
//Method dead public void Dead() { //Jika belum mati dan value ONDead tidak sama dengan null if (!isDead && OnDead != null) { //Memanggil semua event pada OnDead OnDead.Invoke(); } //Set variable dead menjadi true isDead = true; }
public void Dead() // Membuat burung mati { // Pengecekan jika belum mati dan value OnDead tidak sama dengan Null if (!isDead && OnDead != null) { // Memanggil semua event pada OnDead OnDead.Invoke(); } // Set variabel dead menjadi true isDead = true; }
private void Hit(GameObject bullet) { Health = Mathf.Max(0, Health - bullet.GetComponent <Bullet>().Damage); _material.color = Color.red; _material.DOColor(_originalColor, 0.5f); _hpBar.DOScaleX((float)Health / MaxHealth, 0.5f); Destroy(bullet); if (Health <= 0) { OnDead?.Invoke(); Destroy(gameObject); } }
void ExitState() { switch (m_currentState) { case EnemyState.kDead: { m_OnDead = null; GameObject.Destroy(gameObject); break; } default: break; } }
public IEnumerator Fadeout() { while (m_spriteRendererRef.color.a > 0.0f) { Color c = m_spriteRendererRef.color; c.a -= 0.1f; m_spriteRendererRef.color = c; yield return(new WaitForSeconds(0.05f)); } m_OnDead(); m_OnDead = null; GameObject.Destroy(gameObject); yield return(null); }
//Membuat Bird Mati public void Dead() { //Pengecekan jika belum mati dan value OnDead tidak sama dengan Null if (!isDead && OnDead != null) { rigidBody2d.transform.rotation = Quaternion.Euler(0f, 0f, 180f); //Memanggil semua event pada OnDead OnDead.Invoke(); } //Mengeset variable Dead menjadi True isDead = true; }
public void Initialize() { health = 100; playerRigidBody2D = this.gameObject.GetComponent <Rigidbody2D> (); anim = this.gameObject.GetComponent <Animator> (); spriteRenderer = this.gameObject.GetComponent <SpriteRenderer> (); rangedWeapon = gameObject.AddComponent <RangedWeapon> (); OnDamaged = new OnDamaged(); OnDead = new OnDead(); OnAttacked = new OnAttacked(); OnDamaged.AddListener(DebugHealth); }
public override void TakeDamage() { if (base.Health > 0) { Health--; } if (Health < 1) { if (OnDead != null) { OnDead.Invoke(this); } } }
public void TakeHit(IAttacker attacker) { if (IsDead) { return; } currentHealth = Mathf.Max(currentHealth -= attacker.Damage, 0); OnHealthChanged?.Invoke(currentHealth, maxHealth); if (IsDead) { OnDead?.Invoke(); } }
public void TakeDamage(float damage) { CurrentHP -= damage; hpBar.fillAmount = CurrentHP / MaxHP; if (CurrentHP <= 0) { OnDead?.Invoke(); if (gameObject != null) { Destroy(gameObject); } } }
public void Dead() { if (isImmune) { return; } if (!isDead && OnDead != null) { OnDead.Invoke(); } isDead = true; scoreText.text = "Press P to play again"; GameOver.gameObject.SetActive(true); }
void GameOver() { StopAllCoroutines(); foreach (var queue in projectiles) { while (queue.Count > 0) { queue.Dequeue().Smack();; } } skinnedMesh.materials[1].mainTexture = dead; skinnedMesh.materials[0].color = new Color(.1f, .5f, .2f); overText.text = $"Game Over!\nFinal Score: {score.ToString("N0")}"; SendScore(); OnDead.Invoke(); }
protected void ChangeHealth(float amount) { HealthPoints += amount; // Rounding to min and max HealthPoints = Mathf.Clamp(HealthPoints, 0, MaxHealthPoints); OnChangeHealth?.Invoke(HealthPoints); if (HealthPoints != 0) { return; } OnDead?.Invoke(); // Check for availability death animation if (_animator != null) { StartCoroutine(AnimationDeath()); } }
public void SetHealth(int damage) { current -= damage; fillAmount = (float)current / (float)maximum; mask.fillAmount = fillAmount; for (int i = 0; i < percentageValues.Count; i++) { if (percentageValues[i] <= fillAmount && percentageValues[i - 1] > fillAmount && i >= 1) { percentageReached?.Invoke(i); } } if (current <= 0) { OnDead?.Invoke(); } }
protected virtual void Die() { //do only one time if (isDead) { return; } isDead = true; OnDead?.Invoke(); //throw ball if is in hand ThrowBall(); //stop character enabled = false; }