public AilmentStepSubDefinition ToAilmentStep(GameData gameData) { if (gameData == null) { throw new ArgumentNullException(nameof(gameData)); } var newAS = new AilmentStepSubDefinition(); newAS.stepType = StepType; newAS.stringValue = StringValue; newAS.intValue = IntValue; newAS.boolValue = BoolValue; newAS.comparisonType = ComparisonType; newAS.moveModifier = MoveModifier; newAS.giftModifier = GiftModifier; newAS.flagType = FlagType; newAS.abilityDefinition = gameData.Abilities.Get(AbilityDefinitionID); if (MatchModifierInfo != null) { newAS.matchModifier = MatchModifierInfo.ToMatchModifier(gameData); } if (MoveConditionInfos != null) { newAS.moveConditions = MoveConditionInfos.Select(x => x.ToMoveCondition(gameData)).ToList(); } if (MatchConditionInfos != null) { newAS.matchConditions = MatchConditionInfos.Select(x => x.ToMatchCondition(gameData)).ToList(); } if (GiftConditionInfos != null) { newAS.giftConditions = GiftConditionInfos.Select(x => x.ToGiftCondition(gameData)).ToList(); } if (GirlConditionInfos != null) { newAS.girlConditions = GirlConditionInfos.Select(x => x.ToGirlCondition(gameData)).ToList(); } return(newAS); }
public AilmentStepInfo(AilmentStepSubDefinition ailmentStep) { if (ailmentStep == null) { throw new ArgumentNullException(nameof(ailmentStep)); } StepType = ailmentStep.stepType; StringValue = ailmentStep.stringValue; IntValue = ailmentStep.intValue; BoolValue = ailmentStep.boolValue; ComparisonType = ailmentStep.comparisonType; MoveModifier = ailmentStep.moveModifier; GiftModifier = ailmentStep.giftModifier; FlagType = ailmentStep.flagType; AbilityDefinitionID = ailmentStep.abilityDefinition?.id ?? -1; if (ailmentStep.matchModifier != null) { MatchModifierInfo = new MatchModifierInfo(ailmentStep.matchModifier); } if (ailmentStep.matchConditions != null) { MatchConditionInfos = ailmentStep.matchConditions.Select(x => new MatchConditionInfo(x)).ToList(); } if (ailmentStep.giftConditions != null) { GiftConditionInfos = ailmentStep.giftConditions.Select(x => new GiftConditionInfo(x)).ToList(); } if (ailmentStep.girlConditions != null) { GirlConditionInfos = ailmentStep.girlConditions.Select(x => new GirlConditionInfo(x)).ToList(); } if (ailmentStep.moveConditions != null) { MoveConditionInfos = ailmentStep.moveConditions.Select(x => new MoveConditionInfo(x)).ToList(); } }