private void AssignDamagePoint(Component_SlottedContainer slottedContainer) { // Damge from the BOTTOM UP, so that the hand goes last // TODO: Maybe kinda counterintuitive? var target = slottedContainer.InspectStoredEntities() .Where(e => this.GetRemainingInternalStructure(e) > 0) .Reverse() .First(); var damageEvent = new GameEvent_TakeDamage(1); target.HandleEvent(damageEvent); if (!damageEvent.Completed) { throw new ArgumentException("Target didn't take damage when it should have!"); } }