Add OnDamaged method to IOnDamageBehavior (#685)

* Add OnDamaged method to IOnDamageBehavior

* Adds Source, SourceMob to OnDamage.
This commit is contained in:
Víctor Aguilera Puerto
2020-02-13 15:57:40 +01:00
committed by GitHub
parent 3292939756
commit 934f6fb7e2
12 changed files with 80 additions and 22 deletions

View File

@@ -17,15 +17,19 @@ namespace Content.Server.Interfaces.GameObjects
/// </summary>
/// <param name="damageType">Type of damage being received.</param>
/// <param name="amount">Amount of damage being received.</param>
void TakeDamage(DamageType damageType, int amount);
/// <param name="source">Entity that damaged this entity.</param>
/// <param name="sourceMob">Mob that damaged this entity.</param>
void TakeDamage(DamageType damageType, int amount, IEntity source, IEntity sourceMob);
/// <summary>
/// Handles receiving healing.
/// Converts healing via the resistance set then applies it
/// and informs components of thresholds passed as necessary.
/// </summary>
/// <param name="damageType">Type of damage being received.</param>
/// <param name="amount">Amount of damage being received.</param>
void TakeHealing(DamageType damageType, int amount);
/// <param name="damageType">Type of healing being received.</param>
/// <param name="amount">Amount of healing being received.</param>
/// <param name="source">Entity that healed this entity.</param>
/// <param name="sourceMob">Mob that healed this entity.</param>
void TakeHealing(DamageType damageType, int amount, IEntity source, IEntity sourceMob);
}
}

View File

@@ -1,4 +1,5 @@
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using Content.Server.GameObjects;
namespace Content.Server.Interfaces
@@ -15,13 +16,20 @@ namespace Content.Server.Interfaces
/// Gets a list of all DamageThresholds this component/entity are interested in.
/// </summary>
/// <returns>List of DamageThresholds to be added to DamageableComponent for watching.</returns>
List<DamageThreshold> GetAllDamageThresholds();
List<DamageThreshold> GetAllDamageThresholds() => null;
/// <summary>
/// Damage threshold passed event hookup.
/// </summary>
/// <param name="obj">Damageable component.</param>
/// <param name="e">Damage threshold and whether it's passed in one way or another.</param>
void OnDamageThresholdPassed(object obj, DamageThresholdPassedEventArgs e);
void OnDamageThresholdPassed(object obj, DamageThresholdPassedEventArgs e) { }
/// <summary>
/// Called when the entity is damaged.
/// </summary>
/// <param name="obj">Damageable component.</param>
/// <param name="e">DamageEventArgs</param>
void OnDamaged(object obj, DamageEventArgs e) { }
}
}