Skip to content

Commit

Permalink
Merge pull request #1107 from kreghek/refactor-1103-rename-person-eff…
Browse files Browse the repository at this point in the history
…ects

renamed: IEffectsModule to IConditionModule, EffectsModule to Conditi…
  • Loading branch information
kreghek committed May 20, 2021
2 parents 62f27c1 + da701b9 commit 8ba8f65
Show file tree
Hide file tree
Showing 19 changed files with 157 additions and 180 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ private void UpdateEffects()
return;
}

var effects = person.GetModule<IEffectsModule>();
var effects = person.GetModule<IConditionModule>();

foreach (var effect in effects.Items)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,13 @@ private static bool HasEffect(IActor actor, SurvivalStatType survivalStatType)
throw new ArgumentNullException(nameof(actor));
}

var effectsModule = actor.Person.GetModuleSafe<IEffectsModule>();
if (effectsModule is null)
var сonditionModule = actor.Person.GetModuleSafe<IConditionModule>();
if (сonditionModule is null)
{
return false;
}

var hazardEffect = effectsModule.Items.OfType<SurvivalStatHazardEffect>()
var hazardEffect = сonditionModule.Items.OfType<SurvivalStatHazardEffect>()
.SingleOrDefault(x => x.Type == survivalStatType && x.Level == SurvivalStatHazardLevel.Strong);
if (hazardEffect == null)
{
Expand Down
10 changes: 5 additions & 5 deletions Zilon.Core/Zilon.Core.Specs/Mocks/TestEmptyPersonFactory.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,25 +41,25 @@ public IPerson Create(string personSchemeSid, IFraction fraction)
var equipmentModule = new EquipmentModule(personScheme.Slots);
person.AddModule(equipmentModule);

var effectsModule = new EffectsModule();
person.AddModule(effectsModule);
var сonditionModule = new ConditionModule();
person.AddModule(сonditionModule);

var evolutionModule = new EvolutionModule(_schemeService);
person.AddModule(evolutionModule);

var survivalModule = new HumanSurvivalModule(personScheme, _survivalRandomSource, attributesModule,
effectsModule, evolutionModule, equipmentModule);
сonditionModule, evolutionModule, equipmentModule);
person.AddModule(survivalModule);

var defaultActScheme = _schemeService.GetScheme<ITacticalActScheme>(person.Scheme.DefaultAct);
var combatActModule =
new CombatActModule(defaultActScheme, equipmentModule, effectsModule, evolutionModule);
new CombatActModule(defaultActScheme, equipmentModule, сonditionModule, evolutionModule);
person.AddModule(combatActModule);

var combatStatsModule = new CombatStatsModule(evolutionModule, equipmentModule);
person.AddModule(combatStatsModule);

var diseaseModule = new DiseaseModule(effectsModule);
var diseaseModule = new DiseaseModule(сonditionModule);
person.AddModule(diseaseModule);

return person;
Expand Down
10 changes: 5 additions & 5 deletions Zilon.Core/Zilon.Core.Specs/Steps/SurvivalSteps.cs
Original file line number Diff line number Diff line change
Expand Up @@ -105,17 +105,17 @@ public void ThenАктёрПодЭффектом(string effectName)

if (stat != SurvivalStatType.Undefined)
{
var effect = actor.Person.GetModule<IEffectsModule>().Items
var сondition = actor.Person.GetModule<IConditionModule>().Items
.OfType<SurvivalStatHazardEffect>()
.SingleOrDefault(x => x.Type == stat);

effect.Should().NotBeNull();
effect.Level.Should().Be(level);
сondition.Should().NotBeNull();
сondition.Level.Should().Be(level);
}
else
{
var effects = actor.Person.GetModule<IEffectsModule>().Items.OfType<SurvivalStatHazardEffect>();
effects.Should().BeEmpty();
var сonditions = actor.Person.GetModule<IConditionModule>().Items.OfType<SurvivalStatHazardEffect>();
сonditions.Should().BeEmpty();
}
}

Expand Down
18 changes: 9 additions & 9 deletions Zilon.Core/Zilon.Core.Tests/PersonModules/DiseaseModuleTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public class DiseaseModuleTests
{
[Test]
[TestCaseSource(typeof(DiseaseDataTestCaseSource), nameof(DiseaseDataTestCaseSource.TestCases))]
public void Update_AllProcess_EffectAddedAndRemoved(DiseaseSymptom[] symptoms)
public void Update_AllProcess_ConditionAddedAndRemoved(DiseaseSymptom[] symptoms)
{
if (symptoms is null)
{
Expand All @@ -30,13 +30,13 @@ public void Update_AllProcess_EffectAddedAndRemoved(DiseaseSymptom[] symptoms)
// ARRANGE
var effectList = new List<IPersonEffect>();

var effectModuleMock = new Mock<IEffectsModule>();
effectModuleMock.Setup(x => x.Add(It.IsAny<IPersonEffect>()))
var сonditionModuleMock = new Mock<IConditionModule>();
сonditionModuleMock.Setup(x => x.Add(It.IsAny<IPersonEffect>()))
.Callback<IPersonEffect>(x => effectList.Add(x));
effectModuleMock.Setup(x => x.Remove(It.IsAny<IPersonEffect>()))
сonditionModuleMock.Setup(x => x.Remove(It.IsAny<IPersonEffect>()))
.Callback<IPersonEffect>(x => effectList.Remove(x));
effectModuleMock.SetupGet(x => x.Items).Returns(effectList);
var effectModule = effectModuleMock.Object;
сonditionModuleMock.SetupGet(x => x.Items).Returns(effectList);
var сonditionModule = сonditionModuleMock.Object;

var diseaseMock = new Mock<IDisease>();
diseaseMock.Setup(x => x.GetSymptoms())
Expand All @@ -45,7 +45,7 @@ public void Update_AllProcess_EffectAddedAndRemoved(DiseaseSymptom[] symptoms)
.Returns(1f / GlobeMetrics.OneIterationLength);
var disease = diseaseMock.Object;

var diseaseData = new DiseaseModule(effectModule);
var diseaseData = new DiseaseModule(сonditionModule);

diseaseData.Infect(disease);

Expand All @@ -58,9 +58,9 @@ public void Update_AllProcess_EffectAddedAndRemoved(DiseaseSymptom[] symptoms)

// ARRANGE
var exceptedTimes = symptoms.Length;
effectModuleMock.Verify(x => x.Add(It.Is<IPersonEffect>(effect => IsDeaseSymptom(effect))),
сonditionModuleMock.Verify(x => x.Add(It.Is<IPersonEffect>(effect => IsDeaseSymptom(effect))),
Times.Exactly(exceptedTimes));
effectModuleMock.Verify(x => x.Remove(It.Is<IPersonEffect>(effect => IsDeaseSymptom(effect))),
сonditionModuleMock.Verify(x => x.Remove(It.Is<IPersonEffect>(effect => IsDeaseSymptom(effect))),
Times.Exactly(exceptedTimes));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,22 +26,23 @@ public void UpdateSurvivalEffect_EmptyEffectsAndCrossKeyPoint_NewEffectWasAdded(
{
// ARRANGE

var effectModuleMock = new Mock<IEffectsModule>();
effectModuleMock.SetupGet(x => x.Items).Returns(Array.Empty<IPersonEffect>());
var effectModule = effectModuleMock.Object;
var сonditionModuleMock = new Mock<IConditionModule>();
сonditionModuleMock.SetupGet(x => x.Items).Returns(Array.Empty<IPersonEffect>());
var сonditionModule = сonditionModuleMock.Object;

var stat = new SurvivalStat(0, 0, 1);
var segments = new[] { new SurvivalStatKeySegment(0, 1, SurvivalStatHazardLevel.Lesser) };
var randomSource = Mock.Of<ISurvivalRandomSource>();
var eventLogService = Mock.Of<IPlayerEventLogService>();

// ACT
using var monitor = effectModule.Monitor();
using var monitor = сonditionModule.Monitor();

PersonEffectHelper.UpdateSurvivalEffect(effectModule, stat, segments, randomSource, eventLogService);
PersonConditionHelper.UpdateSurvivalСondition(сonditionModule, stat, segments, randomSource,
eventLogService);

// ARRANGE
effectModuleMock.Verify(x => x.Add(It.IsAny<IPersonEffect>()));
сonditionModuleMock.Verify(x => x.Add(It.IsAny<IPersonEffect>()));
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,16 @@ public class UsePropHelperTests

var personMock = new Mock<IPerson>();

var effectsModuleMock = new Mock<IEffectsModule>();
var effects = new[]
var сonditionsModuleMock = new Mock<IConditionModule>();
var сonditions = new[]
{
new SurvivalStatHazardEffect(effectStatType, SurvivalStatHazardLevel.Max,
Mock.Of<ISurvivalRandomSource>())
};
effectsModuleMock.Setup(x => x.Items).Returns(effects);
personMock.Setup(x => x.GetModule<IEffectsModule>(nameof(IEffectsModule)))
.Returns(effectsModuleMock.Object);
personMock.Setup(x => x.HasModule(nameof(IEffectsModule))).Returns(true);
сonditionsModuleMock.Setup(x => x.Items).Returns(сonditions);
personMock.Setup(x => x.GetModule<IConditionModule>(nameof(IConditionModule)))
.Returns(сonditionsModuleMock.Object);
personMock.Setup(x => x.HasModule(nameof(IConditionModule))).Returns(true);

var actor = Mock.Of<IActor>(x => x.Person == personMock.Object);

Expand Down
4 changes: 2 additions & 2 deletions Zilon.Core/Zilon.Core.Tests/Tactics/SectorTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,8 @@ private Mock<IActor> CreateActorMock()
personMock.Setup(x => x.GetModule<ISurvivalModule>(It.IsAny<string>())).Returns(survivalData);
personMock.Setup(x => x.HasModule(It.Is<string>(x => x == nameof(ISurvivalModule)))).Returns(true);

var effectCollection = new EffectsModule();
personMock.Setup(x => x.GetModule<IEffectsModule>(It.IsAny<string>())).Returns(effectCollection);
var сonditionCollection = new ConditionModule();
personMock.Setup(x => x.GetModule<IConditionModule>(It.IsAny<string>())).Returns(сonditionCollection);

return actorMock;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ public IPerson Create(string personSchemeSid, IFraction fraction)
var equipmentModule = new EquipmentModule(notNullSlots);
person.AddModule(equipmentModule);

var effectsModule = new EffectsModule();
var effectsModule = new ConditionModule();
person.AddModule(effectsModule);

var evolutionModule = new EvolutionModule(SchemeService);
Expand Down
26 changes: 13 additions & 13 deletions Zilon.Core/Zilon.Core/PersonModules/CombatActModule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,33 +21,33 @@ namespace Zilon.Core.PersonModules
public sealed class CombatActModule : ICombatActModule
{
private readonly ITacticalActScheme _defaultActScheme;
private readonly IEffectsModule _effectsModule;
private readonly IEquipmentModule _equipmentModule;
private readonly IEvolutionModule _evolutionModule;
private readonly IConditionModule _сonditionModule;

public CombatActModule(
ITacticalActScheme defaultActScheme,
IEquipmentModule equipmentModule,
IEffectsModule effectsModule,
IConditionModule сonditionModule,
IEvolutionModule evolutionModule)
{
IsActive = true;

_defaultActScheme = defaultActScheme;
_equipmentModule = equipmentModule;
_effectsModule = effectsModule;
_сonditionModule = сonditionModule;
_evolutionModule = evolutionModule;
}

private static IEnumerable<ITacticalAct> CalcActs(ITacticalActScheme defaultActScheme,
IEnumerable<Equipment?> equipments,
IEffectsModule effects,
IConditionModule сonditionModule,
IEnumerable<IPerk> perks)
{
var defaultAct = CreateTacticalAct(defaultActScheme, null, effects, perks);
var defaultAct = CreateTacticalAct(defaultActScheme, null, сonditionModule, perks);
yield return defaultAct;

var equipmentActs = CalcActsFromEquipments(equipments, effects, perks);
var equipmentActs = CalcActsFromEquipments(equipments, сonditionModule, perks);
foreach (var act in equipmentActs)
{
yield return act;
Expand All @@ -56,7 +56,7 @@ public sealed class CombatActModule : ICombatActModule

private static IEnumerable<ITacticalAct> CalcActsFromEquipments(
IEnumerable<Equipment?> equipments,
IEffectsModule effects,
IConditionModule сondition,
IEnumerable<IPerk> perks)
{
if (equipments == null)
Expand All @@ -73,7 +73,7 @@ public sealed class CombatActModule : ICombatActModule

foreach (var actScheme in equipment.Acts)
{
var act = CreateTacticalAct(actScheme, equipment, effects, perks);
var act = CreateTacticalAct(actScheme, equipment, сondition, perks);

yield return act;
}
Expand Down Expand Up @@ -141,11 +141,11 @@ public sealed class CombatActModule : ICombatActModule
}
}

private static void CalcSurvivalHazardOnTacticalAct(IEffectsModule effects,
private static void CalcSurvivalHazardOnTacticalAct(IConditionModule сondition,
ref int toHitModifierValue,
ref int efficientModifierValue)
{
var greaterSurvivalEffect = effects.Items.OfType<SurvivalStatHazardEffect>()
var greaterSurvivalEffect = сondition.Items.OfType<SurvivalStatHazardEffect>()
.OrderByDescending(x => x.Level).FirstOrDefault();

if (greaterSurvivalEffect == null)
Expand All @@ -172,13 +172,13 @@ public sealed class CombatActModule : ICombatActModule

private static ITacticalAct CreateTacticalAct([NotNull] ITacticalActScheme scheme,
[CanBeNull] Equipment? equipment,
[NotNull] IEffectsModule effects,
[NotNull] IConditionModule сonditionModule,
[NotNull][ItemNotNull] IEnumerable<IPerk> perks)
{
var toHitModifierValue = 0;
var efficientModifierValue = 0;
var efficientRollUnmodified = scheme.Stats?.Efficient ?? new Roll(1, 1);
CalcSurvivalHazardOnTacticalAct(effects, ref toHitModifierValue, ref efficientModifierValue);
CalcSurvivalHazardOnTacticalAct(сonditionModule, ref toHitModifierValue, ref efficientModifierValue);
CalcPerksBonusesOnTacticalAct(perks, equipment, ref toHitModifierValue, ref efficientModifierValue);

var toHitRoll = CreateTacticalActRoll(6, 1, toHitModifierValue);
Expand Down Expand Up @@ -293,7 +293,7 @@ private IEnumerable<IPerk> GetPerksSafe()
public IEnumerable<ITacticalAct> CalcCombatActs()
{
var perks = GetPerksSafe();
return CalcActs(_defaultActScheme, _equipmentModule, _effectsModule, perks);
return CalcActs(_defaultActScheme, _equipmentModule, _сonditionModule, perks);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@

namespace Zilon.Core.PersonModules
{
public class EffectsModule : IEffectsModule
public class ConditionModule : IConditionModule
{
private readonly List<IPersonEffect> _items;

public EffectsModule()
public ConditionModule()
{
_items = new List<IPersonEffect>();
IsActive = true;
Expand All @@ -33,14 +33,14 @@ private void DoRemoved(IPersonEffect effect)
Removed?.Invoke(this, args);
}

private void Effect_Changed(object sender, EventArgs e)
private void Сondition_Changed(object sender, EventArgs e)
{
var effect = (IPersonEffect)sender;
DoChanged(effect);
}

public IEnumerable<IPersonEffect> Items => _items;
public string Key => nameof(IEffectsModule);
public string Key => nameof(IConditionModule);
public bool IsActive { get; set; }

public void Add(IPersonEffect effect)
Expand All @@ -52,7 +52,7 @@ public void Add(IPersonEffect effect)

_items.Add(effect);

effect.Changed += Effect_Changed;
effect.Changed += Сondition_Changed;
DoAdd(effect);
}

Expand All @@ -64,7 +64,7 @@ public void Remove(IPersonEffect effect)
}

_items.Remove(effect);
effect.Changed -= Effect_Changed;
effect.Changed -= Сondition_Changed;
DoRemoved(effect);
}

Expand Down
Loading

0 comments on commit 8ba8f65

Please sign in to comment.