Exemplo n.º 1
0
        public AbilityStepSubDefinition ToAbilityStep(GameData gameData, AssetProvider assetProvider)
        {
            if (gameData == null)
            {
                throw new ArgumentNullException(nameof(gameData));
            }
            if (assetProvider == null)
            {
                throw new ArgumentNullException(nameof(assetProvider));
            }

            var newDef = new AbilityStepSubDefinition();

            newDef.stepType          = StepType;
            newDef.handle            = Handle;
            newDef.valueRef          = ValueRef;
            newDef.puzzleSetRef      = PuzzleSetRef;
            newDef.minRequirement    = MinRequirement;
            newDef.resourceType      = ResourceType;
            newDef.affectionType     = AffectionType;
            newDef.negative          = Negative;
            newDef.oppositeGirl      = OppositeGirl;
            newDef.valueType         = ValueType;
            newDef.min               = Min;
            newDef.max               = Max;
            newDef.combineValues     = CombineValues;
            newDef.combineOperation  = CombineOperation;
            newDef.resourceMaxValue  = ResourceMaxValue;
            newDef.girlValueType     = GirlValueType;
            newDef.conditionType     = ConditionType;
            newDef.percentOfValue    = PercentOfValue;
            newDef.orCheck           = OrCheck;
            newDef.limit             = Limit;
            newDef.merged            = Merged;
            newDef.flatMerge         = FlatMerge;
            newDef.weighted          = Weighted;
            newDef.visualEffectType  = VisualEffectType;
            newDef.energyType        = EnergyType;
            newDef.splashText        = SplashText;
            newDef.ailmentItemType   = AilmentItemType;
            newDef.ailmentAlterType  = AilmentAlterType;
            newDef.ailmentTargetType = AilmentTargetType;
            newDef.ailmentIndex      = AilmentIndex;

            newDef.energyDefinition  = gameData.Energy.Get(EnergyDefinitionID);
            newDef.ailmentDefinition = gameData.Ailments.Get(AilmentDefinitionID);
            newDef.energyDefinition  = gameData.Energy.Get(EnergyDefinitionID);

            if (AudioKlipInfo != null)
            {
                newDef.audioKlip = AudioKlipInfo.ToAudioKlip(assetProvider);
            }
            if (TokenConditionSetInfo != null)
            {
                newDef.tokenConditionSet = TokenConditionSetInfo.ToTokenConditionSet(gameData);
            }

            if (TokenDefinitionIDs != null)
            {
                newDef.tokenDefinitions = TokenDefinitionIDs.Select(x => gameData.Tokens.Get(x)).ToList();
            }

            return(newDef);
        }