public override void Process(Entity entity) { if (!ccBreakEventConfig.enable) { return; } StatsComponent statsComponent = entity.GetComponent <StatsComponent>(); if (statsComponent.BasicStatsFromConfig.ShowRole() != EntityRole.Hero) { return; } JustCreatedModifiersComponent justCreatedModifiers = entity.GetComponent <JustCreatedModifiersComponent>(); bool found = false; Modifier triggerModifier = null; foreach (Modifier modifier in justCreatedModifiers.modifiers) { if (!CcBreakByInputModifier.interested.Contains(modifier.Type())) { continue; } triggerModifier = modifier; found = true; break; } if (!found) { return; } EquippedSkillsComponent equippedSkills = entity.GetComponent <EquippedSkillsComponent>(); if (!equippedSkills.EquippedSkills.IsPassiveRecovery2Equipped()) { return; } SkillComponent skillComponent = entity.GetComponent <SkillComponent>(); CcBreakByInputInfo info = new CcBreakByInputInfo(Target.Target, modifierConfig, null); Character character = skillComponent.Character; character.AddModifier(new CcBreakByInputModifier( info, entity, entity, triggerModifier, ccBreakEventConfig, environment, modifierInteractionCollection )); }
public CcBreakByInputModifier(ModifierInfo info, Entity casterEntity, Entity targetEntity, Modifier parentModifier, CcBreakByInputModifierEventConfig eventConfig, Environment environment, CollectionOfInteractions modifierInteractionCollection) : base(info, casterEntity, targetEntity, environment, modifierInteractionCollection) { this.info = (CcBreakByInputInfo)info; this.parentModifier = parentModifier; this.eventConfig = eventConfig; this.environment = environment; this.modifierInteractionCollection = modifierInteractionCollection; mainLifetimes.Add(new ParentModifierLifetime(parentModifier)); smComponent = targetEntity.GetComponent <HeroStateMachineComponent>(); if (smComponent == null) { smComponent = targetEntity.GetComponent <MonsterStateMachineComponent>(); } userInput = (DefaultUserInput)smComponent.UserInput; EquippedSkills equippedSkills = targetEntity.GetComponent <EquippedSkillsComponent>().EquippedSkills; skillId = equippedSkills.PassiveRecovery2.SkillId; character = targetEntity.GetComponent <SkillComponent>().Character; }