Change all of body system to use entities and components (#2074)

* Early commit

* Early commit 2

* merging master broke my git

* does anyone even read these

* life is fleeting

* it just works

* this time passing integration tests

* Remove hashset yaml serialization for now

* You got a license for those nullables?

* No examine, no context menu, part and mechanism parenting and visibility

* Fix wrong brain sprite state

* Removing layers was a mistake

* just tear body system a new one and see if it still breathes

* Remove redundant code

* Add that comment back

* Separate damage and body, component states, stomach rework

* Add containers for body parts

* Bring layers back pls

* Fix parts magically changing color

* Reimplement sprite layer visibility

* Fix tests

* Add leg test

* Active legs is gone

Crab rave

* Merge fixes, rename DamageState to CurrentState

* Remove IShowContextMenu and ICanExamine
This commit is contained in:
DrSmugleaf
2020-10-10 15:25:13 +02:00
committed by GitHub
parent 73c730d06c
commit dd385a0511
165 changed files with 4232 additions and 4650 deletions

View File

@@ -23,20 +23,12 @@ namespace Content.Shared.Damage.DamageContainer
public DamageContainer(HealthChangedDelegate onHealthChanged, DamageContainerPrototype data)
{
ID = data.ID;
OnHealthChanged = onHealthChanged;
SupportedClasses = data.ActiveDamageClasses;
}
public DamageContainer(HealthChangedDelegate onHealthChanged, List<DamageClass> supportedClasses)
{
OnHealthChanged = onHealthChanged;
SupportedClasses = supportedClasses;
}
public DamageContainer(HealthChangedDelegate onHealthChanged)
{
OnHealthChanged = onHealthChanged;
}
public string ID { get; }
[ViewVariables] public virtual List<DamageClass> SupportedClasses { get; }

View File

@@ -11,8 +11,7 @@ namespace Content.Shared.Damage.DamageContainer
/// Prototype for the DamageContainer class.
/// </summary>
[Prototype("damageContainer")]
[NetSerializable]
[Serializable]
[Serializable, NetSerializable]
public class DamageContainerPrototype : IPrototype, IIndexedPrototype
{
private List<DamageClass> _activeDamageClasses;

View File

@@ -26,9 +26,12 @@ namespace Content.Shared.Damage.ResistanceSet
public ResistanceSet(ResistanceSetPrototype data)
{
ID = data.ID;
_resistances = data.Resistances;
}
public string ID { get; }
/// <summary>
/// Adjusts input damage with the resistance set values. Only applies reduction if the amount is damage (positive), not
/// healing (negative).

View File

@@ -11,8 +11,7 @@ namespace Content.Shared.Damage.ResistanceSet
/// Prototype for the BodyPart class.
/// </summary>
[Prototype("resistanceSet")]
[NetSerializable]
[Serializable]
[Serializable, NetSerializable]
public class ResistanceSetPrototype : IPrototype, IIndexedPrototype
{
private Dictionary<DamageType, float> _coefficients;