private Mock <IActor> CreateActorMock() { var actorMock = new Mock <IActor>(); var personMock = new Mock <IPerson>(); var person = personMock.Object; actorMock.SetupGet(x => x.Person).Returns(person); _survivalDataMock = new Mock <ISurvivalModule>(); var survivalStats = new[] { new SurvivalStat(0, -10, 10) { Type = SurvivalStatType.Satiety, Rate = 1 } }; _survivalDataMock.Setup(x => x.Stats).Returns(survivalStats); var survivalData = _survivalDataMock.Object; 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); return(actorMock); }
void Start() { EffectsModule = GetComponent <SpellInstance>().spellCaster.GetComponent <EffectsModule>(); AttackModule = EffectsModule.gameObject.GetComponent <AttackModule>(); AttackModule.OnAttackEnd += LoseBoost; EffectsModule.ApplyTemporaryEffect(Effect); }
public IPerson Create(string personSchemeSid) { var personScheme = _schemeService.GetScheme <IPersonScheme>(personSchemeSid); var person = new HumanPerson(personScheme); var attributeModule = RollAndAddPersonAttributesToPerson(person); var movingModule = new MovingModule(attributeModule); person.AddModule(movingModule); var inventoryModule = new InventoryModule(); person.AddModule(inventoryModule); var equipmentModule = new EquipmentModule(personScheme.Slots); person.AddModule(equipmentModule); var effectsModule = new EffectsModule(); person.AddModule(effectsModule); var evolutionModule = new EvolutionModule(_schemeService); person.AddModule(evolutionModule); RollTraitPerks(evolutionModule); var survivalModule = new HumanSurvivalModule(personScheme, _survivalRandomSource, attributeModule, effectsModule, evolutionModule, equipmentModule) { PlayerEventLogService = PlayerEventLogService }; person.AddModule(survivalModule); RollStartEquipment(inventoryModule, person); var defaultActScheme = _schemeService.GetScheme <ITacticalActScheme>(person.Scheme.DefaultAct); var combatActModule = new CombatActModule(defaultActScheme, equipmentModule, effectsModule, evolutionModule); person.AddModule(combatActModule); var combatStatsModule = new CombatStatsModule(evolutionModule, equipmentModule); person.AddModule(combatStatsModule); var diseaseModule = new DiseaseModule(); person.AddModule(diseaseModule); person.PlayerEventLogService = PlayerEventLogService; return(person); }
public IPerson Create(string personSchemeSid, IFraction fraction) { var personScheme = _schemeService.GetScheme <IPersonScheme>(personSchemeSid); var person = new HumanPerson(personScheme, fraction); var attributes = new[] { new PersonAttribute(PersonAttributeType.PhysicalStrength, 10), new PersonAttribute(PersonAttributeType.Dexterity, 10), new PersonAttribute(PersonAttributeType.Perception, 10), new PersonAttribute(PersonAttributeType.Constitution, 10) }; var attributesModule = new AttributesModule(attributes); person.AddModule(attributesModule); var inventoryModule = new InventoryModule(); person.AddModule(inventoryModule); var equipmentModule = new EquipmentModule(personScheme.Slots); person.AddModule(equipmentModule); var effectsModule = new EffectsModule(); person.AddModule(effectsModule); var evolutionModule = new EvolutionModule(_schemeService); person.AddModule(evolutionModule); var survivalModule = new HumanSurvivalModule(personScheme, _survivalRandomSource, attributesModule, effectsModule, evolutionModule, equipmentModule); person.AddModule(survivalModule); var defaultActScheme = _schemeService.GetScheme <ITacticalActScheme>(person.Scheme.DefaultAct); var combatActModule = new CombatActModule(defaultActScheme, equipmentModule, effectsModule, evolutionModule); person.AddModule(combatActModule); var combatStatsModule = new CombatStatsModule(evolutionModule, equipmentModule); person.AddModule(combatStatsModule); var diseaseModule = new DiseaseModule(effectsModule); person.AddModule(diseaseModule); return(person); }
private void Start() { EffectsModule = GetComponent <EffectsModule>(); EffectsModule.ActiveEffects.Clear(); if (UseScriptableObjectForOwnedSkills) { EffectsModule.ActiveEffects = OwnedSkills.GetListOfEffectsInSkills(); } else { EffectsModule.ActiveEffects = GetListOfEffectsInListOfSkills(ListOfSkills); } EffectsModule.ApplyActiveEffects(); }
void Start() { EffectsModule = GetComponent <SpellInstance>().spellCaster.GetComponent <EffectsModule>(); EffectsModule.ApplyTemporaryEffect(Effect); StartCoroutine(LoseBoost()); }